From 6d4592ab67ec75670e3da7ee0aca468d528e8e11 Mon Sep 17 00:00:00 2001 From: Ringo De Smet Date: Tue, 29 Oct 2024 10:28:16 +0100 Subject: [PATCH 1/2] make tfgen --- .../cmd/pulumi-resource-scaleway/schema.json | 885 +++-- provider/go.mod | 16 +- provider/go.sum | 36 +- provider/resources.go | 12 + provider/shim/go.mod | 14 +- provider/shim/go.sum | 36 +- sdk/nodejs/package-lock.json | 3303 +++++++++++++++++ 7 files changed, 3980 insertions(+), 322 deletions(-) create mode 100644 sdk/nodejs/package-lock.json diff --git a/provider/cmd/pulumi-resource-scaleway/schema.json b/provider/cmd/pulumi-resource-scaleway/schema.json index baa3a57a..29377cc2 100644 --- a/provider/cmd/pulumi-resource-scaleway/schema.json +++ b/provider/cmd/pulumi-resource-scaleway/schema.json @@ -300,23 +300,23 @@ "properties": { "alertmanagerUrl": { "type": "string", - "description": "The alertmanager URL.\n" + "description": "(Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager).\n" }, "grafanaUrl": { "type": "string", - "description": "The grafana URL.\n" + "description": "(Deprecated) URL for Grafana.\n" }, "logsUrl": { "type": "string", - "description": "The logs URL.\n" + "description": "(Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console.\n" }, "metricsUrl": { "type": "string", - "description": "The metrics URL.\n" + "description": "(Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console.\n" }, "tracesUrl": { "type": "string", - "description": "The traces URL.\n" + "description": "(Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console.\n" } }, "type": "object", @@ -357,47 +357,47 @@ "properties": { "queryLogs": { "type": "boolean", - "description": "Query logs.\n", + "description": "Permission to query logs.\n", "willReplaceOnChanges": true }, "queryMetrics": { "type": "boolean", - "description": "Query metrics.\n", + "description": "Permission to query metrics.\n", "willReplaceOnChanges": true }, "queryTraces": { "type": "boolean", - "description": "Query traces.\n", + "description": "Permission to query traces.\n", "willReplaceOnChanges": true }, "setupAlerts": { "type": "boolean", - "description": "Setup alerts.\n", + "description": "Permission to set up alerts.\n", "willReplaceOnChanges": true }, "setupLogsRules": { "type": "boolean", - "description": "Setup logs rules.\n", + "description": "Permission to set up logs rules.\n", "willReplaceOnChanges": true }, "setupMetricsRules": { "type": "boolean", - "description": "Setup metrics rules.\n", + "description": "Permission to set up metrics rules.\n", "willReplaceOnChanges": true }, "writeLogs": { "type": "boolean", - "description": "Write logs.\n", + "description": "Permission to write logs.\n", "willReplaceOnChanges": true }, "writeMetrics": { "type": "boolean", - "description": "Write metrics.\n", + "description": "Permission to write metrics.\n", "willReplaceOnChanges": true }, "writeTraces": { "type": "boolean", - "description": "Write traces.\n", + "description": "Permission to write traces.\n", "willReplaceOnChanges": true } }, @@ -913,7 +913,7 @@ }, "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\n" + "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" } }, "type": "object", @@ -959,7 +959,7 @@ "properties": { "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\n" + "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" }, "subnet": { "type": "string", @@ -1065,6 +1065,10 @@ }, "scaleway:index/IamPolicyRule:IamPolicyRule": { "properties": { + "condition": { + "type": "string", + "description": "The condition of the IAM policy.\n" + }, "organizationId": { "type": "string", "description": "ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.\n" @@ -1838,11 +1842,13 @@ }, "publicIp": { "type": "string", - "description": "The public IPv4.\n" + "description": "The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source)\n", + "deprecationMessage": "Please use the official Kubernetes provider and the kubernetes_nodes data source" }, "publicIpV6": { "type": "string", - "description": "The public IPv6.\n" + "description": "The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source)\n", + "deprecationMessage": "Please use the official Kubernetes provider and the kubernetes_nodes data source" }, "status": { "type": "string", @@ -2145,7 +2151,8 @@ "properties": { "dhcpConfig": { "type": "boolean", - "description": "(Optional) Set to `true` if you want to let DHCP assign IP addresses. See below.\n" + "description": "(Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below.\n", + "deprecationMessage": "dhcp_config field is deprecated, please use `private_network_id` or `ipam_ids` instead" }, "ipamIds": { "type": "string", @@ -2158,7 +2165,7 @@ "staticConfig": { "type": "string", "description": "(Deprecated) Please use `ipam_ids`. Define a local ip address of your choice for the load balancer instance.\n", - "deprecationMessage": "static_config field is deprecated, please use dhcp_config instead" + "deprecationMessage": "static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead" }, "status": { "type": "string", @@ -2610,6 +2617,26 @@ } } }, + "scaleway:index/SecretEphemeralPolicy:SecretEphemeralPolicy": { + "properties": { + "action": { + "type": "string", + "description": "Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants).\n" + }, + "expiresOnceAccessed": { + "type": "boolean", + "description": "True if the secret version expires after a single user access.\n" + }, + "ttl": { + "type": "string", + "description": "Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: \"30m\", \"24h\").\n" + } + }, + "type": "object", + "required": [ + "action" + ] + }, "scaleway:index/TemDomainReputation:TemDomainReputation": { "properties": { "previousScore": { @@ -3191,19 +3218,19 @@ "properties": { "alertmanagerUrl": { "type": "string", - "description": "The alertmanager URL\n" + "description": "(Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager).\n" }, "grafanaUrl": { "type": "string", - "description": "The grafana URL\n" + "description": "(Deprecated) URL for Grafana.\n" }, "logsUrl": { "type": "string", - "description": "The logs URL\n" + "description": "(Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console.\n" }, "metricsUrl": { "type": "string", - "description": "The metrics URL\n" + "description": "(Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console.\n" }, "tracesUrl": { "type": "string", @@ -3449,7 +3476,7 @@ }, "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\nCannot be used with `record_id`.\n" + "description": "The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.\n" } }, "type": "object", @@ -3508,7 +3535,7 @@ "properties": { "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\nCannot be used with `record_id`.\n" + "description": "The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.\n" }, "subnet": { "type": "string", @@ -3865,7 +3892,8 @@ }, "bootscriptId": { "type": "string", - "description": "The ID of the bootscript.\n" + "description": "The ID of the bootscript.\n", + "deprecationMessage": "bootscript are not supported" }, "enableDynamicIp": { "type": "boolean", @@ -3920,7 +3948,8 @@ }, "publicIp": { "type": "string", - "description": "The public IP address of the server.\n" + "description": "The public IP address of the server.\n", + "deprecationMessage": "Use public_ips instead" }, "publicIps": { "type": "array", @@ -5736,6 +5765,33 @@ } } }, + "scaleway:index/getSecretEphemeralPolicy:getSecretEphemeralPolicy": { + "properties": { + "action": { + "type": "string", + "description": "Action to perform when the version of a secret expires.\n" + }, + "expiresOnceAccessed": { + "type": "boolean", + "description": "True if the secret version expires after a single user access.\n" + }, + "ttl": { + "type": "string", + "description": "Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format\n" + } + }, + "type": "object", + "required": [ + "action", + "expiresOnceAccessed", + "ttl" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "scaleway:index/getTemDomainReputation:getTemDomainReputation": { "properties": { "previousScore": { @@ -6911,15 +6967,15 @@ } }, "scaleway:index/blockSnapshot:BlockSnapshot": { - "description": "Creates and manages Scaleway Block Snapshots.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/).\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 blockVolume = new scaleway.BlockVolume(\"block_volume\", {\n iops: 5000,\n name: \"some-volume-name\",\n sizeInGb: 20,\n});\nconst blockSnapshot = new scaleway.BlockSnapshot(\"block_snapshot\", {\n name: \"some-snapshot-name\",\n volumeId: blockVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nblock_volume = scaleway.BlockVolume(\"block_volume\",\n iops=5000,\n name=\"some-volume-name\",\n size_in_gb=20)\nblock_snapshot = scaleway.BlockSnapshot(\"block_snapshot\",\n name=\"some-snapshot-name\",\n volume_id=block_volume.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 blockVolume = new Scaleway.BlockVolume(\"block_volume\", new()\n {\n Iops = 5000,\n Name = \"some-volume-name\",\n SizeInGb = 20,\n });\n\n var blockSnapshot = new Scaleway.BlockSnapshot(\"block_snapshot\", new()\n {\n Name = \"some-snapshot-name\",\n VolumeId = blockVolume.Id,\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\tblockVolume, err := scaleway.NewBlockVolume(ctx, \"block_volume\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tName: pulumi.String(\"some-volume-name\"),\n\t\t\tSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBlockSnapshot(ctx, \"block_snapshot\", \u0026scaleway.BlockSnapshotArgs{\n\t\t\tName: pulumi.String(\"some-snapshot-name\"),\n\t\t\tVolumeId: blockVolume.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\nimport com.pulumi.scaleway.BlockSnapshot;\nimport com.pulumi.scaleway.BlockSnapshotArgs;\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 blockVolume = new BlockVolume(\"blockVolume\", BlockVolumeArgs.builder()\n .iops(5000)\n .name(\"some-volume-name\")\n .sizeInGb(20)\n .build());\n\n var blockSnapshot = new BlockSnapshot(\"blockSnapshot\", BlockSnapshotArgs.builder()\n .name(\"some-snapshot-name\")\n .volumeId(blockVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n blockVolume:\n type: scaleway:BlockVolume\n name: block_volume\n properties:\n iops: 5000\n name: some-volume-name\n sizeInGb: 20\n blockSnapshot:\n type: scaleway:BlockSnapshot\n name: block_snapshot\n properties:\n name: some-snapshot-name\n volumeId: ${blockVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBlock Snapshots can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/blockSnapshot:BlockSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes.\n\nRefer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.\n\n\n## Example Usage\n\n### Create a snapshot of a Block Storage volume\n\nThe following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst blockVolume = new scaleway.BlockVolume(\"block_volume\", {\n iops: 5000,\n name: \"some-volume-name\",\n sizeInGb: 20,\n});\nconst blockSnapshot = new scaleway.BlockSnapshot(\"block_snapshot\", {\n name: \"some-snapshot-name\",\n volumeId: blockVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nblock_volume = scaleway.BlockVolume(\"block_volume\",\n iops=5000,\n name=\"some-volume-name\",\n size_in_gb=20)\nblock_snapshot = scaleway.BlockSnapshot(\"block_snapshot\",\n name=\"some-snapshot-name\",\n volume_id=block_volume.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 blockVolume = new Scaleway.BlockVolume(\"block_volume\", new()\n {\n Iops = 5000,\n Name = \"some-volume-name\",\n SizeInGb = 20,\n });\n\n var blockSnapshot = new Scaleway.BlockSnapshot(\"block_snapshot\", new()\n {\n Name = \"some-snapshot-name\",\n VolumeId = blockVolume.Id,\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\tblockVolume, err := scaleway.NewBlockVolume(ctx, \"block_volume\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tName: pulumi.String(\"some-volume-name\"),\n\t\t\tSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBlockSnapshot(ctx, \"block_snapshot\", \u0026scaleway.BlockSnapshotArgs{\n\t\t\tName: pulumi.String(\"some-snapshot-name\"),\n\t\t\tVolumeId: blockVolume.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\nimport com.pulumi.scaleway.BlockSnapshot;\nimport com.pulumi.scaleway.BlockSnapshotArgs;\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 blockVolume = new BlockVolume(\"blockVolume\", BlockVolumeArgs.builder()\n .iops(5000)\n .name(\"some-volume-name\")\n .sizeInGb(20)\n .build());\n\n var blockSnapshot = new BlockSnapshot(\"blockSnapshot\", BlockSnapshotArgs.builder()\n .name(\"some-snapshot-name\")\n .volumeId(blockVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n blockVolume:\n type: scaleway:BlockVolume\n name: block_volume\n properties:\n iops: 5000\n name: some-volume-name\n sizeInGb: 20\n blockSnapshot:\n type: scaleway:BlockSnapshot\n name: block_snapshot\n properties:\n name: some-snapshot-name\n volumeId: ${blockVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`).\n\nbash\n\n```sh\n$ pulumi import scaleway:index/blockSnapshot:BlockSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "name": { "type": "string", - "description": "The name of the snapshot. If not provided it will be randomly generated.\n" + "description": "The name of the snapshot. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the snapshot is associated with.\n" + "description": "). The ID of the Scaleway Project the snapshot is associated with.\n" }, "tags": { "type": "array", @@ -6934,7 +6990,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the snapshot should be created.\n" + "description": "). The zone in which the snapshot should be created.\n" } }, "required": [ @@ -6946,11 +7002,11 @@ "inputProperties": { "name": { "type": "string", - "description": "The name of the snapshot. If not provided it will be randomly generated.\n" + "description": "The name of the snapshot. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the snapshot is associated with.\n", + "description": "). The ID of the Scaleway Project the snapshot is associated with.\n", "willReplaceOnChanges": true }, "tags": { @@ -6966,7 +7022,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the snapshot should be created.\n", + "description": "). The zone in which the snapshot should be created.\n", "willReplaceOnChanges": true } }, @@ -6978,11 +7034,11 @@ "properties": { "name": { "type": "string", - "description": "The name of the snapshot. If not provided it will be randomly generated.\n" + "description": "The name of the snapshot. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the snapshot is associated with.\n", + "description": "). The ID of the Scaleway Project the snapshot is associated with.\n", "willReplaceOnChanges": true }, "tags": { @@ -6998,7 +7054,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the snapshot should be created.\n", + "description": "). The zone in which the snapshot should be created.\n", "willReplaceOnChanges": true } }, @@ -7006,23 +7062,23 @@ } }, "scaleway:index/blockVolume:BlockVolume": { - "description": "Creates and manages Scaleway Block Volumes.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/).\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 blockVolume = new scaleway.BlockVolume(\"block_volume\", {\n iops: 5000,\n name: \"some-volume-name\",\n sizeInGb: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nblock_volume = scaleway.BlockVolume(\"block_volume\",\n iops=5000,\n name=\"some-volume-name\",\n 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 blockVolume = new Scaleway.BlockVolume(\"block_volume\", new()\n {\n Iops = 5000,\n Name = \"some-volume-name\",\n SizeInGb = 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.NewBlockVolume(ctx, \"block_volume\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tName: pulumi.String(\"some-volume-name\"),\n\t\t\tSizeInGb: 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.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\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 blockVolume = new BlockVolume(\"blockVolume\", BlockVolumeArgs.builder()\n .iops(5000)\n .name(\"some-volume-name\")\n .sizeInGb(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n blockVolume:\n type: scaleway:BlockVolume\n name: block_volume\n properties:\n iops: 5000\n name: some-volume-name\n sizeInGb: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst base = new scaleway.BlockVolume(\"base\", {\n name: \"block-volume-base\",\n iops: 5000,\n sizeInGb: 20,\n});\nconst main = new scaleway.BlockSnapshot(\"main\", {\n name: \"block-volume-from-snapshot\",\n volumeId: base.id,\n});\nconst mainBlockVolume = new scaleway.BlockVolume(\"main\", {\n name: \"block-volume-from-snapshot\",\n iops: 5000,\n snapshotId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nbase = scaleway.BlockVolume(\"base\",\n name=\"block-volume-base\",\n iops=5000,\n size_in_gb=20)\nmain = scaleway.BlockSnapshot(\"main\",\n name=\"block-volume-from-snapshot\",\n volume_id=base.id)\nmain_block_volume = scaleway.BlockVolume(\"main\",\n name=\"block-volume-from-snapshot\",\n iops=5000,\n snapshot_id=main.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 @base = new Scaleway.BlockVolume(\"base\", new()\n {\n Name = \"block-volume-base\",\n Iops = 5000,\n SizeInGb = 20,\n });\n\n var main = new Scaleway.BlockSnapshot(\"main\", new()\n {\n Name = \"block-volume-from-snapshot\",\n VolumeId = @base.Id,\n });\n\n var mainBlockVolume = new Scaleway.BlockVolume(\"main\", new()\n {\n Name = \"block-volume-from-snapshot\",\n Iops = 5000,\n SnapshotId = main.Id,\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\tbase, err := scaleway.NewBlockVolume(ctx, \"base\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tName: pulumi.String(\"block-volume-base\"),\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := scaleway.NewBlockSnapshot(ctx, \"main\", \u0026scaleway.BlockSnapshotArgs{\n\t\t\tName: pulumi.String(\"block-volume-from-snapshot\"),\n\t\t\tVolumeId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBlockVolume(ctx, \"main\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tName: pulumi.String(\"block-volume-from-snapshot\"),\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tSnapshotId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\nimport com.pulumi.scaleway.BlockSnapshot;\nimport com.pulumi.scaleway.BlockSnapshotArgs;\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 base = new BlockVolume(\"base\", BlockVolumeArgs.builder()\n .name(\"block-volume-base\")\n .iops(5000)\n .sizeInGb(20)\n .build());\n\n var main = new BlockSnapshot(\"main\", BlockSnapshotArgs.builder()\n .name(\"block-volume-from-snapshot\")\n .volumeId(base.id())\n .build());\n\n var mainBlockVolume = new BlockVolume(\"mainBlockVolume\", BlockVolumeArgs.builder()\n .name(\"block-volume-from-snapshot\")\n .iops(5000)\n .snapshotId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BlockVolume\n properties:\n name: block-volume-base\n iops: 5000\n sizeInGb: 20\n main:\n type: scaleway:BlockSnapshot\n properties:\n name: block-volume-from-snapshot\n volumeId: ${base.id}\n mainBlockVolume:\n type: scaleway:BlockVolume\n name: main\n properties:\n name: block-volume-from-snapshot\n iops: 5000\n snapshotId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBlock Volumes can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/blockVolume:BlockVolume block_volume fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.BlockVolume` resource is used to create and manage Scaleway Block Storage volumes.\n\nRefer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.\n\n\n## Example Usage\n\n### Create a Block Storage volume\n\nThe following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst blockVolume = new scaleway.BlockVolume(\"block_volume\", {\n iops: 5000,\n name: \"some-volume-name\",\n sizeInGb: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nblock_volume = scaleway.BlockVolume(\"block_volume\",\n iops=5000,\n name=\"some-volume-name\",\n 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 blockVolume = new Scaleway.BlockVolume(\"block_volume\", new()\n {\n Iops = 5000,\n Name = \"some-volume-name\",\n SizeInGb = 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.NewBlockVolume(ctx, \"block_volume\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tName: pulumi.String(\"some-volume-name\"),\n\t\t\tSizeInGb: 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.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\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 blockVolume = new BlockVolume(\"blockVolume\", BlockVolumeArgs.builder()\n .iops(5000)\n .name(\"some-volume-name\")\n .sizeInGb(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n blockVolume:\n type: scaleway:BlockVolume\n name: block_volume\n properties:\n iops: 5000\n name: some-volume-name\n sizeInGb: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst base = new scaleway.BlockVolume(\"base\", {\n name: \"block-volume-base\",\n iops: 5000,\n sizeInGb: 20,\n});\nconst main = new scaleway.BlockSnapshot(\"main\", {\n name: \"block-volume-from-snapshot\",\n volumeId: base.id,\n});\nconst mainBlockVolume = new scaleway.BlockVolume(\"main\", {\n name: \"block-volume-from-snapshot\",\n iops: 5000,\n snapshotId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nbase = scaleway.BlockVolume(\"base\",\n name=\"block-volume-base\",\n iops=5000,\n size_in_gb=20)\nmain = scaleway.BlockSnapshot(\"main\",\n name=\"block-volume-from-snapshot\",\n volume_id=base.id)\nmain_block_volume = scaleway.BlockVolume(\"main\",\n name=\"block-volume-from-snapshot\",\n iops=5000,\n snapshot_id=main.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 @base = new Scaleway.BlockVolume(\"base\", new()\n {\n Name = \"block-volume-base\",\n Iops = 5000,\n SizeInGb = 20,\n });\n\n var main = new Scaleway.BlockSnapshot(\"main\", new()\n {\n Name = \"block-volume-from-snapshot\",\n VolumeId = @base.Id,\n });\n\n var mainBlockVolume = new Scaleway.BlockVolume(\"main\", new()\n {\n Name = \"block-volume-from-snapshot\",\n Iops = 5000,\n SnapshotId = main.Id,\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\tbase, err := scaleway.NewBlockVolume(ctx, \"base\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tName: pulumi.String(\"block-volume-base\"),\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := scaleway.NewBlockSnapshot(ctx, \"main\", \u0026scaleway.BlockSnapshotArgs{\n\t\t\tName: pulumi.String(\"block-volume-from-snapshot\"),\n\t\t\tVolumeId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBlockVolume(ctx, \"main\", \u0026scaleway.BlockVolumeArgs{\n\t\t\tName: pulumi.String(\"block-volume-from-snapshot\"),\n\t\t\tIops: pulumi.Int(5000),\n\t\t\tSnapshotId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.BlockVolume;\nimport com.pulumi.scaleway.BlockVolumeArgs;\nimport com.pulumi.scaleway.BlockSnapshot;\nimport com.pulumi.scaleway.BlockSnapshotArgs;\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 base = new BlockVolume(\"base\", BlockVolumeArgs.builder()\n .name(\"block-volume-base\")\n .iops(5000)\n .sizeInGb(20)\n .build());\n\n var main = new BlockSnapshot(\"main\", BlockSnapshotArgs.builder()\n .name(\"block-volume-from-snapshot\")\n .volumeId(base.id())\n .build());\n\n var mainBlockVolume = new BlockVolume(\"mainBlockVolume\", BlockVolumeArgs.builder()\n .name(\"block-volume-from-snapshot\")\n .iops(5000)\n .snapshotId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BlockVolume\n properties:\n name: block-volume-base\n iops: 5000\n sizeInGb: 20\n main:\n type: scaleway:BlockSnapshot\n properties:\n name: block-volume-from-snapshot\n volumeId: ${base.id}\n mainBlockVolume:\n type: scaleway:BlockVolume\n name: main\n properties:\n name: block-volume-from-snapshot\n iops: 5000\n snapshotId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/blockVolume:BlockVolume block_volume fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "iops": { "type": "integer", - "description": "The maximum IO/s expected, must match available options.\n" + "description": "The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.\n" }, "name": { "type": "string", - "description": "The name of the volume. If not provided it will be randomly generated.\n" + "description": "The name of the volume. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the volume is associated with.\n" + "description": "). The ID of the Project the volume is associated with.\n" }, "sizeInGb": { "type": "integer", - "description": "The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" + "description": "The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" }, "snapshotId": { "type": "string", @@ -7037,7 +7093,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the volume should be created.\n" + "description": "). The zone in which the volume should be created.\n" } }, "required": [ @@ -7050,21 +7106,21 @@ "inputProperties": { "iops": { "type": "integer", - "description": "The maximum IO/s expected, must match available options.\n", + "description": "The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.\n", "willReplaceOnChanges": true }, "name": { "type": "string", - "description": "The name of the volume. If not provided it will be randomly generated.\n" + "description": "The name of the volume. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the volume is associated with.\n", + "description": "). The ID of the Project the volume is associated with.\n", "willReplaceOnChanges": true }, "sizeInGb": { "type": "integer", - "description": "The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" + "description": "The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" }, "snapshotId": { "type": "string", @@ -7080,7 +7136,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the volume should be created.\n", + "description": "). The zone in which the volume should be created.\n", "willReplaceOnChanges": true } }, @@ -7092,21 +7148,21 @@ "properties": { "iops": { "type": "integer", - "description": "The maximum IO/s expected, must match available options.\n", + "description": "The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.\n", "willReplaceOnChanges": true }, "name": { "type": "string", - "description": "The name of the volume. If not provided it will be randomly generated.\n" + "description": "The name of the volume. If not provided, a name will be randomly generated.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the volume is associated with.\n", + "description": "). The ID of the Project the volume is associated with.\n", "willReplaceOnChanges": true }, "sizeInGb": { "type": "integer", - "description": "The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" + "description": "The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.\n" }, "snapshotId": { "type": "string", @@ -7122,7 +7178,7 @@ }, "zone": { "type": "string", - "description": "`zone`) The zone in which the volume should be created.\n", + "description": "). The zone in which the volume should be created.\n", "willReplaceOnChanges": true } }, @@ -7130,33 +7186,36 @@ } }, "scaleway:index/cockpit:Cockpit": { - "description": "\n\n## Import\n\nCockpits can be imported using the `{project_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpit:Cockpit main 11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "\n\n## Import\n\nThis section explains how to import a Cockpit using its `{project_id}`.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpit:Cockpit main 11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "endpoints": { "type": "array", "items": { "$ref": "#/types/scaleway:index/CockpitEndpoint:CockpitEndpoint" }, - "description": "Endpoints.\n" + "description": "(Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs:\n", + "deprecationMessage": "Please use `scaleway.CockpitSource` instead" }, "plan": { "type": "string", - "description": "Name or ID of the plan to use.\n" + "description": "Name of the plan to use. Available plans are: free, premium, and custom.\n" }, "planId": { "type": "string", - "description": "The ID of the current plan.\n" + "description": "(Deprecated) The ID of the current pricing plan.\n", + "deprecationMessage": "Please use Name only" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n" + "description": ") The ID of the Project the Cockpit is associated with.\n" }, "pushUrls": { "type": "array", "items": { "$ref": "#/types/scaleway:index/CockpitPushUrl:CockpitPushUrl" }, - "description": "Push_url\n" + "description": "Push_url\n", + "deprecationMessage": "Please use `scaleway.CockpitSource` instead" } }, "required": [ @@ -7168,11 +7227,11 @@ "inputProperties": { "plan": { "type": "string", - "description": "Name or ID of the plan to use.\n" + "description": "Name of the plan to use. Available plans are: free, premium, and custom.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true } }, @@ -7184,19 +7243,21 @@ "items": { "$ref": "#/types/scaleway:index/CockpitEndpoint:CockpitEndpoint" }, - "description": "Endpoints.\n" + "description": "(Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs:\n", + "deprecationMessage": "Please use `scaleway.CockpitSource` instead" }, "plan": { "type": "string", - "description": "Name or ID of the plan to use.\n" + "description": "Name of the plan to use. Available plans are: free, premium, and custom.\n" }, "planId": { "type": "string", - "description": "The ID of the current plan.\n" + "description": "(Deprecated) The ID of the current pricing plan.\n", + "deprecationMessage": "Please use Name only" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "pushUrls": { @@ -7204,37 +7265,38 @@ "items": { "$ref": "#/types/scaleway:index/CockpitPushUrl:CockpitPushUrl" }, - "description": "Push_url\n" + "description": "Push_url\n", + "deprecationMessage": "Please use `scaleway.CockpitSource` instead" } }, "type": "object" } }, "scaleway:index/cockpitAlertManager:CockpitAlertManager": { - "description": "Creates and manages Scaleway Cockpit Alert Managers.\n\nFor more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users).\n\n## Import\n\nAlert managers can be imported using the project ID, e.g.\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## 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", - "description": "Alert manager URL.\n" + "description": "The URL of the alert manager.\n" }, "contactPoints": { "type": "array", "items": { "$ref": "#/types/scaleway:index/CockpitAlertManagerContactPoint:CockpitAlertManagerContactPoint" }, - "description": "A list of contact points with email addresses for the alert receivers. Each map should contain a single key email.\n" + "description": "A list of contact points with email addresses that will receive alerts. Each map should contain a single key email.\n" }, "enableManagedAlerts": { "type": "boolean", - "description": "Indicates whether the alert manager should be enabled. Defaults to true.\n" + "description": "Specifies whether the alert manager should be enabled. Defaults to true.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n" + "description": ") The ID of the Project the Cockpit is associated with.\n" }, "region": { "type": "string", - "description": "`region`) The region in which alert_manager should be created.\n" + "description": ") The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled.\n" } }, "required": [ @@ -7248,20 +7310,20 @@ "items": { "$ref": "#/types/scaleway:index/CockpitAlertManagerContactPoint:CockpitAlertManagerContactPoint" }, - "description": "A list of contact points with email addresses for the alert receivers. Each map should contain a single key email.\n" + "description": "A list of contact points with email addresses that will receive alerts. Each map should contain a single key email.\n" }, "enableManagedAlerts": { "type": "boolean", - "description": "Indicates whether the alert manager should be enabled. Defaults to true.\n" + "description": "Specifies whether the alert manager should be enabled. Defaults to true.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "region": { "type": "string", - "description": "`region`) The region in which alert_manager should be created.\n", + "description": ") The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled.\n", "willReplaceOnChanges": true } }, @@ -7270,27 +7332,27 @@ "properties": { "alertManagerUrl": { "type": "string", - "description": "Alert manager URL.\n" + "description": "The URL of the alert manager.\n" }, "contactPoints": { "type": "array", "items": { "$ref": "#/types/scaleway:index/CockpitAlertManagerContactPoint:CockpitAlertManagerContactPoint" }, - "description": "A list of contact points with email addresses for the alert receivers. Each map should contain a single key email.\n" + "description": "A list of contact points with email addresses that will receive alerts. Each map should contain a single key email.\n" }, "enableManagedAlerts": { "type": "boolean", - "description": "Indicates whether the alert manager should be enabled. Defaults to true.\n" + "description": "Specifies whether the alert manager should be enabled. Defaults to true.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "region": { "type": "string", - "description": "`region`) The region in which alert_manager should be created.\n", + "description": ") The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled.\n", "willReplaceOnChanges": true } }, @@ -7298,24 +7360,24 @@ } }, "scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser": { - "description": "Creates and manages Scaleway Cockpit Grafana Users.\n\nFor more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users).\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 project = new scaleway.AccountProject(\"project\", {name: \"test project grafana user\"});\nconst main = new scaleway.CockpitGrafanaUser(\"main\", {\n projectId: project.id,\n login: \"my-awesome-user\",\n role: \"editor\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"test project grafana user\")\nmain = scaleway.CockpitGrafanaUser(\"main\",\n project_id=project.id,\n login=\"my-awesome-user\",\n role=\"editor\")\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 = \"test project grafana user\",\n });\n\n var main = new Scaleway.CockpitGrafanaUser(\"main\", new()\n {\n ProjectId = project.Id,\n Login = \"my-awesome-user\",\n Role = \"editor\",\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(\"test project grafana user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitGrafanaUser(ctx, \"main\", \u0026scaleway.CockpitGrafanaUserArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tLogin: pulumi.String(\"my-awesome-user\"),\n\t\t\tRole: pulumi.String(\"editor\"),\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.CockpitGrafanaUser;\nimport com.pulumi.scaleway.CockpitGrafanaUserArgs;\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(\"test project grafana user\")\n .build());\n\n var main = new CockpitGrafanaUser(\"main\", CockpitGrafanaUserArgs.builder()\n .projectId(project.id())\n .login(\"my-awesome-user\")\n .role(\"editor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: test project grafana user\n main:\n type: scaleway:CockpitGrafanaUser\n properties:\n projectId: ${project.id}\n login: my-awesome-user\n role: editor\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser main 11111111-1111-1111-1111-111111111111/2\n```\n\n", + "description": "The `scaleway.CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit.\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## Example Usage\n\n### Create a Grafana user\n\nThe following command allows you to create a Grafana user within a specific Scaleway Project.\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: \"test project grafana user\"});\nconst main = new scaleway.CockpitGrafanaUser(\"main\", {\n projectId: project.id,\n login: \"my-awesome-user\",\n role: \"editor\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"test project grafana user\")\nmain = scaleway.CockpitGrafanaUser(\"main\",\n project_id=project.id,\n login=\"my-awesome-user\",\n role=\"editor\")\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 = \"test project grafana user\",\n });\n\n var main = new Scaleway.CockpitGrafanaUser(\"main\", new()\n {\n ProjectId = project.Id,\n Login = \"my-awesome-user\",\n Role = \"editor\",\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(\"test project grafana user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitGrafanaUser(ctx, \"main\", \u0026scaleway.CockpitGrafanaUserArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tLogin: pulumi.String(\"my-awesome-user\"),\n\t\t\tRole: pulumi.String(\"editor\"),\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.CockpitGrafanaUser;\nimport com.pulumi.scaleway.CockpitGrafanaUserArgs;\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(\"test project grafana user\")\n .build());\n\n var main = new CockpitGrafanaUser(\"main\", CockpitGrafanaUserArgs.builder()\n .projectId(project.id())\n .login(\"my-awesome-user\")\n .role(\"editor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: test project grafana user\n main:\n type: scaleway:CockpitGrafanaUser\n properties:\n projectId: ${project.id}\n login: my-awesome-user\n role: editor\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser main 11111111-1111-1111-1111-111111111111/2\n```\n\n", "properties": { "login": { "type": "string", - "description": "The login of the grafana user.\n" + "description": "The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.\n" }, "password": { "type": "string", - "description": "The password of the grafana user\n", + "description": "The password of the Grafana user.\n", "secret": true }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n" + "description": ") The ID of the Project the Cockpit is associated with.\n" }, "role": { "type": "string", - "description": "The role of the grafana user. Must be `editor` or `viewer`.\n" + "description": "The role assigned to the Grafana user. Must be `editor` or `viewer`.\n" } }, "required": [ @@ -7327,17 +7389,17 @@ "inputProperties": { "login": { "type": "string", - "description": "The login of the grafana user.\n", + "description": "The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.\n", "willReplaceOnChanges": true }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "role": { "type": "string", - "description": "The role of the grafana user. Must be `editor` or `viewer`.\n", + "description": "The role assigned to the Grafana user. Must be `editor` or `viewer`.\n", "willReplaceOnChanges": true } }, @@ -7350,22 +7412,22 @@ "properties": { "login": { "type": "string", - "description": "The login of the grafana user.\n", + "description": "The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.\n", "willReplaceOnChanges": true }, "password": { "type": "string", - "description": "The password of the grafana user\n", + "description": "The password of the Grafana user.\n", "secret": true }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "role": { "type": "string", - "description": "The role of the grafana user. Must be `editor` or `viewer`.\n", + "description": "The role assigned to the Grafana user. Must be `editor` or `viewer`.\n", "willReplaceOnChanges": true } }, @@ -7373,27 +7435,31 @@ } }, "scaleway:index/cockpitSource:CockpitSource": { - "description": "Creates and manages Scaleway Cockpit Data Sources.\n\nFor more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources).\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 project = new scaleway.AccountProject(\"project\", {name: \"test project data source\"});\nconst main = new scaleway.CockpitSource(\"main\", {\n projectId: project.id,\n name: \"my-data-source\",\n type: \"metrics\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"test project data source\")\nmain = scaleway.CockpitSource(\"main\",\n project_id=project.id,\n name=\"my-data-source\",\n type=\"metrics\")\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 = \"test project data source\",\n });\n\n var main = new Scaleway.CockpitSource(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-data-source\",\n Type = \"metrics\",\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(\"test project data source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitSource(ctx, \"main\", \u0026scaleway.CockpitSourceArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-data-source\"),\n\t\t\tType: pulumi.String(\"metrics\"),\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.CockpitSource;\nimport com.pulumi.scaleway.CockpitSourceArgs;\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(\"test project data source\")\n .build());\n\n var main = new CockpitSource(\"main\", CockpitSourceArgs.builder()\n .projectId(project.id())\n .name(\"my-data-source\")\n .type(\"metrics\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: test project data source\n main:\n type: scaleway:CockpitSource\n properties:\n projectId: ${project.id}\n name: my-data-source\n type: metrics\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCockpits Data Sources can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitSource:CockpitSource main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit.\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## Example Usage\n\n### Create a data source\n\nThe following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project.\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: \"test project data source\"});\nconst main = new scaleway.CockpitSource(\"main\", {\n projectId: project.id,\n name: \"my-data-source\",\n type: \"metrics\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"test project data source\")\nmain = scaleway.CockpitSource(\"main\",\n project_id=project.id,\n name=\"my-data-source\",\n type=\"metrics\")\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 = \"test project data source\",\n });\n\n var main = new Scaleway.CockpitSource(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-data-source\",\n Type = \"metrics\",\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(\"test project data source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitSource(ctx, \"main\", \u0026scaleway.CockpitSourceArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-data-source\"),\n\t\t\tType: pulumi.String(\"metrics\"),\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.CockpitSource;\nimport com.pulumi.scaleway.CockpitSourceArgs;\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(\"test project data source\")\n .build());\n\n var main = new CockpitSource(\"main\", CockpitSourceArgs.builder()\n .projectId(project.id())\n .name(\"my-data-source\")\n .type(\"metrics\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: test project data source\n main:\n type: scaleway:CockpitSource\n properties:\n projectId: ${project.id}\n name: my-data-source\n type: metrics\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitSource:CockpitSource main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", - "description": "Date and time of the cockpit data source's creation (RFC 3339 format).\n" + "description": "The date and time the data source was created (in RFC 3339 format).\n" }, "name": { "type": "string", - "description": "The name of the cockpit data source.\n" + "description": "The name of the data source.\n" }, "origin": { "type": "string", - "description": "The origin of the cockpit data source.\n" + "description": "The origin of the Cockpit data source.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit data source is associated with.\n" + "description": ") The ID of the Project the data source is associated with.\n" + }, + "pushUrl": { + "type": "string", + "description": "The URL endpoint used for pushing data to the Cockpit data source.\n" }, "region": { "type": "string", - "description": "`region`) The region of the cockpit datasource.\n" + "description": ") The region where the data source is located.\n" }, "synchronizedWithGrafana": { "type": "boolean", @@ -7401,15 +7467,15 @@ }, "type": { "type": "string", - "description": "The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`.\n" + "description": "The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.\n" }, "updatedAt": { "type": "string", - "description": "Date and time of the cockpit datas ource's last update (RFC 3339 format).\n" + "description": "The date and time the data source was last updated (in RFC 3339 format).\n" }, "url": { "type": "string", - "description": "The URL of the cockpit data source.\n" + "description": "The URL of the Cockpit data source.\n" } }, "required": [ @@ -7417,6 +7483,7 @@ "name", "origin", "projectId", + "pushUrl", "region", "synchronizedWithGrafana", "updatedAt", @@ -7425,22 +7492,22 @@ "inputProperties": { "name": { "type": "string", - "description": "The name of the cockpit data source.\n", + "description": "The name of the data source.\n", "willReplaceOnChanges": true }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit data source is associated with.\n", + "description": ") The ID of the Project the data source is associated with.\n", "willReplaceOnChanges": true }, "region": { "type": "string", - "description": "`region`) The region of the cockpit datasource.\n", + "description": ") The region where the data source is located.\n", "willReplaceOnChanges": true }, "type": { "type": "string", - "description": "The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`.\n", + "description": "The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.\n", "willReplaceOnChanges": true } }, @@ -7449,25 +7516,29 @@ "properties": { "createdAt": { "type": "string", - "description": "Date and time of the cockpit data source's creation (RFC 3339 format).\n" + "description": "The date and time the data source was created (in RFC 3339 format).\n" }, "name": { "type": "string", - "description": "The name of the cockpit data source.\n", + "description": "The name of the data source.\n", "willReplaceOnChanges": true }, "origin": { "type": "string", - "description": "The origin of the cockpit data source.\n" + "description": "The origin of the Cockpit data source.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit data source is associated with.\n", + "description": ") The ID of the Project the data source is associated with.\n", "willReplaceOnChanges": true }, + "pushUrl": { + "type": "string", + "description": "The URL endpoint used for pushing data to the Cockpit data source.\n" + }, "region": { "type": "string", - "description": "`region`) The region of the cockpit datasource.\n", + "description": ") The region where the data source is located.\n", "willReplaceOnChanges": true }, "synchronizedWithGrafana": { @@ -7476,23 +7547,23 @@ }, "type": { "type": "string", - "description": "The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`.\n", + "description": "The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.\n", "willReplaceOnChanges": true }, "updatedAt": { "type": "string", - "description": "Date and time of the cockpit datas ource's last update (RFC 3339 format).\n" + "description": "The date and time the data source was last updated (in RFC 3339 format).\n" }, "url": { "type": "string", - "description": "The URL of the cockpit data source.\n" + "description": "The URL of the Cockpit data source.\n" } }, "type": "object" } }, "scaleway:index/cockpitToken:CockpitToken": { - "description": "Creates and manages Scaleway Cockpit Tokens.\n\nFor more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens).\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 project = new scaleway.AccountProject(\"project\", {name: \"my-project\"});\nconst main = new scaleway.CockpitToken(\"main\", {\n projectId: project.id,\n name: \"my-awesome-token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"my-project\")\nmain = scaleway.CockpitToken(\"main\",\n project_id=project.id,\n name=\"my-awesome-token\")\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 = \"my-project\",\n });\n\n var main = new Scaleway.CockpitToken(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-awesome-token\",\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(\"my-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitToken(ctx, \"main\", \u0026scaleway.CockpitTokenArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-awesome-token\"),\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.CockpitToken;\nimport com.pulumi.scaleway.CockpitTokenArgs;\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(\"my-project\")\n .build());\n\n var main = new CockpitToken(\"main\", CockpitTokenArgs.builder()\n .projectId(project.id())\n .name(\"my-awesome-token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: my-project\n main:\n type: scaleway:CockpitToken\n properties:\n projectId: ${project.id}\n name: my-awesome-token\n```\n\u003c!--End PulumiCodeChooser --\u003e\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: \"my-project\"});\n// Create a token that can read metrics and logs but not write\nconst main = new scaleway.CockpitToken(\"main\", {\n projectId: project.id,\n name: \"my-awesome-token\",\n scopes: {\n queryMetrics: true,\n writeMetrics: false,\n queryLogs: true,\n writeLogs: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"my-project\")\n# Create a token that can read metrics and logs but not write\nmain = scaleway.CockpitToken(\"main\",\n project_id=project.id,\n name=\"my-awesome-token\",\n scopes={\n \"query_metrics\": True,\n \"write_metrics\": False,\n \"query_logs\": True,\n \"write_logs\": False,\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 = \"my-project\",\n });\n\n // Create a token that can read metrics and logs but not write\n var main = new Scaleway.CockpitToken(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-awesome-token\",\n Scopes = new Scaleway.Inputs.CockpitTokenScopesArgs\n {\n QueryMetrics = true,\n WriteMetrics = false,\n QueryLogs = true,\n WriteLogs = false,\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(\"my-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a token that can read metrics and logs but not write\n\t\t_, err = scaleway.NewCockpitToken(ctx, \"main\", \u0026scaleway.CockpitTokenArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-awesome-token\"),\n\t\t\tScopes: \u0026scaleway.CockpitTokenScopesArgs{\n\t\t\t\tQueryMetrics: pulumi.Bool(true),\n\t\t\t\tWriteMetrics: pulumi.Bool(false),\n\t\t\t\tQueryLogs: pulumi.Bool(true),\n\t\t\t\tWriteLogs: pulumi.Bool(false),\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.CockpitToken;\nimport com.pulumi.scaleway.CockpitTokenArgs;\nimport com.pulumi.scaleway.inputs.CockpitTokenScopesArgs;\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(\"my-project\")\n .build());\n\n // Create a token that can read metrics and logs but not write\n var main = new CockpitToken(\"main\", CockpitTokenArgs.builder()\n .projectId(project.id())\n .name(\"my-awesome-token\")\n .scopes(CockpitTokenScopesArgs.builder()\n .queryMetrics(true)\n .writeMetrics(false)\n .queryLogs(true)\n .writeLogs(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: my-project\n # Create a token that can read metrics and logs but not write\n main:\n type: scaleway:CockpitToken\n properties:\n projectId: ${project.id}\n name: my-awesome-token\n scopes:\n queryMetrics: true\n writeMetrics: false\n queryLogs: true\n writeLogs: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCockpits tokens can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitToken:CockpitToken main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens).\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## Example Usage\n\n### Use a Cockpit token\n\nThe following commands allow you to:\n\n- create a Scaleway Project named `my-project`\n- create a Cockpit token named `my-awesome-token` inside the Project\n- assign `read` permissions to the token for metrics and logs\n- disable `write` permissions for metrics and logs\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: \"my-project\"});\nconst main = new scaleway.CockpitToken(\"main\", {\n projectId: project.id,\n name: \"my-awesome-token\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"my-project\")\nmain = scaleway.CockpitToken(\"main\",\n project_id=project.id,\n name=\"my-awesome-token\")\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 = \"my-project\",\n });\n\n var main = new Scaleway.CockpitToken(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-awesome-token\",\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(\"my-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitToken(ctx, \"main\", \u0026scaleway.CockpitTokenArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-awesome-token\"),\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.CockpitToken;\nimport com.pulumi.scaleway.CockpitTokenArgs;\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(\"my-project\")\n .build());\n\n var main = new CockpitToken(\"main\", CockpitTokenArgs.builder()\n .projectId(project.id())\n .name(\"my-awesome-token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: my-project\n main:\n type: scaleway:CockpitToken\n properties:\n projectId: ${project.id}\n name: my-awesome-token\n```\n\u003c!--End PulumiCodeChooser --\u003e\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: \"my-project\"});\n// Create a token that can read metrics and logs but not write\nconst main = new scaleway.CockpitToken(\"main\", {\n projectId: project.id,\n name: \"my-awesome-token\",\n scopes: {\n queryMetrics: true,\n writeMetrics: false,\n queryLogs: true,\n writeLogs: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"my-project\")\n# Create a token that can read metrics and logs but not write\nmain = scaleway.CockpitToken(\"main\",\n project_id=project.id,\n name=\"my-awesome-token\",\n scopes={\n \"query_metrics\": True,\n \"write_metrics\": False,\n \"query_logs\": True,\n \"write_logs\": False,\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 = \"my-project\",\n });\n\n // Create a token that can read metrics and logs but not write\n var main = new Scaleway.CockpitToken(\"main\", new()\n {\n ProjectId = project.Id,\n Name = \"my-awesome-token\",\n Scopes = new Scaleway.Inputs.CockpitTokenScopesArgs\n {\n QueryMetrics = true,\n WriteMetrics = false,\n QueryLogs = true,\n WriteLogs = false,\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(\"my-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a token that can read metrics and logs but not write\n\t\t_, err = scaleway.NewCockpitToken(ctx, \"main\", \u0026scaleway.CockpitTokenArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tName: pulumi.String(\"my-awesome-token\"),\n\t\t\tScopes: \u0026scaleway.CockpitTokenScopesArgs{\n\t\t\t\tQueryMetrics: pulumi.Bool(true),\n\t\t\t\tWriteMetrics: pulumi.Bool(false),\n\t\t\t\tQueryLogs: pulumi.Bool(true),\n\t\t\t\tWriteLogs: pulumi.Bool(false),\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.CockpitToken;\nimport com.pulumi.scaleway.CockpitTokenArgs;\nimport com.pulumi.scaleway.inputs.CockpitTokenScopesArgs;\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(\"my-project\")\n .build());\n\n // Create a token that can read metrics and logs but not write\n var main = new CockpitToken(\"main\", CockpitTokenArgs.builder()\n .projectId(project.id())\n .name(\"my-awesome-token\")\n .scopes(CockpitTokenScopesArgs.builder()\n .queryMetrics(true)\n .writeMetrics(false)\n .queryLogs(true)\n .writeLogs(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: my-project\n # Create a token that can read metrics and logs but not write\n main:\n type: scaleway:CockpitToken\n properties:\n projectId: ${project.id}\n name: my-awesome-token\n scopes:\n queryMetrics: true\n writeMetrics: false\n queryLogs: true\n writeLogs: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import a Cockpit token using the `{region}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitToken:CockpitToken main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -7504,15 +7575,15 @@ }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n" + "description": ") The ID of the Project the Cockpit is associated with.\n" }, "region": { "type": "string", - "description": "`region`) The region of the cockpit token.\n" + "description": ") The region where the Cockpit token is located.\n" }, "scopes": { "$ref": "#/types/scaleway:index/CockpitTokenScopes:CockpitTokenScopes", - "description": "Allowed scopes.\n" + "description": "Scopes allowed, each with default values:\n" }, "secretKey": { "type": "string", @@ -7541,17 +7612,17 @@ }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "region": { "type": "string", - "description": "`region`) The region of the cockpit token.\n", + "description": ") The region where the Cockpit token is located.\n", "willReplaceOnChanges": true }, "scopes": { "$ref": "#/types/scaleway:index/CockpitTokenScopes:CockpitTokenScopes", - "description": "Allowed scopes.\n", + "description": "Scopes allowed, each with default values:\n", "willReplaceOnChanges": true } }, @@ -7569,17 +7640,17 @@ }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n", + "description": ") The ID of the Project the Cockpit is associated with.\n", "willReplaceOnChanges": true }, "region": { "type": "string", - "description": "`region`) The region of the cockpit token.\n", + "description": ") The region where the Cockpit token is located.\n", "willReplaceOnChanges": true }, "scopes": { "$ref": "#/types/scaleway:index/CockpitTokenScopes:CockpitTokenScopes", - "description": "Allowed scopes.\n", + "description": "Scopes allowed, each with default values:\n", "willReplaceOnChanges": true }, "secretKey": { @@ -8770,12 +8841,13 @@ }, "endpointIp": { "type": "string", - "description": "(Deprecated) The IP of the Database Instance.\n", + "description": "(Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.\n", "deprecationMessage": "Please use the private_network or the load_balancer attribute" }, "endpointPort": { "type": "integer", - "description": "(Deprecated) The port of the Database Instance.\n" + "description": "(Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.\n", + "deprecationMessage": "Please use the private_network or the load_balancer attribute" }, "engine": { "type": "string", @@ -9025,12 +9097,13 @@ }, "endpointIp": { "type": "string", - "description": "(Deprecated) The IP of the Database Instance.\n", + "description": "(Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute.\n", "deprecationMessage": "Please use the private_network or the load_balancer attribute" }, "endpointPort": { "type": "integer", - "description": "(Deprecated) The port of the Database Instance.\n" + "description": "(Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute.\n", + "deprecationMessage": "Please use the private_network or the load_balancer attribute" }, "engine": { "type": "string", @@ -10002,15 +10075,15 @@ } }, "scaleway:index/domainRecord:DomainRecord": { - "description": "Creates and manages Scaleway Domain record. \nFor more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).\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 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### With dynamic records\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\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` (eg: `A`, `AAAA`, `MX`, `NS`...). \nYou can duplicate a resource `scaleway.DomainRecord` with the same `name`, the records will be added.\n\nPlease note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique.\n\n## Import\n\nRecord can be imported using the `{dns_zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainRecord:DomainRecord www subdomain.domain.tld/11111111-1111-1111-1111-111111111111\n```\n\n", + "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`, a string for a `TXT`...).\n" + "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 DNS zone doesn't exist, it will be automatically created.\n" + "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n" }, "fqdn": { "type": "string", @@ -10026,7 +10099,7 @@ }, "keepEmptyZone": { "type": "boolean", - "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/)\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", @@ -10034,7 +10107,7 @@ }, "priority": { "type": "integer", - "description": "The priority of the record (mostly used with an `MX` record)\n" + "description": "The priority of the record (mostly used with an `MX` record).\n" }, "projectId": { "type": "string", @@ -10080,11 +10153,11 @@ "inputProperties": { "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\n" + "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 DNS zone doesn't exist, it will be automatically created.\n", + "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n", "willReplaceOnChanges": true }, "geoIp": { @@ -10097,7 +10170,7 @@ }, "keepEmptyZone": { "type": "boolean", - "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/)\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", @@ -10106,7 +10179,7 @@ }, "priority": { "type": "integer", - "description": "The priority of the record (mostly used with an `MX` record)\n" + "description": "The priority of the record (mostly used with an `MX` record).\n" }, "projectId": { "type": "string", @@ -10147,11 +10220,11 @@ "properties": { "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\n" + "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 DNS zone doesn't exist, it will be automatically created.\n", + "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n", "willReplaceOnChanges": true }, "fqdn": { @@ -10168,7 +10241,7 @@ }, "keepEmptyZone": { "type": "boolean", - "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/)\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", @@ -10177,7 +10250,7 @@ }, "priority": { "type": "integer", - "description": "The priority of the record (mostly used with an `MX` record)\n" + "description": "The priority of the record (mostly used with an `MX` record).\n" }, "projectId": { "type": "string", @@ -10216,52 +10289,52 @@ } }, "scaleway:index/domainZone:DomainZone": { - "description": "Creates and manages Scaleway Domain zone. \nFor more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/).\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 test = new scaleway.DomainZone(\"test\", {\n domain: \"scaleway-terraform.com\",\n subdomain: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ntest = scaleway.DomainZone(\"test\",\n domain=\"scaleway-terraform.com\",\n subdomain=\"test\")\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 test = new Scaleway.DomainZone(\"test\", new()\n {\n Domain = \"scaleway-terraform.com\",\n Subdomain = \"test\",\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.NewDomainZone(ctx, \"test\", \u0026scaleway.DomainZoneArgs{\n\t\t\tDomain: pulumi.String(\"scaleway-terraform.com\"),\n\t\t\tSubdomain: pulumi.String(\"test\"),\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.DomainZone;\nimport com.pulumi.scaleway.DomainZoneArgs;\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 test = new DomainZone(\"test\", DomainZoneArgs.builder()\n .domain(\"scaleway-terraform.com\")\n .subdomain(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: scaleway:DomainZone\n properties:\n domain: scaleway-terraform.com\n subdomain: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZone can be imported using the `{subdomain}.{domain}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainZone:DomainZone test test.scaleway-terraform.com\n```\n\n", + "description": "\n\n## Import\n\nThis section explains how to import a zone using the `{subdomain}.{domain}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainZone:DomainZone test test.scaleway-terraform.com\n```\n\n", "properties": { "domain": { "type": "string", - "description": "The domain where the DNS zone will be created.\n" + "description": "The main domain where the DNS zone will be created.\n" }, "message": { "type": "string", - "description": "Message\n" + "description": "Message.\n" }, "ns": { "type": "array", "items": { "type": "string" }, - "description": "NameServer list for zone.\n" + "description": "The list of same servers for the zone.\n" }, "nsDefaults": { "type": "array", "items": { "type": "string" }, - "description": "NameServer default list for zone.\n" + "description": "The default list of same servers for the zone.\n" }, "nsMasters": { "type": "array", "items": { "type": "string" }, - "description": "NameServer master list for zone.\n" + "description": "The master list of same servers for the zone.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the domain is associated with.\n" + "description": "`project_id`) The ID of the Project associated with the domain.\n" }, "status": { "type": "string", - "description": "The domain zone status.\n" + "description": "The status of the domain zone.\n" }, "subdomain": { "type": "string", - "description": "The subdomain(zone name) to create in the domain.\n" + "description": "The name of the subdomain (zone name) to create within the domain.\n" }, "updatedAt": { "type": "string", - "description": "The date and time of the last update of the DNS zone.\n" + "description": "The date and time at which the DNS zone was last updated.\n" } }, "required": [ @@ -10278,17 +10351,17 @@ "inputProperties": { "domain": { "type": "string", - "description": "The domain where the DNS zone will be created.\n", + "description": "The main domain where the DNS zone will be created.\n", "willReplaceOnChanges": true }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the domain is associated with.\n", + "description": "`project_id`) The ID of the Project associated with the domain.\n", "willReplaceOnChanges": true }, "subdomain": { "type": "string", - "description": "The subdomain(zone name) to create in the domain.\n" + "description": "The name of the subdomain (zone name) to create within the domain.\n" } }, "requiredInputs": [ @@ -10300,50 +10373,50 @@ "properties": { "domain": { "type": "string", - "description": "The domain where the DNS zone will be created.\n", + "description": "The main domain where the DNS zone will be created.\n", "willReplaceOnChanges": true }, "message": { "type": "string", - "description": "Message\n" + "description": "Message.\n" }, "ns": { "type": "array", "items": { "type": "string" }, - "description": "NameServer list for zone.\n" + "description": "The list of same servers for the zone.\n" }, "nsDefaults": { "type": "array", "items": { "type": "string" }, - "description": "NameServer default list for zone.\n" + "description": "The default list of same servers for the zone.\n" }, "nsMasters": { "type": "array", "items": { "type": "string" }, - "description": "NameServer master list for zone.\n" + "description": "The master list of same servers for the zone.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the domain is associated with.\n", + "description": "`project_id`) The ID of the Project associated with the domain.\n", "willReplaceOnChanges": true }, "status": { "type": "string", - "description": "The domain zone status.\n" + "description": "The status of the domain zone.\n" }, "subdomain": { "type": "string", - "description": "The subdomain(zone name) to create in the domain.\n" + "description": "The name of the subdomain (zone name) to create within the domain.\n" }, "updatedAt": { "type": "string", - "description": "The date and time of the last update of the DNS zone.\n" + "description": "The date and time at which the DNS zone was last updated.\n" } }, "type": "object" @@ -11895,7 +11968,7 @@ } }, "scaleway:index/iamPolicy:IamPolicy": { - "description": "Creates and manages Scaleway IAM Policies. For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#path-policies-create-a-new-policy).\n\n\u003e You can find a detailed list of all permission sets available at Scaleway in the permission sets [reference page](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/).\n\n## Example Usage\n\n### Create a policy for an organization's project\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\nconst app = new scaleway.IamApplication(\"app\", {name: \"my app\"});\nconst objectReadOnly = new scaleway.IamPolicy(\"object_read_only\", {\n name: \"my policy\",\n description: \"gives app readonly access to object storage in project\",\n applicationId: app.id,\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageReadOnly\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\ndefault = scaleway.get_account_project(name=\"default\")\napp = scaleway.IamApplication(\"app\", name=\"my app\")\nobject_read_only = scaleway.IamPolicy(\"object_read_only\",\n name=\"my policy\",\n description=\"gives app readonly access to object storage in project\",\n application_id=app.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageReadOnly\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var app = new Scaleway.IamApplication(\"app\", new()\n {\n Name = \"my app\",\n });\n\n var objectReadOnly = new Scaleway.IamPolicy(\"object_read_only\", new()\n {\n Name = \"my policy\",\n Description = \"gives app readonly access to object storage in project\",\n ApplicationId = app.Id,\n Rules = new[]\n {\n new Scaleway.Inputs.IamPolicyRuleArgs\n {\n ProjectIds = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)),\n },\n PermissionSetNames = new[]\n {\n \"ObjectStorageReadOnly\",\n },\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_default, err := scaleway.LookupAccountProject(ctx, \u0026scaleway.LookupAccountProjectArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tapp, err := scaleway.NewIamApplication(ctx, \"app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"my app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"object_read_only\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"my policy\"),\n\t\t\tDescription: pulumi.String(\"gives app readonly access to object storage in project\"),\n\t\t\tApplicationId: app.ID(),\n\t\t\tRules: scaleway.IamPolicyRuleArray{\n\t\t\t\t\u0026scaleway.IamPolicyRuleArgs{\n\t\t\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(_default.Id),\n\t\t\t\t\t},\n\t\t\t\t\tPermissionSetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ObjectStorageReadOnly\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.IamApplication;\nimport com.pulumi.scaleway.IamApplicationArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\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 default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var app = new IamApplication(\"app\", IamApplicationArgs.builder()\n .name(\"my app\")\n .build());\n\n var objectReadOnly = new IamPolicy(\"objectReadOnly\", IamPolicyArgs.builder()\n .name(\"my policy\")\n .description(\"gives app readonly access to object storage in project\")\n .applicationId(app.id())\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageReadOnly\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: scaleway:IamApplication\n properties:\n name: my app\n objectReadOnly:\n type: scaleway:IamPolicy\n name: object_read_only\n properties:\n name: my policy\n description: gives app readonly access to object storage in project\n applicationId: ${app.id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageReadOnly\nvariables:\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a policy for all current and future projects in an organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst app = new scaleway.IamApplication(\"app\", {name: \"my app\"});\nconst objectReadOnly = new scaleway.IamPolicy(\"object_read_only\", {\n name: \"my policy\",\n description: \"gives app readonly access to object storage in project\",\n applicationId: app.id,\n rules: [{\n organizationId: app.organizationId,\n permissionSetNames: [\"ObjectStorageReadOnly\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\napp = scaleway.IamApplication(\"app\", name=\"my app\")\nobject_read_only = scaleway.IamPolicy(\"object_read_only\",\n name=\"my policy\",\n description=\"gives app readonly access to object storage in project\",\n application_id=app.id,\n rules=[{\n \"organization_id\": app.organization_id,\n \"permission_set_names\": [\"ObjectStorageReadOnly\"],\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 app = new Scaleway.IamApplication(\"app\", new()\n {\n Name = \"my app\",\n });\n\n var objectReadOnly = new Scaleway.IamPolicy(\"object_read_only\", new()\n {\n Name = \"my policy\",\n Description = \"gives app readonly access to object storage in project\",\n ApplicationId = app.Id,\n Rules = new[]\n {\n new Scaleway.Inputs.IamPolicyRuleArgs\n {\n OrganizationId = app.OrganizationId,\n PermissionSetNames = new[]\n {\n \"ObjectStorageReadOnly\",\n },\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\tapp, err := scaleway.NewIamApplication(ctx, \"app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"my app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"object_read_only\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"my policy\"),\n\t\t\tDescription: pulumi.String(\"gives app readonly access to object storage in project\"),\n\t\t\tApplicationId: app.ID(),\n\t\t\tRules: scaleway.IamPolicyRuleArray{\n\t\t\t\t\u0026scaleway.IamPolicyRuleArgs{\n\t\t\t\t\tOrganizationId: app.OrganizationId,\n\t\t\t\t\tPermissionSetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ObjectStorageReadOnly\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.IamApplication;\nimport com.pulumi.scaleway.IamApplicationArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\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 app = new IamApplication(\"app\", IamApplicationArgs.builder()\n .name(\"my app\")\n .build());\n\n var objectReadOnly = new IamPolicy(\"objectReadOnly\", IamPolicyArgs.builder()\n .name(\"my policy\")\n .description(\"gives app readonly access to object storage in project\")\n .applicationId(app.id())\n .rules(IamPolicyRuleArgs.builder()\n .organizationId(app.organizationId())\n .permissionSetNames(\"ObjectStorageReadOnly\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: scaleway:IamApplication\n properties:\n name: my app\n objectReadOnly:\n type: scaleway:IamPolicy\n name: object_read_only\n properties:\n name: my policy\n description: gives app readonly access to object storage in project\n applicationId: ${app.id}\n rules:\n - organizationId: ${app.organizationId}\n permissionSetNames:\n - ObjectStorageReadOnly\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicies can be imported using the `{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/iamPolicy:IamPolicy main 11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway IAM Policies. For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#path-policies-create-a-new-policy).\n\n\u003e You can find a detailed list of all permission sets available at Scaleway in the permission sets [reference page](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/).\n\n## Example Usage\n\n### Create a policy for an organization's project\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\nconst app = new scaleway.IamApplication(\"app\", {name: \"my app\"});\nconst objectReadOnly = new scaleway.IamPolicy(\"object_read_only\", {\n name: \"my policy\",\n description: \"gives app readonly access to object storage in project\",\n applicationId: app.id,\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageReadOnly\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\ndefault = scaleway.get_account_project(name=\"default\")\napp = scaleway.IamApplication(\"app\", name=\"my app\")\nobject_read_only = scaleway.IamPolicy(\"object_read_only\",\n name=\"my policy\",\n description=\"gives app readonly access to object storage in project\",\n application_id=app.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageReadOnly\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var app = new Scaleway.IamApplication(\"app\", new()\n {\n Name = \"my app\",\n });\n\n var objectReadOnly = new Scaleway.IamPolicy(\"object_read_only\", new()\n {\n Name = \"my policy\",\n Description = \"gives app readonly access to object storage in project\",\n ApplicationId = app.Id,\n Rules = new[]\n {\n new Scaleway.Inputs.IamPolicyRuleArgs\n {\n ProjectIds = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)),\n },\n PermissionSetNames = new[]\n {\n \"ObjectStorageReadOnly\",\n },\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_default, err := scaleway.LookupAccountProject(ctx, \u0026scaleway.LookupAccountProjectArgs{\n\t\t\tName: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tapp, err := scaleway.NewIamApplication(ctx, \"app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"my app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"object_read_only\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"my policy\"),\n\t\t\tDescription: pulumi.String(\"gives app readonly access to object storage in project\"),\n\t\t\tApplicationId: app.ID(),\n\t\t\tRules: scaleway.IamPolicyRuleArray{\n\t\t\t\t\u0026scaleway.IamPolicyRuleArgs{\n\t\t\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(_default.Id),\n\t\t\t\t\t},\n\t\t\t\t\tPermissionSetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ObjectStorageReadOnly\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.IamApplication;\nimport com.pulumi.scaleway.IamApplicationArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\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 default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var app = new IamApplication(\"app\", IamApplicationArgs.builder()\n .name(\"my app\")\n .build());\n\n var objectReadOnly = new IamPolicy(\"objectReadOnly\", IamPolicyArgs.builder()\n .name(\"my policy\")\n .description(\"gives app readonly access to object storage in project\")\n .applicationId(app.id())\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageReadOnly\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: scaleway:IamApplication\n properties:\n name: my app\n objectReadOnly:\n type: scaleway:IamPolicy\n name: object_read_only\n properties:\n name: my policy\n description: gives app readonly access to object storage in project\n applicationId: ${app.id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageReadOnly\nvariables:\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a policy for all current and future projects in an organization\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst app = new scaleway.IamApplication(\"app\", {name: \"my app\"});\nconst objectReadOnly = new scaleway.IamPolicy(\"object_read_only\", {\n name: \"my policy\",\n description: \"gives app readonly access to object storage in project\",\n applicationId: app.id,\n rules: [{\n organizationId: app.organizationId,\n permissionSetNames: [\"ObjectStorageReadOnly\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\napp = scaleway.IamApplication(\"app\", name=\"my app\")\nobject_read_only = scaleway.IamPolicy(\"object_read_only\",\n name=\"my policy\",\n description=\"gives app readonly access to object storage in project\",\n application_id=app.id,\n rules=[{\n \"organization_id\": app.organization_id,\n \"permission_set_names\": [\"ObjectStorageReadOnly\"],\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 app = new Scaleway.IamApplication(\"app\", new()\n {\n Name = \"my app\",\n });\n\n var objectReadOnly = new Scaleway.IamPolicy(\"object_read_only\", new()\n {\n Name = \"my policy\",\n Description = \"gives app readonly access to object storage in project\",\n ApplicationId = app.Id,\n Rules = new[]\n {\n new Scaleway.Inputs.IamPolicyRuleArgs\n {\n OrganizationId = app.OrganizationId,\n PermissionSetNames = new[]\n {\n \"ObjectStorageReadOnly\",\n },\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\tapp, err := scaleway.NewIamApplication(ctx, \"app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"my app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"object_read_only\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"my policy\"),\n\t\t\tDescription: pulumi.String(\"gives app readonly access to object storage in project\"),\n\t\t\tApplicationId: app.ID(),\n\t\t\tRules: scaleway.IamPolicyRuleArray{\n\t\t\t\t\u0026scaleway.IamPolicyRuleArgs{\n\t\t\t\t\tOrganizationId: app.OrganizationId,\n\t\t\t\t\tPermissionSetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ObjectStorageReadOnly\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.IamApplication;\nimport com.pulumi.scaleway.IamApplicationArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\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 app = new IamApplication(\"app\", IamApplicationArgs.builder()\n .name(\"my app\")\n .build());\n\n var objectReadOnly = new IamPolicy(\"objectReadOnly\", IamPolicyArgs.builder()\n .name(\"my policy\")\n .description(\"gives app readonly access to object storage in project\")\n .applicationId(app.id())\n .rules(IamPolicyRuleArgs.builder()\n .organizationId(app.organizationId())\n .permissionSetNames(\"ObjectStorageReadOnly\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: scaleway:IamApplication\n properties:\n name: my app\n objectReadOnly:\n type: scaleway:IamPolicy\n name: object_read_only\n properties:\n name: my policy\n description: gives app readonly access to object storage in project\n applicationId: ${app.id}\n rules:\n - organizationId: ${app.organizationId}\n permissionSetNames:\n - ObjectStorageReadOnly\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a policy with a particular condition\n\nIAM policy rule can use a condition to be applied.\nThe following variables are available:\n\n- `request.ip`\n- `request.user_agent`\n- `request.time`\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.IamPolicy(\"main\", {\n name: \"tf_tests_policy_condition\",\n noPrincipal: true,\n rules: [{\n organizationId: \"%s\",\n permissionSetNames: [\"AllProductsFullAccess\"],\n condition: \"request.user_agent == 'My User Agent'\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.IamPolicy(\"main\",\n name=\"tf_tests_policy_condition\",\n no_principal=True,\n rules=[{\n \"organization_id\": \"%s\",\n \"permission_set_names\": [\"AllProductsFullAccess\"],\n \"condition\": \"request.user_agent == 'My User Agent'\",\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 main = new Scaleway.IamPolicy(\"main\", new()\n {\n Name = \"tf_tests_policy_condition\",\n NoPrincipal = true,\n Rules = new[]\n {\n new Scaleway.Inputs.IamPolicyRuleArgs\n {\n OrganizationId = \"%s\",\n PermissionSetNames = new[]\n {\n \"AllProductsFullAccess\",\n },\n Condition = \"request.user_agent == 'My User Agent'\",\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.NewIamPolicy(ctx, \"main\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"tf_tests_policy_condition\"),\n\t\t\tNoPrincipal: pulumi.Bool(true),\n\t\t\tRules: scaleway.IamPolicyRuleArray{\n\t\t\t\t\u0026scaleway.IamPolicyRuleArgs{\n\t\t\t\t\tOrganizationId: pulumi.String(\"%s\"),\n\t\t\t\t\tPermissionSetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AllProductsFullAccess\"),\n\t\t\t\t\t},\n\t\t\t\t\tCondition: pulumi.String(\"request.user_agent == 'My User Agent'\"),\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.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\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 IamPolicy(\"main\", IamPolicyArgs.builder()\n .name(\"tf_tests_policy_condition\")\n .noPrincipal(true)\n .rules(IamPolicyRuleArgs.builder()\n .organizationId(\"%s\")\n .permissionSetNames(\"AllProductsFullAccess\")\n .condition(\"request.user_agent == 'My User Agent'\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:IamPolicy\n properties:\n name: tf_tests_policy_condition\n noPrincipal: true\n rules:\n - organizationId: '%s'\n permissionSetNames:\n - AllProductsFullAccess\n condition: request.user_agent == 'My User Agent'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolicies can be imported using the `{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/iamPolicy:IamPolicy main 11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "applicationId": { "type": "string", @@ -13201,7 +13274,8 @@ }, "bootscriptId": { "type": "string", - "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n" + "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n", + "deprecationMessage": "bootscript is not supported anymore." }, "cloudInit": { "type": "string", @@ -13213,7 +13287,8 @@ }, "enableIpv6": { "type": "boolean", - "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\n" + "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "image": { "type": "string", @@ -13232,15 +13307,17 @@ }, "ipv6Address": { "type": "string", - "description": "The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )\n" + "description": "The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "ipv6Gateway": { "type": "string", - "description": "The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )\n" + "description": "The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "ipv6PrefixLength": { "type": "integer", - "description": "The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )\n" + "description": "The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n" }, "name": { "type": "string", @@ -13275,7 +13352,8 @@ }, "publicIp": { "type": "string", - "description": "The public IP address of the server.\n" + "description": "The public IP address of the server (Deprecated use `public_ips` instead).\n", + "deprecationMessage": "Use public_ips instead" }, "publicIps": { "type": "array", @@ -13361,7 +13439,8 @@ }, "bootscriptId": { "type": "string", - "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n" + "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n", + "deprecationMessage": "bootscript is not supported anymore." }, "cloudInit": { "type": "string", @@ -13373,7 +13452,8 @@ }, "enableIpv6": { "type": "boolean", - "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\n" + "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "image": { "type": "string", @@ -13480,7 +13560,8 @@ }, "bootscriptId": { "type": "string", - "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n" + "description": "The ID of the bootscript to use (set boot_type to `bootscript`).\n", + "deprecationMessage": "bootscript is not supported anymore." }, "cloudInit": { "type": "string", @@ -13492,7 +13573,8 @@ }, "enableIpv6": { "type": "boolean", - "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\n" + "description": "Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "image": { "type": "string", @@ -13511,15 +13593,17 @@ }, "ipv6Address": { "type": "string", - "description": "The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )\n" + "description": "The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "ipv6Gateway": { "type": "string", - "description": "The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )\n" + "description": "The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n", + "deprecationMessage": "Please use a scaleway.InstanceIp with a `routed_ipv6` type" }, "ipv6PrefixLength": { "type": "integer", - "description": "The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )\n" + "description": "The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )\nDeprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type.\n" }, "name": { "type": "string", @@ -13555,7 +13639,8 @@ }, "publicIp": { "type": "string", - "description": "The public IP address of the server.\n" + "description": "The public IP address of the server (Deprecated use `public_ips` instead).\n", + "deprecationMessage": "Use public_ips instead" }, "publicIps": { "type": "array", @@ -16641,7 +16726,7 @@ }, "certificateId": { "type": "string", - "description": "(Deprecated) First certificate ID used by the frontend.\n", + "description": "(Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.\n", "deprecationMessage": "Please use certificate_ids" }, "certificateIds": { @@ -16751,7 +16836,7 @@ }, "certificateId": { "type": "string", - "description": "(Deprecated) First certificate ID used by the frontend.\n", + "description": "(Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend.\n", "deprecationMessage": "Please use certificate_ids" }, "certificateIds": { @@ -17104,11 +17189,13 @@ "inputProperties": { "accountId": { "type": "string", - "description": "The ID of the NATS account the credentials are generated from\n" + "description": "The ID of the NATS account the credentials are generated from\n", + "willReplaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the NATS credentials.\n" + "description": "The unique name of the NATS credentials.\n", + "willReplaceOnChanges": true }, "region": { "type": "string", @@ -17124,7 +17211,8 @@ "properties": { "accountId": { "type": "string", - "description": "The ID of the NATS account the credentials are generated from\n" + "description": "The ID of the NATS account the credentials are generated from\n", + "willReplaceOnChanges": true }, "file": { "type": "string", @@ -17132,7 +17220,8 @@ }, "name": { "type": "string", - "description": "The unique name of the NATS credentials.\n" + "description": "The unique name of the NATS credentials.\n", + "willReplaceOnChanges": true }, "region": { "type": "string", @@ -19203,16 +19292,23 @@ } }, "scaleway:index/secret:Secret": { - "description": "Creates and manages Scaleway Secrets.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/).\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 main = new scaleway.Secret(\"main\", {\n name: \"foo\",\n description: \"barr\",\n tags: [\n \"foo\",\n \"terraform\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.Secret(\"main\",\n name=\"foo\",\n description=\"barr\",\n tags=[\n \"foo\",\n \"terraform\",\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 main = new Scaleway.Secret(\"main\", new()\n {\n Name = \"foo\",\n Description = \"barr\",\n Tags = new[]\n {\n \"foo\",\n \"terraform\",\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.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"terraform\"),\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\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 Secret(\"main\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"barr\")\n .tags( \n \"foo\",\n \"terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Secret\n properties:\n name: foo\n description: barr\n tags:\n - foo\n - terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Secret can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/secret:Secret main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "\n\n## Import\n\nThis section explains how to import a secret using the `{region}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/secret:Secret main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", - "description": "Date and time of secret's creation (RFC 3339 format).\n" + "description": "Date and time of the secret's creation (in RFC 3339 format).\n" }, "description": { "type": "string", "description": "Description of the secret (e.g. `my-new-description`).\n" }, + "ephemeralPolicies": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/SecretEphemeralPolicy:SecretEphemeralPolicy" + }, + "description": "Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions.\n" + }, "name": { "type": "string", "description": "Name of the secret (e.g. `my-secret`).\n" @@ -19225,13 +19321,17 @@ "type": "string", "description": "The project ID containing is the secret.\n" }, + "protected": { + "type": "boolean", + "description": "True if secret protection is enabled on a given secret. A protected secret cannot be deleted.\n" + }, "region": { "type": "string", "description": "`region`) The region\nin which the resource exists.\n" }, "status": { "type": "string", - "description": "The status of the Secret.\n" + "description": "The status of the secret.\n" }, "tags": { "type": "array", @@ -19240,13 +19340,17 @@ }, "description": "Tags of the secret (e.g. `[\"tag\", \"secret\"]`).\n" }, + "type": { + "type": "string", + "description": "Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants).\n" + }, "updatedAt": { "type": "string", - "description": "Date and time of secret's last update (RFC 3339 format).\n" + "description": "Date and time of the secret's last update (in RFC 3339 format).\n" }, "versionCount": { "type": "integer", - "description": "The number of versions for this Secret.\n" + "description": "The amount of secret versions.\n" } }, "required": [ @@ -19263,6 +19367,13 @@ "type": "string", "description": "Description of the secret (e.g. `my-new-description`).\n" }, + "ephemeralPolicies": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/SecretEphemeralPolicy:SecretEphemeralPolicy" + }, + "description": "Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions.\n" + }, "name": { "type": "string", "description": "Name of the secret (e.g. `my-secret`).\n" @@ -19276,6 +19387,10 @@ "description": "The project ID containing is the secret.\n", "willReplaceOnChanges": true }, + "protected": { + "type": "boolean", + "description": "True if secret protection is enabled on a given secret. A protected secret cannot be deleted.\n" + }, "region": { "type": "string", "description": "`region`) The region\nin which the resource exists.\n", @@ -19287,6 +19402,11 @@ "type": "string" }, "description": "Tags of the secret (e.g. `[\"tag\", \"secret\"]`).\n" + }, + "type": { + "type": "string", + "description": "Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants).\n", + "willReplaceOnChanges": true } }, "stateInputs": { @@ -19294,12 +19414,19 @@ "properties": { "createdAt": { "type": "string", - "description": "Date and time of secret's creation (RFC 3339 format).\n" + "description": "Date and time of the secret's creation (in RFC 3339 format).\n" }, "description": { "type": "string", "description": "Description of the secret (e.g. `my-new-description`).\n" }, + "ephemeralPolicies": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/SecretEphemeralPolicy:SecretEphemeralPolicy" + }, + "description": "Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions.\n" + }, "name": { "type": "string", "description": "Name of the secret (e.g. `my-secret`).\n" @@ -19313,6 +19440,10 @@ "description": "The project ID containing is the secret.\n", "willReplaceOnChanges": true }, + "protected": { + "type": "boolean", + "description": "True if secret protection is enabled on a given secret. A protected secret cannot be deleted.\n" + }, "region": { "type": "string", "description": "`region`) The region\nin which the resource exists.\n", @@ -19320,7 +19451,7 @@ }, "status": { "type": "string", - "description": "The status of the Secret.\n" + "description": "The status of the secret.\n" }, "tags": { "type": "array", @@ -19329,28 +19460,33 @@ }, "description": "Tags of the secret (e.g. `[\"tag\", \"secret\"]`).\n" }, + "type": { + "type": "string", + "description": "Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants).\n", + "willReplaceOnChanges": true + }, "updatedAt": { "type": "string", - "description": "Date and time of secret's last update (RFC 3339 format).\n" + "description": "Date and time of the secret's last update (in RFC 3339 format).\n" }, "versionCount": { "type": "integer", - "description": "The number of versions for this Secret.\n" + "description": "The amount of secret versions.\n" } }, "type": "object" } }, "scaleway:index/secretVersion:SecretVersion": { - "description": "Creates and manages Scaleway Secret Versions.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501).\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 main = new scaleway.Secret(\"main\", {\n name: \"foo\",\n description: \"barr\",\n tags: [\n \"foo\",\n \"terraform\",\n ],\n});\nconst v1 = new scaleway.SecretVersion(\"v1\", {\n description: \"version1\",\n secretId: main.id,\n data: \"my_new_secret\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.Secret(\"main\",\n name=\"foo\",\n description=\"barr\",\n tags=[\n \"foo\",\n \"terraform\",\n ])\nv1 = scaleway.SecretVersion(\"v1\",\n description=\"version1\",\n secret_id=main.id,\n data=\"my_new_secret\")\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.Secret(\"main\", new()\n {\n Name = \"foo\",\n Description = \"barr\",\n Tags = new[]\n {\n \"foo\",\n \"terraform\",\n },\n });\n\n var v1 = new Scaleway.SecretVersion(\"v1\", new()\n {\n Description = \"version1\",\n SecretId = main.Id,\n Data = \"my_new_secret\",\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\tmain, err := scaleway.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"terraform\"),\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.NewSecretVersion(ctx, \"v1\", \u0026scaleway.SecretVersionArgs{\n\t\t\tDescription: pulumi.String(\"version1\"),\n\t\t\tSecretId: main.ID(),\n\t\t\tData: pulumi.String(\"my_new_secret\"),\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.SecretVersion;\nimport com.pulumi.scaleway.SecretVersionArgs;\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 Secret(\"main\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"barr\")\n .tags( \n \"foo\",\n \"terraform\")\n .build());\n\n var v1 = new SecretVersion(\"v1\", SecretVersionArgs.builder()\n .description(\"version1\")\n .secretId(main.id())\n .data(\"my_new_secret\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Secret\n properties:\n name: foo\n description: barr\n tags:\n - foo\n - terraform\n v1:\n type: scaleway:SecretVersion\n properties:\n description: version1\n secretId: ${main.id}\n data: my_new_secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Secret Version can be imported using the `{region}/{id}/{revision}`, e.g.\n\n~\u003e **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/secretVersion:SecretVersion main fr-par/11111111-1111-1111-1111-111111111111/2\n```\n\n", + "description": "The `scaleway.SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager.\n\nRefer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.\n\n## Example Usage\n\n### Create a secret and a version\n\nThe following commands allow you to:\n\n- create a secret named `foo`\n- create a version of this secret containing the `my_new_secret` data\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.Secret(\"main\", {\n name: \"foo\",\n description: \"barr\",\n tags: [\n \"foo\",\n \"terraform\",\n ],\n});\nconst v1 = new scaleway.SecretVersion(\"v1\", {\n description: \"version1\",\n secretId: main.id,\n data: \"my_new_secret\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.Secret(\"main\",\n name=\"foo\",\n description=\"barr\",\n tags=[\n \"foo\",\n \"terraform\",\n ])\nv1 = scaleway.SecretVersion(\"v1\",\n description=\"version1\",\n secret_id=main.id,\n data=\"my_new_secret\")\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.Secret(\"main\", new()\n {\n Name = \"foo\",\n Description = \"barr\",\n Tags = new[]\n {\n \"foo\",\n \"terraform\",\n },\n });\n\n var v1 = new Scaleway.SecretVersion(\"v1\", new()\n {\n Description = \"version1\",\n SecretId = main.Id,\n Data = \"my_new_secret\",\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\tmain, err := scaleway.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"terraform\"),\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.NewSecretVersion(ctx, \"v1\", \u0026scaleway.SecretVersionArgs{\n\t\t\tDescription: pulumi.String(\"version1\"),\n\t\t\tSecretId: main.ID(),\n\t\t\tData: pulumi.String(\"my_new_secret\"),\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.SecretVersion;\nimport com.pulumi.scaleway.SecretVersionArgs;\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 Secret(\"main\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"barr\")\n .tags( \n \"foo\",\n \"terraform\")\n .build());\n\n var v1 = new SecretVersion(\"v1\", SecretVersionArgs.builder()\n .description(\"version1\")\n .secretId(main.id())\n .data(\"my_new_secret\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Secret\n properties:\n name: foo\n description: barr\n tags:\n - foo\n - terraform\n v1:\n type: scaleway:SecretVersion\n properties:\n description: version1\n secretId: ${main.id}\n data: my_new_secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import a secret version using the `{region}/{id}/{revision}` format.\n\n~\u003e **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/secretVersion:SecretVersion main fr-par/11111111-1111-1111-1111-111111111111/2\n```\n\n", "properties": { "createdAt": { "type": "string", - "description": "Date and time of secret version's creation (RFC 3339 format).\n" + "description": "The date and time of the secret version's creation (in RFC 3339 format).\n" }, "data": { "type": "string", - "description": "The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section\n", + "description": "The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information).\n", "secret": true }, "description": { @@ -19359,23 +19495,23 @@ }, "region": { "type": "string", - "description": "`region`) The region\nin which the resource exists.\n" + "description": "). The region where the resource exists.\n" }, "revision": { "type": "string", - "description": "The revision for this Secret Version.\n" + "description": "The revision number of the secret version.\n" }, "secretId": { "type": "string", - "description": "The Secret ID associated wit the secret version.\n" + "description": "The ID of the secret associated with the version.\n" }, "status": { "type": "string", - "description": "The status of the Secret Version.\n" + "description": "The status of the secret version.\n" }, "updatedAt": { "type": "string", - "description": "Date and time of secret version's last update (RFC 3339 format).\n" + "description": "The date and time of the secret version's last update (in RFC 3339 format).\n" } }, "required": [ @@ -19390,7 +19526,7 @@ "inputProperties": { "data": { "type": "string", - "description": "The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section\n", + "description": "The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information).\n", "secret": true, "willReplaceOnChanges": true }, @@ -19400,12 +19536,12 @@ }, "region": { "type": "string", - "description": "`region`) The region\nin which the resource exists.\n", + "description": "). The region where the resource exists.\n", "willReplaceOnChanges": true }, "secretId": { "type": "string", - "description": "The Secret ID associated wit the secret version.\n" + "description": "The ID of the secret associated with the version.\n" } }, "requiredInputs": [ @@ -19417,11 +19553,11 @@ "properties": { "createdAt": { "type": "string", - "description": "Date and time of secret version's creation (RFC 3339 format).\n" + "description": "The date and time of the secret version's creation (in RFC 3339 format).\n" }, "data": { "type": "string", - "description": "The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section\n", + "description": "The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information).\n", "secret": true, "willReplaceOnChanges": true }, @@ -19431,24 +19567,24 @@ }, "region": { "type": "string", - "description": "`region`) The region\nin which the resource exists.\n", + "description": "). The region where the resource exists.\n", "willReplaceOnChanges": true }, "revision": { "type": "string", - "description": "The revision for this Secret Version.\n" + "description": "The revision number of the secret version.\n" }, "secretId": { "type": "string", - "description": "The Secret ID associated wit the secret version.\n" + "description": "The ID of the secret associated with the version.\n" }, "status": { "type": "string", - "description": "The status of the Secret Version.\n" + "description": "The status of the secret version.\n" }, "updatedAt": { "type": "string", - "description": "Date and time of secret version's last update (RFC 3339 format).\n" + "description": "The date and time of the secret version's last update (in RFC 3339 format).\n" } }, "type": "object" @@ -19479,7 +19615,8 @@ }, "lastError": { "type": "string", - "description": "The error message if the last check failed.\n" + "description": "(Deprecated) The error message if the last check failed.\n", + "deprecationMessage": "last_error is deprecated" }, "lastValidAt": { "type": "string", @@ -19629,7 +19766,8 @@ }, "lastError": { "type": "string", - "description": "The error message if the last check failed.\n" + "description": "(Deprecated) The error message if the last check failed.\n", + "deprecationMessage": "last_error is deprecated" }, "lastValidAt": { "type": "string", @@ -19780,6 +19918,146 @@ "type": "object" } }, + "scaleway:index/temWebhook:TemWebhook": { + "description": "Creates and manages Scaleway Transactional Email Webhooks.\nFor more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email).\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 main = new scaleway.TemWebhook(\"main\", {\n domainId: \"your-domain-id\",\n eventTypes: [\n \"email_delivered\",\n \"email_bounced\",\n ],\n snsArn: \"arn:scw:sns:fr-par:project-xxxx:your-sns-topic\",\n name: \"example-webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.TemWebhook(\"main\",\n domain_id=\"your-domain-id\",\n event_types=[\n \"email_delivered\",\n \"email_bounced\",\n ],\n sns_arn=\"arn:scw:sns:fr-par:project-xxxx:your-sns-topic\",\n name=\"example-webhook\")\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.TemWebhook(\"main\", new()\n {\n DomainId = \"your-domain-id\",\n EventTypes = new[]\n {\n \"email_delivered\",\n \"email_bounced\",\n },\n SnsArn = \"arn:scw:sns:fr-par:project-xxxx:your-sns-topic\",\n Name = \"example-webhook\",\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.NewTemWebhook(ctx, \"main\", \u0026scaleway.TemWebhookArgs{\n\t\t\tDomainId: pulumi.String(\"your-domain-id\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email_delivered\"),\n\t\t\t\tpulumi.String(\"email_bounced\"),\n\t\t\t},\n\t\t\tSnsArn: pulumi.String(\"arn:scw:sns:fr-par:project-xxxx:your-sns-topic\"),\n\t\t\tName: pulumi.String(\"example-webhook\"),\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.TemWebhook;\nimport com.pulumi.scaleway.TemWebhookArgs;\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 TemWebhook(\"main\", TemWebhookArgs.builder()\n .domainId(\"your-domain-id\")\n .eventTypes( \n \"email_delivered\",\n \"email_bounced\")\n .snsArn(\"arn:scw:sns:fr-par:project-xxxx:your-sns-topic\")\n .name(\"example-webhook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:TemWebhook\n properties:\n domainId: your-domain-id\n eventTypes:\n - email_delivered\n - email_bounced\n snsArn: arn:scw:sns:fr-par:project-xxxx:your-sns-topic\n name: example-webhook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete Example with Dependencies\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();\nconst domainName = config.require(\"domainName\");\nconst sns = new scaleway.MnqSns(\"sns\", {});\nconst snsCredentials = new scaleway.MnqSnsCredentials(\"sns_credentials\", {permissions: {\n canManage: true,\n}});\nconst snsTopic = new scaleway.MnqSnsTopic(\"sns_topic\", {\n name: \"test-mnq-sns-topic-basic\",\n accessKey: snsCredentials.accessKey,\n secretKey: snsCredentials.secretKey,\n});\nconst cr01 = new scaleway.TemDomain(\"cr01\", {\n name: domainName,\n acceptTos: true,\n});\nconst spf = new scaleway.DomainRecord(\"spf\", {\n dnsZone: domainName,\n type: \"TXT\",\n data: pulumi.interpolate`v=spf1 ${cr01.spfConfig} -all`,\n});\nconst dkim = new scaleway.DomainRecord(\"dkim\", {\n dnsZone: domainName,\n name: pulumi.interpolate`${cr01.projectId}._domainkey`,\n type: \"TXT\",\n data: cr01.dkimConfig,\n});\nconst mx = new scaleway.DomainRecord(\"mx\", {\n dnsZone: domainName,\n type: \"MX\",\n data: \".\",\n});\nconst dmarc = new scaleway.DomainRecord(\"dmarc\", {\n dnsZone: domainName,\n name: cr01.dmarcName,\n type: \"TXT\",\n data: cr01.dmarcConfig,\n});\nconst valid = new scaleway.TemDomainValidation(\"valid\", {\n domainId: cr01.id,\n region: cr01.region,\n timeout: 3600,\n});\nconst webhook = new scaleway.TemWebhook(\"webhook\", {\n name: \"example-webhook\",\n domainId: cr01.id,\n eventTypes: [\n \"email_delivered\",\n \"email_bounced\",\n ],\n snsArn: snsTopic.arn,\n}, {\n dependsOn: [\n valid,\n snsTopic,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nconfig = pulumi.Config()\ndomain_name = config.require(\"domainName\")\nsns = scaleway.MnqSns(\"sns\")\nsns_credentials = scaleway.MnqSnsCredentials(\"sns_credentials\", permissions={\n \"can_manage\": True,\n})\nsns_topic = scaleway.MnqSnsTopic(\"sns_topic\",\n name=\"test-mnq-sns-topic-basic\",\n access_key=sns_credentials.access_key,\n secret_key=sns_credentials.secret_key)\ncr01 = scaleway.TemDomain(\"cr01\",\n name=domain_name,\n accept_tos=True)\nspf = scaleway.DomainRecord(\"spf\",\n dns_zone=domain_name,\n type=\"TXT\",\n data=cr01.spf_config.apply(lambda spf_config: f\"v=spf1 {spf_config} -all\"))\ndkim = scaleway.DomainRecord(\"dkim\",\n dns_zone=domain_name,\n name=cr01.project_id.apply(lambda project_id: f\"{project_id}._domainkey\"),\n type=\"TXT\",\n data=cr01.dkim_config)\nmx = scaleway.DomainRecord(\"mx\",\n dns_zone=domain_name,\n type=\"MX\",\n data=\".\")\ndmarc = scaleway.DomainRecord(\"dmarc\",\n dns_zone=domain_name,\n name=cr01.dmarc_name,\n type=\"TXT\",\n data=cr01.dmarc_config)\nvalid = scaleway.TemDomainValidation(\"valid\",\n domain_id=cr01.id,\n region=cr01.region,\n timeout=3600)\nwebhook = scaleway.TemWebhook(\"webhook\",\n name=\"example-webhook\",\n domain_id=cr01.id,\n event_types=[\n \"email_delivered\",\n \"email_bounced\",\n ],\n sns_arn=sns_topic.arn,\n opts = pulumi.ResourceOptions(depends_on=[\n valid,\n sns_topic,\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 config = new Config();\n var domainName = config.Require(\"domainName\");\n var sns = new Scaleway.MnqSns(\"sns\");\n\n var snsCredentials = new Scaleway.MnqSnsCredentials(\"sns_credentials\", new()\n {\n Permissions = new Scaleway.Inputs.MnqSnsCredentialsPermissionsArgs\n {\n CanManage = true,\n },\n });\n\n var snsTopic = new Scaleway.MnqSnsTopic(\"sns_topic\", new()\n {\n Name = \"test-mnq-sns-topic-basic\",\n AccessKey = snsCredentials.AccessKey,\n SecretKey = snsCredentials.SecretKey,\n });\n\n var cr01 = new Scaleway.TemDomain(\"cr01\", new()\n {\n Name = domainName,\n AcceptTos = true,\n });\n\n var spf = new Scaleway.DomainRecord(\"spf\", new()\n {\n DnsZone = domainName,\n Type = \"TXT\",\n Data = cr01.SpfConfig.Apply(spfConfig =\u003e $\"v=spf1 {spfConfig} -all\"),\n });\n\n var dkim = new Scaleway.DomainRecord(\"dkim\", new()\n {\n DnsZone = domainName,\n Name = cr01.ProjectId.Apply(projectId =\u003e $\"{projectId}._domainkey\"),\n Type = \"TXT\",\n Data = cr01.DkimConfig,\n });\n\n var mx = new Scaleway.DomainRecord(\"mx\", new()\n {\n DnsZone = domainName,\n Type = \"MX\",\n Data = \".\",\n });\n\n var dmarc = new Scaleway.DomainRecord(\"dmarc\", new()\n {\n DnsZone = domainName,\n Name = cr01.DmarcName,\n Type = \"TXT\",\n Data = cr01.DmarcConfig,\n });\n\n var valid = new Scaleway.TemDomainValidation(\"valid\", new()\n {\n DomainId = cr01.Id,\n Region = cr01.Region,\n Timeout = 3600,\n });\n\n var webhook = new Scaleway.TemWebhook(\"webhook\", new()\n {\n Name = \"example-webhook\",\n DomainId = cr01.Id,\n EventTypes = new[]\n {\n \"email_delivered\",\n \"email_bounced\",\n },\n SnsArn = snsTopic.Arn,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n valid,\n snsTopic,\n },\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\tdomainName := cfg.Require(\"domainName\")\n\t\t_, err := scaleway.NewMnqSns(ctx, \"sns\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsnsCredentials, err := scaleway.NewMnqSnsCredentials(ctx, \"sns_credentials\", \u0026scaleway.MnqSnsCredentialsArgs{\n\t\t\tPermissions: \u0026scaleway.MnqSnsCredentialsPermissionsArgs{\n\t\t\t\tCanManage: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsnsTopic, err := scaleway.NewMnqSnsTopic(ctx, \"sns_topic\", \u0026scaleway.MnqSnsTopicArgs{\n\t\t\tName: pulumi.String(\"test-mnq-sns-topic-basic\"),\n\t\t\tAccessKey: snsCredentials.AccessKey,\n\t\t\tSecretKey: snsCredentials.SecretKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcr01, err := scaleway.NewTemDomain(ctx, \"cr01\", \u0026scaleway.TemDomainArgs{\n\t\t\tName: pulumi.String(domainName),\n\t\t\tAcceptTos: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"spf\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(domainName),\n\t\t\tType: pulumi.String(\"TXT\"),\n\t\t\tData: cr01.SpfConfig.ApplyT(func(spfConfig string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"v=spf1 %v -all\", spfConfig), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"dkim\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(domainName),\n\t\t\tName: cr01.ProjectId.ApplyT(func(projectId string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v._domainkey\", projectId), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(\"TXT\"),\n\t\t\tData: cr01.DkimConfig,\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(domainName),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\".\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"dmarc\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(domainName),\n\t\t\tName: cr01.DmarcName,\n\t\t\tType: pulumi.String(\"TXT\"),\n\t\t\tData: cr01.DmarcConfig,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvalid, err := scaleway.NewTemDomainValidation(ctx, \"valid\", \u0026scaleway.TemDomainValidationArgs{\n\t\t\tDomainId: cr01.ID(),\n\t\t\tRegion: cr01.Region,\n\t\t\tTimeout: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewTemWebhook(ctx, \"webhook\", \u0026scaleway.TemWebhookArgs{\n\t\t\tName: pulumi.String(\"example-webhook\"),\n\t\t\tDomainId: cr01.ID(),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"email_delivered\"),\n\t\t\t\tpulumi.String(\"email_bounced\"),\n\t\t\t},\n\t\t\tSnsArn: snsTopic.Arn,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvalid,\n\t\t\tsnsTopic,\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.MnqSns;\nimport com.pulumi.scaleway.MnqSnsCredentials;\nimport com.pulumi.scaleway.MnqSnsCredentialsArgs;\nimport com.pulumi.scaleway.inputs.MnqSnsCredentialsPermissionsArgs;\nimport com.pulumi.scaleway.MnqSnsTopic;\nimport com.pulumi.scaleway.MnqSnsTopicArgs;\nimport com.pulumi.scaleway.TemDomain;\nimport com.pulumi.scaleway.TemDomainArgs;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport com.pulumi.scaleway.TemDomainValidation;\nimport com.pulumi.scaleway.TemDomainValidationArgs;\nimport com.pulumi.scaleway.TemWebhook;\nimport com.pulumi.scaleway.TemWebhookArgs;\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 final var config = ctx.config();\n final var domainName = config.get(\"domainName\");\n var sns = new MnqSns(\"sns\");\n\n var snsCredentials = new MnqSnsCredentials(\"snsCredentials\", MnqSnsCredentialsArgs.builder()\n .permissions(MnqSnsCredentialsPermissionsArgs.builder()\n .canManage(true)\n .build())\n .build());\n\n var snsTopic = new MnqSnsTopic(\"snsTopic\", MnqSnsTopicArgs.builder()\n .name(\"test-mnq-sns-topic-basic\")\n .accessKey(snsCredentials.accessKey())\n .secretKey(snsCredentials.secretKey())\n .build());\n\n var cr01 = new TemDomain(\"cr01\", TemDomainArgs.builder()\n .name(domainName)\n .acceptTos(true)\n .build());\n\n var spf = new DomainRecord(\"spf\", DomainRecordArgs.builder()\n .dnsZone(domainName)\n .type(\"TXT\")\n .data(cr01.spfConfig().applyValue(spfConfig -\u003e String.format(\"v=spf1 %s -all\", spfConfig)))\n .build());\n\n var dkim = new DomainRecord(\"dkim\", DomainRecordArgs.builder()\n .dnsZone(domainName)\n .name(cr01.projectId().applyValue(projectId -\u003e String.format(\"%s._domainkey\", projectId)))\n .type(\"TXT\")\n .data(cr01.dkimConfig())\n .build());\n\n var mx = new DomainRecord(\"mx\", DomainRecordArgs.builder()\n .dnsZone(domainName)\n .type(\"MX\")\n .data(\".\")\n .build());\n\n var dmarc = new DomainRecord(\"dmarc\", DomainRecordArgs.builder()\n .dnsZone(domainName)\n .name(cr01.dmarcName())\n .type(\"TXT\")\n .data(cr01.dmarcConfig())\n .build());\n\n var valid = new TemDomainValidation(\"valid\", TemDomainValidationArgs.builder()\n .domainId(cr01.id())\n .region(cr01.region())\n .timeout(3600)\n .build());\n\n var webhook = new TemWebhook(\"webhook\", TemWebhookArgs.builder()\n .name(\"example-webhook\")\n .domainId(cr01.id())\n .eventTypes( \n \"email_delivered\",\n \"email_bounced\")\n .snsArn(snsTopic.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n valid,\n snsTopic)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\nresources:\n sns:\n type: scaleway:MnqSns\n snsCredentials:\n type: scaleway:MnqSnsCredentials\n name: sns_credentials\n properties:\n permissions:\n canManage: true\n snsTopic:\n type: scaleway:MnqSnsTopic\n name: sns_topic\n properties:\n name: test-mnq-sns-topic-basic\n accessKey: ${snsCredentials.accessKey}\n secretKey: ${snsCredentials.secretKey}\n cr01:\n type: scaleway:TemDomain\n properties:\n name: ${domainName}\n acceptTos: true\n spf:\n type: scaleway:DomainRecord\n properties:\n dnsZone: ${domainName}\n type: TXT\n data: v=spf1 ${cr01.spfConfig} -all\n dkim:\n type: scaleway:DomainRecord\n properties:\n dnsZone: ${domainName}\n name: ${cr01.projectId}._domainkey\n type: TXT\n data: ${cr01.dkimConfig}\n mx:\n type: scaleway:DomainRecord\n properties:\n dnsZone: ${domainName}\n type: MX\n data: .\n dmarc:\n type: scaleway:DomainRecord\n properties:\n dnsZone: ${domainName}\n name: ${cr01.dmarcName}\n type: TXT\n data: ${cr01.dmarcConfig}\n valid:\n type: scaleway:TemDomainValidation\n properties:\n domainId: ${cr01.id}\n region: ${cr01.region}\n timeout: 3600\n webhook:\n type: scaleway:TemWebhook\n properties:\n name: example-webhook\n domainId: ${cr01.id}\n eventTypes:\n - email_delivered\n - email_bounced\n snsArn: ${snsTopic.arn}\n options:\n dependson:\n - ${valid}\n - ${snsTopic}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWebhooks can be imported using the {region}/{id}, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/temWebhook:TemWebhook main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "properties": { + "createdAt": { + "type": "string", + "description": "The date and time of the webhook's creation (RFC 3339 format).\n" + }, + "domainId": { + "type": "string", + "description": "The ID of the domain the webhook is associated with.\n" + }, + "eventTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of event types that trigger the webhook.\n" + }, + "name": { + "type": "string", + "description": "The name of the webhook. Defaults to an autogenerated name if not provided.\n" + }, + "organizationId": { + "type": "string", + "description": "The ID of the organization the webhook belongs to.\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project the webhook is associated with.\n" + }, + "region": { + "type": "string", + "description": ". The region in which the webhook should be created.\n" + }, + "snsArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the SNS topic.\n" + }, + "updatedAt": { + "type": "string", + "description": "The date and time of the webhook's last update (RFC 3339 format).\n" + } + }, + "required": [ + "createdAt", + "domainId", + "eventTypes", + "name", + "organizationId", + "projectId", + "region", + "snsArn", + "updatedAt" + ], + "inputProperties": { + "domainId": { + "type": "string", + "description": "The ID of the domain the webhook is associated with.\n", + "willReplaceOnChanges": true + }, + "eventTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of event types that trigger the webhook.\n" + }, + "name": { + "type": "string", + "description": "The name of the webhook. Defaults to an autogenerated name if not provided.\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project the webhook is associated with.\n", + "willReplaceOnChanges": true + }, + "region": { + "type": "string", + "description": ". The region in which the webhook should be created.\n", + "willReplaceOnChanges": true + }, + "snsArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the SNS topic.\n" + } + }, + "requiredInputs": [ + "domainId", + "eventTypes", + "snsArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TemWebhook resources.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "The date and time of the webhook's creation (RFC 3339 format).\n" + }, + "domainId": { + "type": "string", + "description": "The ID of the domain the webhook is associated with.\n", + "willReplaceOnChanges": true + }, + "eventTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of event types that trigger the webhook.\n" + }, + "name": { + "type": "string", + "description": "The name of the webhook. Defaults to an autogenerated name if not provided.\n" + }, + "organizationId": { + "type": "string", + "description": "The ID of the organization the webhook belongs to.\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project the webhook is associated with.\n", + "willReplaceOnChanges": true + }, + "region": { + "type": "string", + "description": ". The region in which the webhook should be created.\n", + "willReplaceOnChanges": true + }, + "snsArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the SNS topic.\n" + }, + "updatedAt": { + "type": "string", + "description": "The date and time of the webhook's last update (RFC 3339 format).\n" + } + }, + "type": "object" + } + }, "scaleway:index/vpc:Vpc": { "description": "Creates and manages Scaleway Virtual Private Clouds.\nFor more information, see [the main documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/).\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 vpc01 = new scaleway.Vpc(\"vpc01\", {\n name: \"my-vpc\",\n tags: [\n \"demo\",\n \"terraform\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\",\n name=\"my-vpc\",\n tags=[\n \"demo\",\n \"terraform\",\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 vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"my-vpc\",\n Tags = new[]\n {\n \"demo\",\n \"terraform\",\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.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"my-vpc\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"demo\"),\n\t\t\t\tpulumi.String(\"terraform\"),\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 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(\"my-vpc\")\n .tags( \n \"demo\",\n \"terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: my-vpc\n tags:\n - demo\n - terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable routing\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\", {\n name: \"my-vpc\",\n tags: [\n \"demo\",\n \"terraform\",\n \"routing\",\n ],\n enableRouting: true,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\",\n name=\"my-vpc\",\n tags=[\n \"demo\",\n \"terraform\",\n \"routing\",\n ],\n enable_routing=True)\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 = \"my-vpc\",\n Tags = new[]\n {\n \"demo\",\n \"terraform\",\n \"routing\",\n },\n EnableRouting = true,\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.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"my-vpc\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"demo\"),\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"routing\"),\n\t\t\t},\n\t\t\tEnableRouting: 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.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc01 = new Vpc(\"vpc01\", VpcArgs.builder()\n .name(\"my-vpc\")\n .tags( \n \"demo\",\n \"terraform\",\n \"routing\")\n .enableRouting(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: my-vpc\n tags:\n - demo\n - terraform\n - routing\n enableRouting: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPCs can be imported using `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/vpc:Vpc vpc_demo fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { @@ -22041,29 +22319,29 @@ } }, "scaleway:index/getBlockSnapshot:getBlockSnapshot": { - "description": "Gets information about a Block Snapshot.\n\n", + "description": "The `scaleway.BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot.\n\nRefer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.\n\n", "inputs": { "description": "A collection of arguments for invoking getBlockSnapshot.\n", "properties": { "name": { "type": "string", - "description": "The name of the snapshot. Only one of `name` and `snapshot_id` should be specified.\n" + "description": "The name of the snapshot. Only one of name or snapshot_id should be specified.\n" }, "projectId": { "type": "string", - "description": "The ID of the project the snapshot is associated with.\n" + "description": "The unique identifier of the Project to which the snapshot is associated.\n" }, "snapshotId": { "type": "string", - "description": "The ID of the snapshot. Only one of `name` and `snapshot_id` should be specified.\n" + "description": "The unique identifier of the snapshot. Only one of `name` and `snapshot_id` should be specified.\n" }, "volumeId": { "type": "string", - "description": "The ID of the volume from which the snapshot has been created.\n" + "description": "The unique identifier of the volume from which the snapshot was created.\n" }, "zone": { "type": "string", - "description": "`zone`) The zone in which the snapshot exists.\n" + "description": ") The zone in which the snapshot exists.\n" } }, "type": "object" @@ -22105,7 +22383,7 @@ } }, "scaleway:index/getBlockVolume:getBlockVolume": { - "description": "Gets information about a Block Volume.\n\n", + "description": "The `scaleway.BlockVolume` data source is used to retrieve information about a Block Storage volume.\nRefer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.\n\n", "inputs": { "description": "A collection of arguments for invoking getBlockVolume.\n", "properties": { @@ -22115,15 +22393,15 @@ }, "projectId": { "type": "string", - "description": "The ID of the project the volume is associated with.\n" + "description": "The unique identifier of the Project to which the volume is associated.\n" }, "volumeId": { "type": "string", - "description": "The ID of the volume. Only one of `name` and `volume_id` should be specified.\n" + "description": "The unique identifier of the volume. Only one of `name` and `volume_id` should be specified.\n" }, "zone": { "type": "string", - "description": "`zone`) The zone in which the volume exists.\n" + "description": "). The zone in which the volume exists.\n" } }, "type": "object" @@ -22174,13 +22452,13 @@ } }, "scaleway:index/getCockpit:getCockpit": { - "description": "\u003e **Note:**\nAs of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience.\nIf you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources.\n\nGets information about the Scaleway Cockpit.\n\nFor more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/).\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 default project's cockpit\nconst main = scaleway.getCockpit({});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get default project's cockpit\nmain = scaleway.get_cockpit()\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 default project's cockpit\n var main = Scaleway.GetCockpit.Invoke();\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 default project's cockpit\n\t\t_, err := scaleway.LookupCockpit(ctx, \u0026scaleway.LookupCockpitArgs{}, 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.GetCockpitArgs;\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 default project's cockpit\n final var main = ScalewayFunctions.getCockpit();\n\n }\n}\n```\n```yaml\nvariables:\n # Get default project's cockpit\n main:\n fn::invoke:\n Function: scaleway:getCockpit\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get a specific project's cockpit\nconst main = scaleway.getCockpit({\n projectId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get a specific project's cockpit\nmain = scaleway.get_cockpit(project_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 a specific project's cockpit\n var main = Scaleway.GetCockpit.Invoke(new()\n {\n ProjectId = \"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 a specific project's cockpit\n\t\t_, err := scaleway.LookupCockpit(ctx, \u0026scaleway.LookupCockpitArgs{\n\t\t\tProjectId: 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.GetCockpitArgs;\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 a specific project's cockpit\n final var main = ScalewayFunctions.getCockpit(GetCockpitArgs.builder()\n .projectId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get a specific project's cockpit\n main:\n fn::invoke:\n Function: scaleway:getCockpit\n Arguments:\n projectId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **Important:** The data source `scaleway.Cockpit` has been deprecated and will no longer be supported. Instead, use resource `scaleway.Cockpit`.\n\n\u003e **Note:**\nAs of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience.\nIf you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources.\n\nThe `scaleway.Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID.\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## Retrieve a Cockpit\n\nThe following commands allow you to:\n\n- get information on the Cockpit associated with your Scaleway default Project\n- get information on the Cockpit associated with a specific Scaleway Project\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the default Project's Cockpit\nconst main = scaleway.getCockpit({});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the default Project's Cockpit\nmain = scaleway.get_cockpit()\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 default Project's Cockpit\n var main = Scaleway.GetCockpit.Invoke();\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 default Project's Cockpit\n\t\t_, err := scaleway.LookupCockpit(ctx, \u0026scaleway.LookupCockpitArgs{}, 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.GetCockpitArgs;\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 default Project's Cockpit\n final var main = ScalewayFunctions.getCockpit();\n\n }\n}\n```\n```yaml\nvariables:\n # Get the default Project's Cockpit\n main:\n fn::invoke:\n Function: scaleway:getCockpit\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get a specific Project's Cockpit\nconst main = scaleway.getCockpit({\n projectId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get a specific Project's Cockpit\nmain = scaleway.get_cockpit(project_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 a specific Project's Cockpit\n var main = Scaleway.GetCockpit.Invoke(new()\n {\n ProjectId = \"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 a specific Project's Cockpit\n\t\t_, err := scaleway.LookupCockpit(ctx, \u0026scaleway.LookupCockpitArgs{\n\t\t\tProjectId: 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.GetCockpitArgs;\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 a specific Project's Cockpit\n final var main = ScalewayFunctions.getCockpit(GetCockpitArgs.builder()\n .projectId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get a specific Project's Cockpit\n main:\n fn::invoke:\n Function: scaleway:getCockpit\n Arguments:\n projectId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCockpit.\n", "properties": { "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the cockpit is associated with.\n" + "description": "Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration.\n" } }, "type": "object" @@ -22189,7 +22467,7 @@ "description": "A collection of values returned by getCockpit.\n", "properties": { "endpoints": { - "description": "Endpoints\n", + "description": "(Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs:\n", "items": { "$ref": "#/types/scaleway:index/getCockpitEndpoint:getCockpitEndpoint" }, @@ -22199,8 +22477,11 @@ "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "plan": { + "type": "string" + }, "planId": { - "description": "The ID of the current plan\n", + "description": "(Deprecated) ID of the current pricing plan\n", "type": "string" }, "projectId": { @@ -22215,6 +22496,7 @@ }, "required": [ "endpoints", + "plan", "planId", "pushUrls", "id" @@ -22223,13 +22505,13 @@ } }, "scaleway:index/getCockpitPlan:getCockpitPlan": { - "description": "Gets information about a Scaleway Cockpit plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst premium = scaleway.getCockpitPlan({\n name: \"premium\",\n});\nconst main = new scaleway.Cockpit(\"main\", {plan: premium.then(premium =\u003e premium.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\npremium = scaleway.get_cockpit_plan(name=\"premium\")\nmain = scaleway.Cockpit(\"main\", plan=premium.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var premium = Scaleway.GetCockpitPlan.Invoke(new()\n {\n Name = \"premium\",\n });\n\n var main = new Scaleway.Cockpit(\"main\", new()\n {\n Plan = premium.Apply(getCockpitPlanResult =\u003e getCockpitPlanResult.Id),\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\tpremium, err := scaleway.GetCockpitPlan(ctx, \u0026scaleway.GetCockpitPlanArgs{\n\t\t\tName: \"premium\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpit(ctx, \"main\", \u0026scaleway.CockpitArgs{\n\t\t\tPlan: pulumi.String(premium.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetCockpitPlanArgs;\nimport com.pulumi.scaleway.Cockpit;\nimport com.pulumi.scaleway.CockpitArgs;\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 premium = ScalewayFunctions.getCockpitPlan(GetCockpitPlanArgs.builder()\n .name(\"premium\")\n .build());\n\n var main = new Cockpit(\"main\", CockpitArgs.builder()\n .plan(premium.applyValue(getCockpitPlanResult -\u003e getCockpitPlanResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Cockpit\n properties:\n plan: ${premium.id}\nvariables:\n premium:\n fn::invoke:\n Function: scaleway:getCockpitPlan\n Arguments:\n name: premium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `scaleway.Cockpit`.\n\nFind out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console.\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## Fetch and associate a pricing plan to a Cockpit\n\nThe following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst premium = scaleway.getCockpitPlan({\n name: \"premium\",\n});\nconst main = new scaleway.Cockpit(\"main\", {plan: premium.then(premium =\u003e premium.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\npremium = scaleway.get_cockpit_plan(name=\"premium\")\nmain = scaleway.Cockpit(\"main\", plan=premium.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var premium = Scaleway.GetCockpitPlan.Invoke(new()\n {\n Name = \"premium\",\n });\n\n var main = new Scaleway.Cockpit(\"main\", new()\n {\n Plan = premium.Apply(getCockpitPlanResult =\u003e getCockpitPlanResult.Id),\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\tpremium, err := scaleway.GetCockpitPlan(ctx, \u0026scaleway.GetCockpitPlanArgs{\n\t\t\tName: \"premium\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpit(ctx, \"main\", \u0026scaleway.CockpitArgs{\n\t\t\tPlan: pulumi.String(premium.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetCockpitPlanArgs;\nimport com.pulumi.scaleway.Cockpit;\nimport com.pulumi.scaleway.CockpitArgs;\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 premium = ScalewayFunctions.getCockpitPlan(GetCockpitPlanArgs.builder()\n .name(\"premium\")\n .build());\n\n var main = new Cockpit(\"main\", CockpitArgs.builder()\n .plan(premium.applyValue(getCockpitPlanResult -\u003e getCockpitPlanResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Cockpit\n properties:\n plan: ${premium.id}\nvariables:\n premium:\n fn::invoke:\n Function: scaleway:getCockpitPlan\n Arguments:\n name: premium\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCockpitPlan.\n", "properties": { "name": { "type": "string", - "description": "The name of the plan.\n" + "description": "Name of the pricing plan you want to retrieve information about.\n" } }, "type": "object", @@ -23219,33 +23501,33 @@ } }, "scaleway:index/getDomainRecord:getDomainRecord": { - "description": "Gets information about a domain record.\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 record by name, type and data\nconst byContent = scaleway.getDomainRecord({\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.4\",\n});\n// Get info by ID\nconst byId = scaleway.getDomainRecord({\n dnsZone: \"domain.tld\",\n recordId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get record by name, type and data\nby_content = scaleway.get_domain_record(dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.4\")\n# Get info by ID\nby_id = scaleway.get_domain_record(dns_zone=\"domain.tld\",\n record_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 record by name, type and data\n var byContent = Scaleway.GetDomainRecord.Invoke(new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n });\n\n // Get info by ID\n var byId = Scaleway.GetDomainRecord.Invoke(new()\n {\n DnsZone = \"domain.tld\",\n RecordId = \"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 record by name, type and data\n\t\t_, err := scaleway.LookupDomainRecord(ctx, \u0026scaleway.LookupDomainRecordArgs{\n\t\t\tDnsZone: pulumi.StringRef(\"domain.tld\"),\n\t\t\tName: pulumi.StringRef(\"www\"),\n\t\t\tType: pulumi.StringRef(\"A\"),\n\t\t\tData: pulumi.StringRef(\"1.2.3.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by ID\n\t\t_, err = scaleway.LookupDomainRecord(ctx, \u0026scaleway.LookupDomainRecordArgs{\n\t\t\tDnsZone: pulumi.StringRef(\"domain.tld\"),\n\t\t\tRecordId: 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.GetDomainRecordArgs;\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 record by name, type and data\n final var byContent = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .build());\n\n // Get info by ID\n final var byId = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .recordId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get record by name, type and data\n byContent:\n fn::invoke:\n Function: scaleway:getDomainRecord\n Arguments:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.4\n # Get info by ID\n byId:\n fn::invoke:\n Function: scaleway:getDomainRecord\n Arguments:\n dnsZone: domain.tld\n recordId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.DomainRecord` data source is used to get information about an existing domain record.\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\n## Query domain records\n\nThe following commands allow you to:\n\n- query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`).\n- query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Query record by DNS zone, record name, type and content\nconst byContent = scaleway.getDomainRecord({\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.4\",\n});\n// Query record by DNS zone and record ID\nconst byId = scaleway.getDomainRecord({\n dnsZone: \"domain.tld\",\n recordId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Query record by DNS zone, record name, type and content\nby_content = scaleway.get_domain_record(dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.4\")\n# Query record by DNS zone and record ID\nby_id = scaleway.get_domain_record(dns_zone=\"domain.tld\",\n record_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 // Query record by DNS zone, record name, type and content\n var byContent = Scaleway.GetDomainRecord.Invoke(new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n });\n\n // Query record by DNS zone and record ID\n var byId = Scaleway.GetDomainRecord.Invoke(new()\n {\n DnsZone = \"domain.tld\",\n RecordId = \"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// Query record by DNS zone, record name, type and content\n\t\t_, err := scaleway.LookupDomainRecord(ctx, \u0026scaleway.LookupDomainRecordArgs{\n\t\t\tDnsZone: pulumi.StringRef(\"domain.tld\"),\n\t\t\tName: pulumi.StringRef(\"www\"),\n\t\t\tType: pulumi.StringRef(\"A\"),\n\t\t\tData: pulumi.StringRef(\"1.2.3.4\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query record by DNS zone and record ID\n\t\t_, err = scaleway.LookupDomainRecord(ctx, \u0026scaleway.LookupDomainRecordArgs{\n\t\t\tDnsZone: pulumi.StringRef(\"domain.tld\"),\n\t\t\tRecordId: 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.GetDomainRecordArgs;\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 // Query record by DNS zone, record name, type and content\n final var byContent = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .build());\n\n // Query record by DNS zone and record ID\n final var byId = ScalewayFunctions.getDomainRecord(GetDomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .recordId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Query record by DNS zone, record name, type and content\n byContent:\n fn::invoke:\n Function: scaleway:getDomainRecord\n Arguments:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.4\n # Query record by DNS zone and record ID\n byId:\n fn::invoke:\n Function: scaleway:getDomainRecord\n Arguments:\n dnsZone: domain.tld\n recordId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomainRecord.\n", "properties": { "data": { "type": "string", - "description": "The content of the record (an IPv4 for an `A`, a string for a `TXT`...).\nCannot be used with `record_id`.\n" + "description": "The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.\n" }, "dnsZone": { "type": "string", - "description": "The IP address.\n" + "description": "The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source.\n" }, "name": { "type": "string", - "description": "The name of the record (can be an empty string for a root record).\nCannot be used with `record_id`.\n" + "description": "The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the project the domain is associated with.\n" + "description": "). The ID of the Project associated with the domain.\n" }, "recordId": { "type": "string", - "description": "The record ID.\nCannot be used with `name`, `type` and `data`.\n" + "description": "The unique identifier of the record. Cannot be used with `name`, `type`, and `data`.\n" }, "type": { "type": "string", - "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`).\nCannot be used with `record_id`.\n" + "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`.\n" } }, "type": "object" @@ -23263,14 +23545,14 @@ "type": "string" }, "geoIps": { - "description": "Dynamic record base on user geolocalisation (More information about dynamic records)\n", + "description": "Information about dynamic records based on user geolocation. Find out more about dynamic records.\n", "items": { "$ref": "#/types/scaleway:index/getDomainRecordGeoIp:getDomainRecordGeoIp" }, "type": "array" }, "httpServices": { - "description": "Dynamic record base on URL resolve (More information about dynamic records)\n", + "description": "Information about dynamic records based on URL resolution. Find out more about dynamic records.\n", "items": { "$ref": "#/types/scaleway:index/getDomainRecordHttpService:getDomainRecordHttpService" }, @@ -23287,7 +23569,7 @@ "type": "string" }, "priority": { - "description": "The priority of the record (mostly used with an `MX` record)\n", + "description": "The priority of the record, mainly used with `MX` records.\n", "type": "integer" }, "projectId": { @@ -23300,21 +23582,21 @@ "type": "boolean" }, "ttl": { - "description": "Time To Live of the record in seconds.\n", + "description": "The Time To Live (TTL) of the record in seconds.\n", "type": "integer" }, "type": { "type": "string" }, "views": { - "description": "Dynamic record based on the client’s (resolver) subnet (More information about dynamic records)\n", + "description": "Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records.\n", "items": { "$ref": "#/types/scaleway:index/getDomainRecordView:getDomainRecordView" }, "type": "array" }, "weighteds": { - "description": "Dynamic record base on IP weights (More information about dynamic records)\n", + "description": "Information about dynamic records based on IP weights. Find out more about dynamic records.\n", "items": { "$ref": "#/types/scaleway:index/getDomainRecordWeighted:getDomainRecordWeighted" }, @@ -23337,17 +23619,16 @@ } }, "scaleway:index/getDomainZone:getDomainZone": { - "description": "Gets information about a domain zone.\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 zone\nconst main = scaleway.getDomainZone({\n domain: \"scaleway-terraform.com\",\n subdomain: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get zone\nmain = scaleway.get_domain_zone(domain=\"scaleway-terraform.com\",\n subdomain=\"test\")\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 zone\n var main = Scaleway.GetDomainZone.Invoke(new()\n {\n Domain = \"scaleway-terraform.com\",\n Subdomain = \"test\",\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 zone\n\t\t_, err := scaleway.LookupDomainZone(ctx, \u0026scaleway.LookupDomainZoneArgs{\n\t\t\tDomain: pulumi.StringRef(\"scaleway-terraform.com\"),\n\t\t\tSubdomain: pulumi.StringRef(\"test\"),\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.GetDomainZoneArgs;\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 zone\n final var main = ScalewayFunctions.getDomainZone(GetDomainZoneArgs.builder()\n .domain(\"scaleway-terraform.com\")\n .subdomain(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get zone\n main:\n fn::invoke:\n Function: scaleway:getDomainZone\n Arguments:\n domain: scaleway-terraform.com\n subdomain: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDomainZone.\n", "properties": { "domain": { "type": "string", - "description": "The domain where the DNS zone will be created.\n" + "description": "The primary domain name where the DNS zone is located. This is a mandatory field.\n" }, "subdomain": { "type": "string", - "description": "The subdomain(zone name) to create in the domain.\n" + "description": "The subdomain (or zone name) within the primary domain. This is a mandatory field.\n" } }, "type": "object" @@ -23363,25 +23644,25 @@ "type": "string" }, "message": { - "description": "Message\n", + "description": "Message associated with the domain zone (typically used for status or error messages).\n", "type": "string" }, "ns": { - "description": "NameServer list for zone.\n", + "description": "The list of name servers for the zone.\n", "items": { "type": "string" }, "type": "array" }, "nsDefaults": { - "description": "NameServer default list for zone.\n", + "description": "The default list of name servers for the zone.\n", "items": { "type": "string" }, "type": "array" }, "nsMasters": { - "description": "NameServer master list for zone.\n", + "description": "The master list of name servers for the zone.\n", "items": { "type": "string" }, @@ -23391,14 +23672,14 @@ "type": "string" }, "status": { - "description": "The domain zone status.\n", + "description": "The status of the domain zone.\n", "type": "string" }, "subdomain": { "type": "string" }, "updatedAt": { - "description": "The date and time of the last update of the DNS zone.\n", + "description": "The date and time of the last update to the DNS zone.\n", "type": "string" } }, @@ -26941,6 +27222,47 @@ "type": "object" } }, + "scaleway:index/getMnqSns:getMnqSns": { + "description": "Gets information about SNS for a Project\n\n## Examples\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// For default project\nconst main = scaleway.getMnqSns({});\n// For specific project\nconst forProject = scaleway.getMnqSns({\n projectId: mainScalewayAccountProject.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# For default project\nmain = scaleway.get_mnq_sns()\n# For specific project\nfor_project = scaleway.get_mnq_sns(project_id=main_scaleway_account_project[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // For default project\n var main = Scaleway.GetMnqSns.Invoke();\n\n // For specific project\n var forProject = Scaleway.GetMnqSns.Invoke(new()\n {\n ProjectId = mainScalewayAccountProject.Id,\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// For default project\n\t\t_, err := scaleway.LookupMnqSns(ctx, \u0026scaleway.LookupMnqSnsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// For specific project\n\t\t_, err = scaleway.LookupMnqSns(ctx, \u0026scaleway.LookupMnqSnsArgs{\n\t\t\tProjectId: pulumi.StringRef(mainScalewayAccountProject.Id),\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.GetMnqSnsArgs;\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 // For default project\n final var main = ScalewayFunctions.getMnqSns();\n\n // For specific project\n final var forProject = ScalewayFunctions.getMnqSns(GetMnqSnsArgs.builder()\n .projectId(mainScalewayAccountProject.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # For default project\n main:\n fn::invoke:\n Function: scaleway:getMnqSns\n Arguments: {}\n # For specific project\n forProject:\n fn::invoke:\n Function: scaleway:getMnqSns\n Arguments:\n projectId: ${mainScalewayAccountProject.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getMnqSns.\n", + "properties": { + "projectId": { + "type": "string", + "description": "`project_id`) The ID of the Project in which sns is enabled.\n" + }, + "region": { + "type": "string", + "description": "`region`). The region in which sns is enabled.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getMnqSns.\n", + "properties": { + "endpoint": { + "description": "The endpoint of the SNS service for this Project.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "projectId": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "required": [ + "endpoint", + "id" + ], + "type": "object" + } + }, "scaleway:index/getMnqSqs:getMnqSqs": { "description": "Gets information about SQS for a Project\n\n## Examples\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// For default project\nconst main = scaleway.getMnqSqs({});\n// For specific project\nconst forProject = scaleway.getMnqSqs({\n projectId: mainScalewayAccountProject.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# For default project\nmain = scaleway.get_mnq_sqs()\n# For specific project\nfor_project = scaleway.get_mnq_sqs(project_id=main_scaleway_account_project[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // For default project\n var main = Scaleway.GetMnqSqs.Invoke();\n\n // For specific project\n var forProject = Scaleway.GetMnqSqs.Invoke(new()\n {\n ProjectId = mainScalewayAccountProject.Id,\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// For default project\n\t\t_, err := scaleway.LookupMnqSqs(ctx, \u0026scaleway.LookupMnqSqsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// For specific project\n\t\t_, err = scaleway.LookupMnqSqs(ctx, \u0026scaleway.LookupMnqSqsArgs{\n\t\t\tProjectId: pulumi.StringRef(mainScalewayAccountProject.Id),\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.GetMnqSqsArgs;\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 // For default project\n final var main = ScalewayFunctions.getMnqSqs();\n\n // For specific project\n final var forProject = ScalewayFunctions.getMnqSqs(GetMnqSqsArgs.builder()\n .projectId(mainScalewayAccountProject.id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # For default project\n main:\n fn::invoke:\n Function: scaleway:getMnqSqs\n Arguments: {}\n # For specific project\n forProject:\n fn::invoke:\n Function: scaleway:getMnqSqs\n Arguments:\n projectId: ${mainScalewayAccountProject.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -27426,33 +27748,33 @@ } }, "scaleway:index/getSecret:getSecret": { - "description": "Gets information about Scaleway Secrets.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/).\n\n## Examples\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.Secret(\"main\", {\n name: \"foo\",\n description: \"barr\",\n});\n// Get info by secret ID\nconst mySecret = scaleway.getSecret({\n secretId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get info by secret Name\nconst byName = scaleway.getSecret({\n name: \"your_secret_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.Secret(\"main\",\n name=\"foo\",\n description=\"barr\")\n# Get info by secret ID\nmy_secret = scaleway.get_secret(secret_id=\"11111111-1111-1111-1111-111111111111\")\n# Get info by secret Name\nby_name = scaleway.get_secret(name=\"your_secret_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Scaleway.Secret(\"main\", new()\n {\n Name = \"foo\",\n Description = \"barr\",\n });\n\n // Get info by secret ID\n var mySecret = Scaleway.GetSecret.Invoke(new()\n {\n SecretId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get info by secret Name\n var byName = Scaleway.GetSecret.Invoke(new()\n {\n Name = \"your_secret_name\",\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.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by secret ID\n\t\t_, err = scaleway.LookupSecret(ctx, \u0026scaleway.LookupSecretArgs{\n\t\t\tSecretId: 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// Get info by secret Name\n\t\t_, err = scaleway.LookupSecret(ctx, \u0026scaleway.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"your_secret_name\"),\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetSecretArgs;\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 Secret(\"main\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"barr\")\n .build());\n\n // Get info by secret ID\n final var mySecret = ScalewayFunctions.getSecret(GetSecretArgs.builder()\n .secretId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get info by secret Name\n final var byName = ScalewayFunctions.getSecret(GetSecretArgs.builder()\n .name(\"your_secret_name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Secret\n properties:\n name: foo\n description: barr\nvariables:\n # Get info by secret ID\n mySecret:\n fn::invoke:\n Function: scaleway:getSecret\n Arguments:\n secretId: 11111111-1111-1111-1111-111111111111\n # Get info by secret Name\n byName:\n fn::invoke:\n Function: scaleway:getSecret\n Arguments:\n name: your_secret_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager.\n\nRefer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.\n\n## Example Usage\n\n### Create a secret and get its information\n\nThe following commands allow you to:\n\n- create a secret named `foo` with the description `barr`\n- retrieve the secret's information using the secret's ID\n- retrieve the secret's information using the secret's name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\n// Create a secret\nconst main = new scaleway.Secret(\"main\", {\n name: \"foo\",\n description: \"barr\",\n});\n// Get the secret information specified by the secret ID\nconst mySecret = scaleway.getSecret({\n secretId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get the secret information specified by the secret name\nconst byName = scaleway.getSecret({\n name: \"your_secret_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Create a secret\nmain = scaleway.Secret(\"main\",\n name=\"foo\",\n description=\"barr\")\n# Get the secret information specified by the secret ID\nmy_secret = scaleway.get_secret(secret_id=\"11111111-1111-1111-1111-111111111111\")\n# Get the secret information specified by the secret name\nby_name = scaleway.get_secret(name=\"your_secret_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a secret\n var main = new Scaleway.Secret(\"main\", new()\n {\n Name = \"foo\",\n Description = \"barr\",\n });\n\n // Get the secret information specified by the secret ID\n var mySecret = Scaleway.GetSecret.Invoke(new()\n {\n SecretId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get the secret information specified by the secret name\n var byName = Scaleway.GetSecret.Invoke(new()\n {\n Name = \"your_secret_name\",\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// Create a secret\n\t\t_, err := scaleway.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get the secret information specified by the secret ID\n\t\t_, err = scaleway.LookupSecret(ctx, \u0026scaleway.LookupSecretArgs{\n\t\t\tSecretId: 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// Get the secret information specified by the secret name\n\t\t_, err = scaleway.LookupSecret(ctx, \u0026scaleway.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"your_secret_name\"),\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetSecretArgs;\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 // Create a secret\n var main = new Secret(\"main\", SecretArgs.builder()\n .name(\"foo\")\n .description(\"barr\")\n .build());\n\n // Get the secret information specified by the secret ID\n final var mySecret = ScalewayFunctions.getSecret(GetSecretArgs.builder()\n .secretId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get the secret information specified by the secret name\n final var byName = ScalewayFunctions.getSecret(GetSecretArgs.builder()\n .name(\"your_secret_name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a secret\n main:\n type: scaleway:Secret\n properties:\n name: foo\n description: barr\nvariables:\n # Get the secret information specified by the secret ID\n mySecret:\n fn::invoke:\n Function: scaleway:getSecret\n Arguments:\n secretId: 11111111-1111-1111-1111-111111111111\n # Get the secret information specified by the secret name\n byName:\n fn::invoke:\n Function: scaleway:getSecret\n Arguments:\n name: your_secret_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSecret.\n", "properties": { "name": { "type": "string", - "description": "The secret name.\nOnly one of `name` and `secret_id` should be specified.\n" + "description": "The name of the secret.\nOnly one of `name` and `secret_id` should be specified.\n" }, "organizationId": { "type": "string", - "description": "The organization ID the Project is associated with.\nIf no default organization_id is set, one must be set explicitly in this datasource\n" + "description": "The ID of the Scaleway Organization the Project is associated with. If no default `organization_id` is set, it must be set explicitly in this data source.\n" }, "path": { "type": "string", - "description": "The secret path.\nConflicts with `secret_id`.\n" + "description": "The path of the secret.\nConflicts with `secret_id`.\n" }, "projectId": { "type": "string", - "description": "`project_id`) The ID of the\nproject the secret is associated with.\n" + "description": "). The ID of the\nProject the secret is associated with.\n" }, "region": { "type": "string", - "description": "`region`) The region in which the secret exists.\n" + "description": "). The region in which the secret exists.\n" }, "secretId": { "type": "string", - "description": "The secret id.\nOnly one of `name` and `secret_id` should be specified.\n" + "description": "The ID of the secret.\nOnly one of `name` and `secret_id` should be specified.\n" } }, "type": "object" @@ -27466,6 +27788,12 @@ "description": { "type": "string" }, + "ephemeralPolicies": { + "items": { + "$ref": "#/types/scaleway:index/getSecretEphemeralPolicy:getSecretEphemeralPolicy" + }, + "type": "array" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -27482,6 +27810,9 @@ "projectId": { "type": "string" }, + "protected": { + "type": "boolean" + }, "region": { "type": "string" }, @@ -27497,6 +27828,9 @@ }, "type": "array" }, + "type": { + "type": "string" + }, "updatedAt": { "type": "string" }, @@ -27507,9 +27841,12 @@ "required": [ "createdAt", "description", + "ephemeralPolicies", "organizationId", + "protected", "status", "tags", + "type", "updatedAt", "versionCount", "id" @@ -27518,29 +27855,31 @@ } }, "scaleway:index/getSecretVersion:getSecretVersion": { - "description": "Gets information about Scaleway a Secret Version.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501).\n\n## Examples\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.Secret(\"main\", {\n name: \"fooii\",\n description: \"barr\",\n});\nconst mainSecretVersion = new scaleway.SecretVersion(\"main\", {\n description: \"your description\",\n secretId: main.id,\n data: \"your_secret\",\n});\nconst dataBySecretId = scaleway.getSecretVersionOutput({\n secretId: main.id,\n revision: \"1\",\n});\nconst dataBySecretName = scaleway.getSecretVersionOutput({\n secretName: main.name,\n revision: \"1\",\n});\nexport const scalewaySecretAccessPayload = dataBySecretName.apply(dataBySecretName =\u003e dataBySecretName.data);\nexport const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId =\u003e dataBySecretId.data);\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.Secret(\"main\",\n name=\"fooii\",\n description=\"barr\")\nmain_secret_version = scaleway.SecretVersion(\"main\",\n description=\"your description\",\n secret_id=main.id,\n data=\"your_secret\")\ndata_by_secret_id = scaleway.get_secret_version_output(secret_id=main.id,\n revision=\"1\")\ndata_by_secret_name = scaleway.get_secret_version_output(secret_name=main.name,\n revision=\"1\")\npulumi.export(\"scalewaySecretAccessPayload\", data_by_secret_name.data)\npulumi.export(\"scalewaySecretAccessPayloadById\", data_by_secret_id.data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Scaleway.Secret(\"main\", new()\n {\n Name = \"fooii\",\n Description = \"barr\",\n });\n\n var mainSecretVersion = new Scaleway.SecretVersion(\"main\", new()\n {\n Description = \"your description\",\n SecretId = main.Id,\n Data = \"your_secret\",\n });\n\n var dataBySecretId = Scaleway.GetSecretVersion.Invoke(new()\n {\n SecretId = main.Id,\n Revision = \"1\",\n });\n\n var dataBySecretName = Scaleway.GetSecretVersion.Invoke(new()\n {\n SecretName = main.Name,\n Revision = \"1\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"scalewaySecretAccessPayload\"] = dataBySecretName.Apply(getSecretVersionResult =\u003e getSecretVersionResult.Data),\n [\"scalewaySecretAccessPayloadById\"] = dataBySecretId.Apply(getSecretVersionResult =\u003e getSecretVersionResult.Data),\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\tmain, err := scaleway.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"fooii\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewSecretVersion(ctx, \"main\", \u0026scaleway.SecretVersionArgs{\n\t\t\tDescription: pulumi.String(\"your description\"),\n\t\t\tSecretId: main.ID(),\n\t\t\tData: pulumi.String(\"your_secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataBySecretId := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{\n\t\t\tSecretId: main.ID(),\n\t\t\tRevision: pulumi.String(\"1\"),\n\t\t}, nil)\n\t\tdataBySecretName := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{\n\t\t\tSecretName: main.Name,\n\t\t\tRevision: pulumi.String(\"1\"),\n\t\t}, nil)\n\t\tctx.Export(\"scalewaySecretAccessPayload\", dataBySecretName.ApplyT(func(dataBySecretName scaleway.GetSecretVersionResult) (*string, error) {\n\t\t\treturn \u0026dataBySecretName.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\tctx.Export(\"scalewaySecretAccessPayloadById\", dataBySecretId.ApplyT(func(dataBySecretId scaleway.GetSecretVersionResult) (*string, error) {\n\t\t\treturn \u0026dataBySecretId.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.SecretVersion;\nimport com.pulumi.scaleway.SecretVersionArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetSecretVersionArgs;\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 Secret(\"main\", SecretArgs.builder()\n .name(\"fooii\")\n .description(\"barr\")\n .build());\n\n var mainSecretVersion = new SecretVersion(\"mainSecretVersion\", SecretVersionArgs.builder()\n .description(\"your description\")\n .secretId(main.id())\n .data(\"your_secret\")\n .build());\n\n final var dataBySecretId = ScalewayFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(main.id())\n .revision(\"1\")\n .build());\n\n final var dataBySecretName = ScalewayFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretName(main.name())\n .revision(\"1\")\n .build());\n\n ctx.export(\"scalewaySecretAccessPayload\", dataBySecretName.applyValue(getSecretVersionResult -\u003e getSecretVersionResult).applyValue(dataBySecretName -\u003e dataBySecretName.applyValue(getSecretVersionResult -\u003e getSecretVersionResult.data())));\n ctx.export(\"scalewaySecretAccessPayloadById\", dataBySecretId.applyValue(getSecretVersionResult -\u003e getSecretVersionResult).applyValue(dataBySecretId -\u003e dataBySecretId.applyValue(getSecretVersionResult -\u003e getSecretVersionResult.data())));\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Secret\n properties:\n name: fooii\n description: barr\n mainSecretVersion:\n type: scaleway:SecretVersion\n name: main\n properties:\n description: your description\n secretId: ${main.id}\n data: your_secret\nvariables:\n dataBySecretId:\n fn::invoke:\n Function: scaleway:getSecretVersion\n Arguments:\n secretId: ${main.id}\n revision: '1'\n dataBySecretName:\n fn::invoke:\n Function: scaleway:getSecretVersion\n Arguments:\n secretName: ${main.name}\n revision: '1'\noutputs:\n #Output Sensitive data\n scalewaySecretAccessPayload: ${dataBySecretName.data}\n #Output Sensitive data\n scalewaySecretAccessPayloadById: ${dataBySecretId.data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Data\n\nNote: This Data Source give you **access** to the secret payload encoded en base64.\n\nBe aware that this is a sensitive attribute. For more information,\nsee Sensitive Data in State.\n\n\u003e **Important:** This property is sensitive and will not be displayed in the plan.\n", + "description": "The `scaleway.SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager.\n\nRefer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.\n\n\n## Example Usage\n\n### Use Secret Manager\n\nThe following commands allow you to:\n\n- create a secret named `fooii`\n- create a new version of `fooii` containing data (`your_secret`)\n- retrieve the secret version specified by the secret ID and the desired version\n- retrieve the secret version specified by the secret name and the desired version\n\nThe output blocks display the sensitive data contained in your secret version.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\n// Create a secret named fooii\nconst main = new scaleway.Secret(\"main\", {\n name: \"fooii\",\n description: \"barr\",\n});\n// Create a version of fooii containing data\nconst mainSecretVersion = new scaleway.SecretVersion(\"main\", {\n description: \"your description\",\n secretId: main.id,\n data: \"your_secret\",\n});\n// Retrieve the secret version specified by the secret ID and the desired version\nconst dataBySecretId = scaleway.getSecretVersionOutput({\n secretId: main.id,\n revision: \"1\",\n});\n// Retrieve the secret version specified by the secret name and the desired version\nconst dataBySecretName = scaleway.getSecretVersionOutput({\n secretName: main.name,\n revision: \"1\",\n});\nexport const scalewaySecretAccessPayload = dataBySecretName.apply(dataBySecretName =\u003e dataBySecretName.data);\nexport const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId =\u003e dataBySecretId.data);\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Create a secret named fooii\nmain = scaleway.Secret(\"main\",\n name=\"fooii\",\n description=\"barr\")\n# Create a version of fooii containing data\nmain_secret_version = scaleway.SecretVersion(\"main\",\n description=\"your description\",\n secret_id=main.id,\n data=\"your_secret\")\n# Retrieve the secret version specified by the secret ID and the desired version\ndata_by_secret_id = scaleway.get_secret_version_output(secret_id=main.id,\n revision=\"1\")\n# Retrieve the secret version specified by the secret name and the desired version\ndata_by_secret_name = scaleway.get_secret_version_output(secret_name=main.name,\n revision=\"1\")\npulumi.export(\"scalewaySecretAccessPayload\", data_by_secret_name.data)\npulumi.export(\"scalewaySecretAccessPayloadById\", data_by_secret_id.data)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a secret named fooii\n var main = new Scaleway.Secret(\"main\", new()\n {\n Name = \"fooii\",\n Description = \"barr\",\n });\n\n // Create a version of fooii containing data\n var mainSecretVersion = new Scaleway.SecretVersion(\"main\", new()\n {\n Description = \"your description\",\n SecretId = main.Id,\n Data = \"your_secret\",\n });\n\n // Retrieve the secret version specified by the secret ID and the desired version\n var dataBySecretId = Scaleway.GetSecretVersion.Invoke(new()\n {\n SecretId = main.Id,\n Revision = \"1\",\n });\n\n // Retrieve the secret version specified by the secret name and the desired version\n var dataBySecretName = Scaleway.GetSecretVersion.Invoke(new()\n {\n SecretName = main.Name,\n Revision = \"1\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"scalewaySecretAccessPayload\"] = dataBySecretName.Apply(getSecretVersionResult =\u003e getSecretVersionResult.Data),\n [\"scalewaySecretAccessPayloadById\"] = dataBySecretId.Apply(getSecretVersionResult =\u003e getSecretVersionResult.Data),\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// Create a secret named fooii\n\t\tmain, err := scaleway.NewSecret(ctx, \"main\", \u0026scaleway.SecretArgs{\n\t\t\tName: pulumi.String(\"fooii\"),\n\t\t\tDescription: pulumi.String(\"barr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a version of fooii containing data\n\t\t_, err = scaleway.NewSecretVersion(ctx, \"main\", \u0026scaleway.SecretVersionArgs{\n\t\t\tDescription: pulumi.String(\"your description\"),\n\t\t\tSecretId: main.ID(),\n\t\t\tData: pulumi.String(\"your_secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve the secret version specified by the secret ID and the desired version\n\t\tdataBySecretId := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{\n\t\t\tSecretId: main.ID(),\n\t\t\tRevision: pulumi.String(\"1\"),\n\t\t}, nil)\n\t\t// Retrieve the secret version specified by the secret name and the desired version\n\t\tdataBySecretName := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{\n\t\t\tSecretName: main.Name,\n\t\t\tRevision: pulumi.String(\"1\"),\n\t\t}, nil)\n\t\tctx.Export(\"scalewaySecretAccessPayload\", dataBySecretName.ApplyT(func(dataBySecretName scaleway.GetSecretVersionResult) (*string, error) {\n\t\t\treturn \u0026dataBySecretName.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\n\t\tctx.Export(\"scalewaySecretAccessPayloadById\", dataBySecretId.ApplyT(func(dataBySecretId scaleway.GetSecretVersionResult) (*string, error) {\n\t\t\treturn \u0026dataBySecretId.Data, nil\n\t\t}).(pulumi.StringPtrOutput))\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.Secret;\nimport com.pulumi.scaleway.SecretArgs;\nimport com.pulumi.scaleway.SecretVersion;\nimport com.pulumi.scaleway.SecretVersionArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetSecretVersionArgs;\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 // Create a secret named fooii\n var main = new Secret(\"main\", SecretArgs.builder()\n .name(\"fooii\")\n .description(\"barr\")\n .build());\n\n // Create a version of fooii containing data\n var mainSecretVersion = new SecretVersion(\"mainSecretVersion\", SecretVersionArgs.builder()\n .description(\"your description\")\n .secretId(main.id())\n .data(\"your_secret\")\n .build());\n\n // Retrieve the secret version specified by the secret ID and the desired version\n final var dataBySecretId = ScalewayFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretId(main.id())\n .revision(\"1\")\n .build());\n\n // Retrieve the secret version specified by the secret name and the desired version\n final var dataBySecretName = ScalewayFunctions.getSecretVersion(GetSecretVersionArgs.builder()\n .secretName(main.name())\n .revision(\"1\")\n .build());\n\n ctx.export(\"scalewaySecretAccessPayload\", dataBySecretName.applyValue(getSecretVersionResult -\u003e getSecretVersionResult).applyValue(dataBySecretName -\u003e dataBySecretName.applyValue(getSecretVersionResult -\u003e getSecretVersionResult.data())));\n ctx.export(\"scalewaySecretAccessPayloadById\", dataBySecretId.applyValue(getSecretVersionResult -\u003e getSecretVersionResult).applyValue(dataBySecretId -\u003e dataBySecretId.applyValue(getSecretVersionResult -\u003e getSecretVersionResult.data())));\n }\n}\n```\n```yaml\nresources:\n # Create a secret named fooii\n main:\n type: scaleway:Secret\n properties:\n name: fooii\n description: barr\n # Create a version of fooii containing data\n mainSecretVersion:\n type: scaleway:SecretVersion\n name: main\n properties:\n description: your description\n secretId: ${main.id}\n data: your_secret\nvariables:\n # Retrieve the secret version specified by the secret ID and the desired version\n dataBySecretId:\n fn::invoke:\n Function: scaleway:getSecretVersion\n Arguments:\n secretId: ${main.id}\n revision: '1'\n # Retrieve the secret version specified by the secret name and the desired version\n dataBySecretName:\n fn::invoke:\n Function: scaleway:getSecretVersion\n Arguments:\n secretName: ${main.name}\n revision: '1'\noutputs:\n # Display sensitive data\n scalewaySecretAccessPayload: ${dataBySecretName.data}\n # Display sensitive data\n scalewaySecretAccessPayloadById: ${dataBySecretId.data}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Data information\n\nNote: This data source provides you with access to the secret payload, which is encoded in base64.\n\nKeep in mind that this is a sensitive attribute. For more information,\nsee Sensitive Data in State.\n\n\u003e **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons.\n", "inputs": { "description": "A collection of arguments for invoking getSecretVersion.\n", "properties": { + "organizationId": { + "type": "string" + }, "projectId": { "type": "string", - "description": "The ID of the project the Secret version is associated with.\n" + "description": "The ID of the Scaleway Project associated with the secret version.\n" }, "region": { - "type": "string", - "description": "`region`) The region\nin which the resource exists.\n" + "type": "string" }, "revision": { "type": "string", - "description": "The revision for this Secret Version.\n" + "description": "The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id)\n" }, "secretId": { "type": "string", - "description": "The Secret ID associated wit the secret version.\nOnly one of `secret_id` and `secret_name` should be specified.\n" + "description": "The ID of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified.\n" }, "secretName": { "type": "string", - "description": "The Name of Secret associated wit the secret version.\nOnly one of `secret_id` and `secret_name` should be specified.\n" + "description": "The name of the secret associated with the secret version.\nOnly one of `secret_id` and `secret_name` should be specified.\n" } }, "type": "object" @@ -27549,22 +27888,25 @@ "description": "A collection of values returned by getSecretVersion.\n", "properties": { "createdAt": { - "description": "Date and time of secret version's creation (RFC 3339 format).\n", + "description": "The date and time of the secret version's creation in RFC 3339 format.\n", "type": "string" }, "data": { - "description": "The data payload of the secret version. more on the data section\n", + "description": "The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information).\n", "secret": true, "type": "string" }, "description": { - "description": "(Optional) Description of the secret version (e.g. `my-new-description`).\n", + "description": "(Optional) The description of the secret version (e.g. `my-new-description`).\n", "type": "string" }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "organizationId": { + "type": "string" + }, "projectId": { "type": "string" }, @@ -27581,11 +27923,11 @@ "type": "string" }, "status": { - "description": "The status of the Secret Version.\n", + "description": "The status of the secret version.\n", "type": "string" }, "updatedAt": { - "description": "Date and time of secret version's last update (RFC 3339 format).\n", + "description": "The date and time of the secret version's last update in RFC 3339 format.\n", "type": "string" } }, @@ -27593,6 +27935,7 @@ "createdAt", "data", "description", + "organizationId", "status", "updatedAt", "id" diff --git a/provider/go.mod b/provider/go.mod index b19db090..ad67c06c 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -165,7 +165,7 @@ require ( github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/nats-io/jwt/v2 v2.5.8 // indirect - github.com/nats-io/nats.go v1.36.0 // indirect + github.com/nats-io/nats.go v1.37.0 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/oklog/run v1.1.0 // indirect @@ -194,8 +194,8 @@ require ( github.com/ryanuber/go-glob v1.0.0 // indirect 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.29.0.20240729155332-ce25a04774bb // indirect - github.com/scaleway/terraform-provider-scaleway/v2 v2.43.0 // indirect + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 // indirect + github.com/scaleway/terraform-provider-scaleway/v2 v2.44.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 @@ -229,15 +229,15 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.25.0 // indirect + golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.19.0 // indirect golang.org/x/net v0.27.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.22.0 // indirect - golang.org/x/term v0.22.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.23.0 // indirect + golang.org/x/term v0.23.0 // indirect + golang.org/x/text v0.17.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.23.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect diff --git a/provider/go.sum b/provider/go.sum index 100b6045..ac786165 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1343,8 +1343,8 @@ github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= -github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4= +github.com/docker/docker v27.2.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= @@ -1847,8 +1847,8 @@ github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0 github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= github.com/nats-io/jwt/v2 v2.5.8 h1:uvdSzwWiEGWGXf+0Q+70qv6AQdvcvxrv9hPM0RiPamE= github.com/nats-io/jwt/v2 v2.5.8/go.mod h1:ZdWS1nZa6WMZfFwwgpEaqBV8EPGVgOTDHN/wTbz0Y5A= -github.com/nats-io/nats.go v1.36.0 h1:suEUPuWzTSse/XhESwqLxXGuj8vGRuPRoG7MoRN/qyU= -github.com/nats-io/nats.go v1.36.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= +github.com/nats-io/nats.go v1.37.0 h1:07rauXbVnnJvv1gfIyghFEo6lUcYRY0WXc3x7x0vUxE= +github.com/nats-io/nats.go v1.37.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= @@ -1988,10 +1988,10 @@ github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDj github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= 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.29.0.20240729155332-ce25a04774bb h1:DKG/qk3CxPxDSUk8yE6/rDubPgGttx4vxqa0tLmCj5E= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scaleway/terraform-provider-scaleway/v2 v2.43.0 h1:EfrfwjjQo17/1hwq6wN9EKjs+MyaIwcQT4OHGvQol0E= -github.com/scaleway/terraform-provider-scaleway/v2 v2.43.0/go.mod h1:deM3hogAZKcYYwI65eEltsMy9pqHWWuq8ixUO23hynE= +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.44.0 h1:lG1C7HXVfH9o90ZCp7pIQth9Bl4ULlb4u8KUdkYpHVM= +github.com/scaleway/terraform-provider-scaleway/v2 v2.44.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= @@ -2163,8 +2163,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2370,8 +2370,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2481,8 +2481,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2503,8 +2503,8 @@ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2526,8 +2526,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/provider/resources.go b/provider/resources.go index 0d09e18c..83bb4753 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -683,6 +683,12 @@ func Provider() tfbridge.ProviderInfo { Source: "tem_domain_validation.md", }, }, + "scaleway_tem_webhook": { + Tok: scalewayResource(scalewayMod, "TemWebhook"), + Docs: &tfbridge.DocInfo{ + Source: "tem_webhook.md", + }, + }, "scaleway_vpc_gateway_network": { Tok: scalewayResource(scalewayMod, "VpcGatewayNetwork"), Docs: &tfbridge.DocInfo{ @@ -1105,6 +1111,12 @@ func Provider() tfbridge.ProviderInfo { Source: "marketplace_image.md", }, }, + "scaleway_mnq_sns": { + Tok: scalewayDataSource(scalewayMod, "getMnqSns"), + Docs: &tfbridge.DocInfo{ + Source: "mnq_sns.md", + }, + }, "scaleway_mnq_sqs": { Tok: scalewayDataSource(scalewayMod, "getMnqSqs"), Docs: &tfbridge.DocInfo{ diff --git a/provider/shim/go.mod b/provider/shim/go.mod index 46747c7a..97bdbff6 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.43.0 + github.com/scaleway/terraform-provider-scaleway/v2 v2.44.0 ) require ( @@ -49,24 +49,24 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/nats-io/jwt/v2 v2.5.8 // indirect - github.com/nats-io/nats.go v1.36.0 // indirect + github.com/nats-io/nats.go v1.37.0 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/oklog/run v1.1.0 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb // indirect + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/zclconf/go-cty v1.15.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect - golang.org/x/crypto v0.25.0 // indirect + golang.org/x/crypto v0.26.0 // indirect golang.org/x/mod v0.19.0 // indirect golang.org/x/net v0.27.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.22.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.23.0 // indirect + golang.org/x/text v0.17.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240725223205-93522f1f2a9f // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 6f519322..336a0bea 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -25,8 +25,8 @@ github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= -github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4= +github.com/docker/docker v27.2.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= @@ -158,8 +158,8 @@ github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3N github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/nats-io/jwt/v2 v2.5.8 h1:uvdSzwWiEGWGXf+0Q+70qv6AQdvcvxrv9hPM0RiPamE= github.com/nats-io/jwt/v2 v2.5.8/go.mod h1:ZdWS1nZa6WMZfFwwgpEaqBV8EPGVgOTDHN/wTbz0Y5A= -github.com/nats-io/nats.go v1.36.0 h1:suEUPuWzTSse/XhESwqLxXGuj8vGRuPRoG7MoRN/qyU= -github.com/nats-io/nats.go v1.36.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= +github.com/nats-io/nats.go v1.37.0 h1:07rauXbVnnJvv1gfIyghFEo6lUcYRY0WXc3x7x0vUxE= +github.com/nats-io/nats.go v1.37.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= @@ -178,10 +178,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 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.29.0.20240729155332-ce25a04774bb h1:DKG/qk3CxPxDSUk8yE6/rDubPgGttx4vxqa0tLmCj5E= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scaleway/terraform-provider-scaleway/v2 v2.43.0 h1:EfrfwjjQo17/1hwq6wN9EKjs+MyaIwcQT4OHGvQol0E= -github.com/scaleway/terraform-provider-scaleway/v2 v2.43.0/go.mod h1:deM3hogAZKcYYwI65eEltsMy9pqHWWuq8ixUO23hynE= +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.44.0 h1:lG1C7HXVfH9o90ZCp7pIQth9Bl4ULlb4u8KUdkYpHVM= +github.com/scaleway/terraform-provider-scaleway/v2 v2.44.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= @@ -215,8 +215,8 @@ go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -230,8 +230,8 @@ golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -244,19 +244,19 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/sdk/nodejs/package-lock.json b/sdk/nodejs/package-lock.json new file mode 100644 index 00000000..3b854bb1 --- /dev/null +++ b/sdk/nodejs/package-lock.json @@ -0,0 +1,3303 @@ +{ + "name": "@pulumiverse/scaleway", + "version": "1.0.0-alpha.0+dev", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@pulumiverse/scaleway", + "version": "1.0.0-alpha.0+dev", + "license": "Apache-2.0", + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0", + "typescript": "^4.3.5" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.2.tgz", + "integrity": "sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg==", + "license": "Apache-2.0", + "dependencies": { + "@grpc/proto-loader": "^0.7.13", + "@js-sdsl/ordered-map": "^4.4.2" + }, + "engines": { + "node": ">=12.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", + "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", + "license": "Apache-2.0", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", + "license": "ISC" + }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/@logdna/tail-file": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.2.0.tgz", + "integrity": "sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==", + "license": "SEE LICENSE IN LICENSE", + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", + "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.1.1", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.6", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "license": "ISC", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz", + "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==", + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", + "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "license": "ISC", + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", + "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.1.tgz", + "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==", + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", + "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "license": "ISC", + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/query": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", + "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.52.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz", + "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.27.0.tgz", + "integrity": "sha512-CdZ3qmHCwNhFAzjTgHqrDQ44Qxcpz43cVxZRhOs+Ns/79ug+Mr84Bkb626bkJLkA3+BLimA5YAEVRlJC6pFb7g==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.27.0.tgz", + "integrity": "sha512-yQPKnK5e+76XuiqUH/gKyS8wv/7qITd5ln56QkBTf3uggr0VkXOXfcaAuG330UfdYu83wsyoBwqwxigpIG+Jkg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/exporter-zipkin": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.27.0.tgz", + "integrity": "sha512-eGMY3s4QprspFZojqsuQyQpWNFpo+oNVE/aosTbtvAlrJBAlvXcwwsOROOHOd8Y9lkU4i0FpQW482rcXkgwCSw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.52.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz", + "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.52.1", + "@types/shimmer": "^1.0.2", + "import-in-the-middle": "^1.8.1", + "require-in-the-middle": "^7.1.1", + "semver": "^7.5.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-grpc": { + "version": "0.52.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz", + "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": "0.52.1", + "@opentelemetry/semantic-conventions": "1.25.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/semantic-conventions": { + "version": "1.25.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz", + "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/propagator-b3": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.27.0.tgz", + "integrity": "sha512-pTsko3gnMioe3FeWcwTQR3omo5C35tYsKKwjgTCTVCgd3EOWL9BZrMfgLBmszrwXABDfUrlAEFN/0W0FfQGynQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/propagator-jaeger": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.27.0.tgz", + "integrity": "sha512-EI1bbK0wn0yIuKlc2Qv2LKBRw6LiUWevrjCF80fn/rlaB+7StAi8Y5s8DBqAYNpY7v1q86+NjU18v7hj2ejU3A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.27.0.tgz", + "integrity": "sha512-jOwt2VJ/lUD5BLc+PMNymDrUCpm5PKi1E9oSVYAvz01U/VdndGmrtV3DU1pG4AwlYhJRHbHfOUIlpBeXCPw6QQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.27.0.tgz", + "integrity": "sha512-btz6XTQzwsyJjombpeqCX6LhiMQYpzt2pIYNPnw0IPO/3AhT6yjnf8Mnv3ZC2A4eRYOjqrg+bfaXg9XHDRJDWQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.27.0", + "@opentelemetry/resources": "1.27.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.27.0.tgz", + "integrity": "sha512-dWZp/dVGdUEfRBjBq2BgNuBlFqHCxyyMc8FsN0NX15X07mxSUO0SZRLyK/fdAVrde8nqFI/FEdMH4rgU9fqJfQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-async-hooks": "1.27.0", + "@opentelemetry/core": "1.27.0", + "@opentelemetry/propagator-b3": "1.27.0", + "@opentelemetry/propagator-jaeger": "1.27.0", + "@opentelemetry/sdk-trace-base": "1.27.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz", + "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, + "node_modules/@pulumi/pulumi": { + "version": "3.137.0", + "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.137.0.tgz", + "integrity": "sha512-YgvcPKxuE3X1Yi93W2qZuM43nELT1FEvz7J5IK1hAJPo+v9m2oAh5Vag1lNDPjM0+y7WDfFe0ODI+2way3quRw==", + "license": "Apache-2.0", + "dependencies": { + "@grpc/grpc-js": "^1.10.1", + "@logdna/tail-file": "^2.0.6", + "@npmcli/arborist": "^7.3.1", + "@opentelemetry/api": "^1.9", + "@opentelemetry/exporter-zipkin": "^1.25", + "@opentelemetry/instrumentation": "^0.52", + "@opentelemetry/instrumentation-grpc": "^0.52", + "@opentelemetry/resources": "^1.25", + "@opentelemetry/sdk-trace-base": "^1.25", + "@opentelemetry/sdk-trace-node": "^1.25", + "@opentelemetry/semantic-conventions": "^1.25", + "@pulumi/query": "^0.3.0", + "@types/google-protobuf": "^3.15.5", + "@types/semver": "^7.5.6", + "@types/tmp": "^0.2.6", + "execa": "^5.1.0", + "fdir": "^6.1.1", + "google-protobuf": "^3.5.0", + "got": "^11.8.6", + "ini": "^2.0.0", + "js-yaml": "^3.14.0", + "minimist": "^1.2.6", + "normalize-package-data": "^6.0.0", + "picomatch": "^3.0.1", + "pkg-dir": "^7.0.0", + "require-from-string": "^2.0.1", + "semver": "^7.5.2", + "source-map-support": "^0.5.6", + "tmp": "^0.2.1", + "upath": "^1.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "ts-node": ">= 7.0.1 < 12", + "typescript": ">= 3.8.3 < 6" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@pulumi/query": { + "version": "v0.3.0", + "license": "Apache-2.0" + }, + "node_modules/@sigstore/bundle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", + "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", + "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", + "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", + "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", + "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", + "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/cacheable-request/node_modules/@types/node": { + "version": "22.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", + "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/@types/google-protobuf": { + "version": "3.15.12", + "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.12.tgz", + "integrity": "sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/keyv/node_modules/@types/node": { + "version": "22.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", + "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/@types/mime": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", + "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/responselike/node_modules/@types/node": { + "version": "22.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", + "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" + }, + "node_modules/@types/shimmer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", + "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==", + "license": "MIT" + }, + "node_modules/@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bin-links": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz", + "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==", + "license": "ISC", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cmd-shim": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz", + "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "license": "Apache-2.0" + }, + "node_modules/fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/google-protobuf": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", + "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", + "license": "(BSD-3-Clause AND Apache-2.0)" + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/import-in-the-middle": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.11.2.tgz", + "integrity": "sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA==", + "license": "Apache-2.0", + "dependencies": { + "acorn": "^8.8.2", + "acorn-import-attributes": "^1.9.5", + "cjs-module-lexer": "^1.2.2", + "module-details-from-path": "^1.0.3" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "license": "MIT" + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/just-diff": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", + "license": "MIT" + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/module-details-from-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", + "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-gyp": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "license": "ISC", + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", + "license": "ISC", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pacote": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parse-conflict-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/proggy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz", + "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-call-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.2.tgz", + "integrity": "sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==", + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs/node_modules/@types/node": { + "version": "22.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", + "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.8" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-cmd-shim": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-in-the-middle": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz", + "integrity": "sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT", + "optional": true + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", + "license": "BSD-2-Clause" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", + "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "license": "CC0-1.0" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/treeverse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", + "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "license": "MIT", + "dependencies": { + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/walk-up-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", + "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==", + "license": "ISC" + }, + "node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} From 28d6166faae82abecfeb377deb731f52f6e85be3 Mon Sep 17 00:00:00 2001 From: Ringo De Smet Date: Tue, 29 Oct 2024 10:29:07 +0100 Subject: [PATCH 2/2] make build_sdks --- sdk/dotnet/BlockSnapshot.cs | 29 +- sdk/dotnet/BlockVolume.cs | 41 +- sdk/dotnet/Cockpit.cs | 24 +- sdk/dotnet/CockpitAlertManager.cs | 36 +- sdk/dotnet/CockpitGrafanaUser.cs | 32 +- sdk/dotnet/CockpitSource.cs | 62 +- sdk/dotnet/CockpitToken.cs | 33 +- sdk/dotnet/DatabaseInstance.cs | 8 +- sdk/dotnet/DomainRecord.cs | 63 +- sdk/dotnet/DomainZone.cs | 66 +- sdk/dotnet/GetBlockSnapshot.cs | 28 +- sdk/dotnet/GetBlockVolume.cs | 18 +- sdk/dotnet/GetCockpit.cs | 54 +- sdk/dotnet/GetCockpitPlan.cs | 24 +- sdk/dotnet/GetDomainRecord.cs | 76 +- sdk/dotnet/GetDomainZone.cs | 66 +- sdk/dotnet/GetMnqSns.cs | 148 + sdk/dotnet/GetSecret.cs | 82 +- sdk/dotnet/GetSecretVersion.cs | 110 +- sdk/dotnet/IamPolicy.cs | 38 + sdk/dotnet/Inputs/CockpitEndpointArgs.cs | 10 +- sdk/dotnet/Inputs/CockpitEndpointGetArgs.cs | 10 +- sdk/dotnet/Inputs/CockpitTokenScopesArgs.cs | 18 +- .../Inputs/CockpitTokenScopesGetArgs.cs | 18 +- .../Inputs/DomainRecordGeoIpMatchArgs.cs | 2 +- .../Inputs/DomainRecordGeoIpMatchGetArgs.cs | 2 +- sdk/dotnet/Inputs/DomainRecordViewArgs.cs | 2 +- sdk/dotnet/Inputs/DomainRecordViewGetArgs.cs | 2 +- sdk/dotnet/Inputs/IamPolicyRuleArgs.cs | 6 + sdk/dotnet/Inputs/IamPolicyRuleGetArgs.cs | 6 + .../Inputs/KubernetesNodePoolNodeArgs.cs | 4 +- .../Inputs/KubernetesNodePoolNodeGetArgs.cs | 4 +- .../Inputs/LoadbalancerPrivateNetworkArgs.cs | 2 +- .../LoadbalancerPrivateNetworkGetArgs.cs | 2 +- .../Inputs/SecretEphemeralPolicyArgs.cs | 39 + .../Inputs/SecretEphemeralPolicyGetArgs.cs | 39 + sdk/dotnet/InstanceServer.cs | 13 +- sdk/dotnet/LoadbalancerFrontend.cs | 4 +- sdk/dotnet/Outputs/CockpitEndpoint.cs | 10 +- sdk/dotnet/Outputs/CockpitTokenScopes.cs | 18 +- sdk/dotnet/Outputs/DomainRecordGeoIpMatch.cs | 2 +- sdk/dotnet/Outputs/DomainRecordView.cs | 2 +- .../Outputs/GetCockpitEndpointResult.cs | 8 +- .../GetDomainRecordGeoIpMatchResult.cs | 3 +- .../Outputs/GetDomainRecordViewResult.cs | 3 +- .../Outputs/GetSecretEphemeralPolicyResult.cs | 43 + sdk/dotnet/Outputs/IamPolicyRule.cs | 7 + sdk/dotnet/Outputs/KubernetesNodePoolNode.cs | 4 +- .../Outputs/LoadbalancerPrivateNetwork.cs | 2 +- sdk/dotnet/Outputs/SecretEphemeralPolicy.cs | 43 + sdk/dotnet/Secret.cs | 113 +- sdk/dotnet/SecretVersion.cs | 53 +- sdk/dotnet/TemDomain.cs | 4 +- sdk/dotnet/TemWebhook.cs | 367 ++ sdk/go/scaleway/blockSnapshot.go | 47 +- sdk/go/scaleway/blockVolume.go | 71 +- sdk/go/scaleway/cockpit.go | 66 +- sdk/go/scaleway/cockpitAlertManager.go | 64 +- sdk/go/scaleway/cockpitGrafanaUser.go | 54 +- sdk/go/scaleway/cockpitSource.go | 101 +- sdk/go/scaleway/cockpitToken.go | 51 +- sdk/go/scaleway/databaseInstance.go | 24 +- sdk/go/scaleway/domainRecord.go | 87 +- sdk/go/scaleway/domainZone.go | 116 +- sdk/go/scaleway/getBlockSnapshot.go | 24 +- sdk/go/scaleway/getBlockVolume.go | 15 +- sdk/go/scaleway/getCockpit.go | 40 +- sdk/go/scaleway/getCockpitPlan.go | 14 +- sdk/go/scaleway/getDomainRecord.go | 71 +- sdk/go/scaleway/getDomainZone.go | 61 +- sdk/go/scaleway/getMnqSns.go | 143 + sdk/go/scaleway/getSecret.go | 69 +- sdk/go/scaleway/getSecretVersion.go | 95 +- sdk/go/scaleway/iamPolicy.go | 43 + sdk/go/scaleway/init.go | 7 + sdk/go/scaleway/instanceServer.go | 74 +- sdk/go/scaleway/loadbalancerFrontend.go | 8 +- sdk/go/scaleway/pulumiTypes.go | 457 ++- sdk/go/scaleway/secret.go | 115 +- sdk/go/scaleway/secretVersion.go | 90 +- sdk/go/scaleway/temDomain.go | 16 +- sdk/go/scaleway/temWebhook.go | 491 +++ sdk/nodejs/blockSnapshot.ts | 29 +- sdk/nodejs/blockVolume.ts | 41 +- sdk/nodejs/cockpit.ts | 34 +- sdk/nodejs/cockpitAlertManager.ts | 36 +- sdk/nodejs/cockpitGrafanaUser.ts | 32 +- sdk/nodejs/cockpitSource.ts | 60 +- sdk/nodejs/cockpitToken.ts | 33 +- sdk/nodejs/databaseInstance.ts | 12 +- sdk/nodejs/domainRecord.ts | 63 +- sdk/nodejs/domainZone.ts | 59 +- sdk/nodejs/getBlockSnapshot.ts | 28 +- sdk/nodejs/getBlockVolume.ts | 18 +- sdk/nodejs/getCockpit.ts | 51 +- sdk/nodejs/getCockpitPlan.ts | 24 +- sdk/nodejs/getDomainRecord.ts | 74 +- sdk/nodejs/getDomainZone.ts | 52 +- sdk/nodejs/getMnqSns.ts | 104 + sdk/nodejs/getSecret.ts | 75 +- sdk/nodejs/getSecretVersion.ts | 101 +- sdk/nodejs/iamPolicy.ts | 24 + sdk/nodejs/index.ts | 13 + sdk/nodejs/instanceServer.ts | 37 +- sdk/nodejs/loadbalancerFrontend.ts | 4 +- sdk/nodejs/package-lock.json | 3303 ----------------- sdk/nodejs/secret.ts | 83 +- sdk/nodejs/secretVersion.ts | 53 +- sdk/nodejs/temDomain.ts | 8 +- sdk/nodejs/temWebhook.ts | 287 ++ sdk/nodejs/tsconfig.json | 2 + sdk/nodejs/types/input.ts | 65 +- sdk/nodejs/types/output.ts | 98 +- sdk/python/pulumiverse_scaleway/__init__.py | 10 + sdk/python/pulumiverse_scaleway/_inputs.py | 225 +- .../pulumiverse_scaleway/block_snapshot.py | 64 +- .../pulumiverse_scaleway/block_volume.py | 92 +- sdk/python/pulumiverse_scaleway/cockpit.py | 63 +- .../cockpit_alert_manager.py | 80 +- .../cockpit_grafana_user.py | 70 +- .../pulumiverse_scaleway/cockpit_source.py | 136 +- .../pulumiverse_scaleway/cockpit_token.py | 72 +- .../pulumiverse_scaleway/database_instance.py | 21 +- .../pulumiverse_scaleway/domain_record.py | 134 +- .../pulumiverse_scaleway/domain_zone.py | 122 +- .../get_block_snapshot.py | 28 +- .../pulumiverse_scaleway/get_block_volume.py | 18 +- .../pulumiverse_scaleway/get_cockpit.py | 63 +- .../pulumiverse_scaleway/get_cockpit_plan.py | 24 +- .../pulumiverse_scaleway/get_domain_record.py | 74 +- .../pulumiverse_scaleway/get_domain_zone.py | 48 +- .../pulumiverse_scaleway/get_mnq_sns.py | 150 + sdk/python/pulumiverse_scaleway/get_secret.py | 106 +- .../get_secret_version.py | 113 +- sdk/python/pulumiverse_scaleway/iam_policy.py | 46 + .../pulumiverse_scaleway/instance_server.py | 60 +- .../loadbalancer_frontend.py | 8 +- sdk/python/pulumiverse_scaleway/outputs.py | 224 +- sdk/python/pulumiverse_scaleway/secret.py | 221 +- .../pulumiverse_scaleway/secret_version.py | 113 +- sdk/python/pulumiverse_scaleway/tem_domain.py | 13 +- .../pulumiverse_scaleway/tem_webhook.py | 640 ++++ 142 files changed, 6592 insertions(+), 5766 deletions(-) create mode 100644 sdk/dotnet/GetMnqSns.cs create mode 100644 sdk/dotnet/Inputs/SecretEphemeralPolicyArgs.cs create mode 100644 sdk/dotnet/Inputs/SecretEphemeralPolicyGetArgs.cs create mode 100644 sdk/dotnet/Outputs/GetSecretEphemeralPolicyResult.cs create mode 100644 sdk/dotnet/Outputs/SecretEphemeralPolicy.cs create mode 100644 sdk/dotnet/TemWebhook.cs create mode 100644 sdk/go/scaleway/getMnqSns.go create mode 100644 sdk/go/scaleway/temWebhook.go create mode 100644 sdk/nodejs/getMnqSns.ts delete mode 100644 sdk/nodejs/package-lock.json create mode 100644 sdk/nodejs/temWebhook.ts create mode 100644 sdk/python/pulumiverse_scaleway/get_mnq_sns.py create mode 100644 sdk/python/pulumiverse_scaleway/tem_webhook.py diff --git a/sdk/dotnet/BlockSnapshot.cs b/sdk/dotnet/BlockSnapshot.cs index f5e36397..be0f8114 100644 --- a/sdk/dotnet/BlockSnapshot.cs +++ b/sdk/dotnet/BlockSnapshot.cs @@ -11,11 +11,16 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Block Snapshots. - /// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + /// The `scaleway.BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes. + /// + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// /// ## Example Usage /// + /// ### Create a snapshot of a Block Storage volume + /// + /// The following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID. + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -42,7 +47,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Block Snapshots can be imported using the `{zone}/{id}`, e.g. + /// This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`). /// /// bash /// @@ -54,13 +59,13 @@ namespace Pulumiverse.Scaleway public partial class BlockSnapshot : global::Pulumi.CustomResource { /// - /// The name of the snapshot. If not provided it will be randomly generated. + /// The name of the snapshot. If not provided, a name will be randomly generated. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// `project_id`) The ID of the project the snapshot is associated with. + /// ). The ID of the Scaleway Project the snapshot is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; @@ -78,7 +83,7 @@ public partial class BlockSnapshot : global::Pulumi.CustomResource public Output VolumeId { get; private set; } = null!; /// - /// `zone`) The zone in which the snapshot should be created. + /// ). The zone in which the snapshot should be created. /// [Output("zone")] public Output Zone { get; private set; } = null!; @@ -131,13 +136,13 @@ public static BlockSnapshot Get(string name, Input id, BlockSnapshotStat public sealed class BlockSnapshotArgs : global::Pulumi.ResourceArgs { /// - /// The name of the snapshot. If not provided it will be randomly generated. + /// The name of the snapshot. If not provided, a name will be randomly generated. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the snapshot is associated with. + /// ). The ID of the Scaleway Project the snapshot is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -161,7 +166,7 @@ public InputList Tags public Input VolumeId { get; set; } = null!; /// - /// `zone`) The zone in which the snapshot should be created. + /// ). The zone in which the snapshot should be created. /// [Input("zone")] public Input? Zone { get; set; } @@ -175,13 +180,13 @@ public BlockSnapshotArgs() public sealed class BlockSnapshotState : global::Pulumi.ResourceArgs { /// - /// The name of the snapshot. If not provided it will be randomly generated. + /// The name of the snapshot. If not provided, a name will be randomly generated. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the snapshot is associated with. + /// ). The ID of the Scaleway Project the snapshot is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -205,7 +210,7 @@ public InputList Tags public Input? VolumeId { get; set; } /// - /// `zone`) The zone in which the snapshot should be created. + /// ). The zone in which the snapshot should be created. /// [Input("zone")] public Input? Zone { get; set; } diff --git a/sdk/dotnet/BlockVolume.cs b/sdk/dotnet/BlockVolume.cs index 55f7af99..dad76d6b 100644 --- a/sdk/dotnet/BlockVolume.cs +++ b/sdk/dotnet/BlockVolume.cs @@ -11,12 +11,15 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Block Volumes. - /// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + /// The `scaleway.BlockVolume` resource is used to create and manage Scaleway Block Storage volumes. + /// + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// /// ## Example Usage /// - /// ### Basic + /// ### Create a Block Storage volume + /// + /// The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops). /// /// ```csharp /// using System.Collections.Generic; @@ -71,7 +74,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Block Volumes can be imported using the `{zone}/{id}`, e.g. + /// This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format. /// /// bash /// @@ -83,25 +86,25 @@ namespace Pulumiverse.Scaleway public partial class BlockVolume : global::Pulumi.CustomResource { /// - /// The maximum IO/s expected, must match available options. + /// The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. /// [Output("iops")] public Output Iops { get; private set; } = null!; /// - /// The name of the volume. If not provided it will be randomly generated. + /// The name of the volume. If not provided, a name will be randomly generated. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// `project_id`) The ID of the project the volume is associated with. + /// ). The ID of the Project the volume is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + /// The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. /// [Output("sizeInGb")] public Output SizeInGb { get; private set; } = null!; @@ -119,7 +122,7 @@ public partial class BlockVolume : global::Pulumi.CustomResource public Output> Tags { get; private set; } = null!; /// - /// `zone`) The zone in which the volume should be created. + /// ). The zone in which the volume should be created. /// [Output("zone")] public Output Zone { get; private set; } = null!; @@ -172,25 +175,25 @@ public static BlockVolume Get(string name, Input id, BlockVolumeState? s public sealed class BlockVolumeArgs : global::Pulumi.ResourceArgs { /// - /// The maximum IO/s expected, must match available options. + /// The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. /// [Input("iops", required: true)] public Input Iops { get; set; } = null!; /// - /// The name of the volume. If not provided it will be randomly generated. + /// The name of the volume. If not provided, a name will be randomly generated. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the volume is associated with. + /// ). The ID of the Project the volume is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + /// The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. /// [Input("sizeInGb")] public Input? SizeInGb { get; set; } @@ -214,7 +217,7 @@ public InputList Tags } /// - /// `zone`) The zone in which the volume should be created. + /// ). The zone in which the volume should be created. /// [Input("zone")] public Input? Zone { get; set; } @@ -228,25 +231,25 @@ public BlockVolumeArgs() public sealed class BlockVolumeState : global::Pulumi.ResourceArgs { /// - /// The maximum IO/s expected, must match available options. + /// The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. /// [Input("iops")] public Input? Iops { get; set; } /// - /// The name of the volume. If not provided it will be randomly generated. + /// The name of the volume. If not provided, a name will be randomly generated. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the volume is associated with. + /// ). The ID of the Project the volume is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + /// The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. /// [Input("sizeInGb")] public Input? SizeInGb { get; set; } @@ -270,7 +273,7 @@ public InputList Tags } /// - /// `zone`) The zone in which the volume should be created. + /// ). The zone in which the volume should be created. /// [Input("zone")] public Input? Zone { get; set; } diff --git a/sdk/dotnet/Cockpit.cs b/sdk/dotnet/Cockpit.cs index 6d653836..d608cfc8 100644 --- a/sdk/dotnet/Cockpit.cs +++ b/sdk/dotnet/Cockpit.cs @@ -13,7 +13,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Cockpits can be imported using the `{project_id}`, e.g. + /// This section explains how to import a Cockpit using its `{project_id}`. /// /// bash /// @@ -25,25 +25,25 @@ namespace Pulumiverse.Scaleway public partial class Cockpit : global::Pulumi.CustomResource { /// - /// Endpoints. + /// (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: /// [Output("endpoints")] public Output> Endpoints { get; private set; } = null!; /// - /// Name or ID of the plan to use. + /// Name of the plan to use. Available plans are: free, premium, and custom. /// [Output("plan")] public Output Plan { get; private set; } = null!; /// - /// The ID of the current plan. + /// (Deprecated) The ID of the current pricing plan. /// [Output("planId")] public Output PlanId { get; private set; } = null!; /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; @@ -102,13 +102,13 @@ public static Cockpit Get(string name, Input id, CockpitState? state = n public sealed class CockpitArgs : global::Pulumi.ResourceArgs { /// - /// Name or ID of the plan to use. + /// Name of the plan to use. Available plans are: free, premium, and custom. /// [Input("plan")] public Input? Plan { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -125,8 +125,9 @@ public sealed class CockpitState : global::Pulumi.ResourceArgs private InputList? _endpoints; /// - /// Endpoints. + /// (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: /// + [Obsolete(@"Please use `scaleway.CockpitSource` instead")] public InputList Endpoints { get => _endpoints ?? (_endpoints = new InputList()); @@ -134,19 +135,19 @@ public InputList Endpoints } /// - /// Name or ID of the plan to use. + /// Name of the plan to use. Available plans are: free, premium, and custom. /// [Input("plan")] public Input? Plan { get; set; } /// - /// The ID of the current plan. + /// (Deprecated) The ID of the current pricing plan. /// [Input("planId")] public Input? PlanId { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -157,6 +158,7 @@ public InputList Endpoints /// /// Push_url /// + [Obsolete(@"Please use `scaleway.CockpitSource` instead")] public InputList PushUrls { get => _pushUrls ?? (_pushUrls = new InputList()); diff --git a/sdk/dotnet/CockpitAlertManager.cs b/sdk/dotnet/CockpitAlertManager.cs index 647501e1..5cb9b7ca 100644 --- a/sdk/dotnet/CockpitAlertManager.cs +++ b/sdk/dotnet/CockpitAlertManager.cs @@ -11,13 +11,15 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Cockpit Alert Managers. + /// 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). /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + /// Refer 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. + /// + /// ## Example Usage /// /// ## Import /// - /// Alert managers can be imported using the project ID, e.g. + /// This section explains how to import alert managers using the ID of the Project associated with Cockpit. /// /// bash /// @@ -29,31 +31,31 @@ namespace Pulumiverse.Scaleway public partial class CockpitAlertManager : global::Pulumi.CustomResource { /// - /// Alert manager URL. + /// The URL of the alert manager. /// [Output("alertManagerUrl")] public Output AlertManagerUrl { get; private set; } = null!; /// - /// A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + /// A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. /// [Output("contactPoints")] public Output> ContactPoints { get; private set; } = null!; /// - /// Indicates whether the alert manager should be enabled. Defaults to true. + /// Specifies whether the alert manager should be enabled. Defaults to true. /// [Output("enableManagedAlerts")] public Output EnableManagedAlerts { get; private set; } = null!; /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// `region`) The region in which alert_manager should be created. + /// ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. /// [Output("region")] public Output Region { get; private set; } = null!; @@ -109,7 +111,7 @@ public sealed class CockpitAlertManagerArgs : global::Pulumi.ResourceArgs private InputList? _contactPoints; /// - /// A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + /// A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. /// public InputList ContactPoints { @@ -118,19 +120,19 @@ public InputList ContactPoints } /// - /// Indicates whether the alert manager should be enabled. Defaults to true. + /// Specifies whether the alert manager should be enabled. Defaults to true. /// [Input("enableManagedAlerts")] public Input? EnableManagedAlerts { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region in which alert_manager should be created. + /// ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. /// [Input("region")] public Input? Region { get; set; } @@ -144,7 +146,7 @@ public CockpitAlertManagerArgs() public sealed class CockpitAlertManagerState : global::Pulumi.ResourceArgs { /// - /// Alert manager URL. + /// The URL of the alert manager. /// [Input("alertManagerUrl")] public Input? AlertManagerUrl { get; set; } @@ -153,7 +155,7 @@ public sealed class CockpitAlertManagerState : global::Pulumi.ResourceArgs private InputList? _contactPoints; /// - /// A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + /// A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. /// public InputList ContactPoints { @@ -162,19 +164,19 @@ public InputList ContactPoints } /// - /// Indicates whether the alert manager should be enabled. Defaults to true. + /// Specifies whether the alert manager should be enabled. Defaults to true. /// [Input("enableManagedAlerts")] public Input? EnableManagedAlerts { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region in which alert_manager should be created. + /// ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. /// [Input("region")] public Input? Region { get; set; } diff --git a/sdk/dotnet/CockpitGrafanaUser.cs b/sdk/dotnet/CockpitGrafanaUser.cs index 33314ae5..9238a564 100644 --- a/sdk/dotnet/CockpitGrafanaUser.cs +++ b/sdk/dotnet/CockpitGrafanaUser.cs @@ -11,12 +11,16 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Cockpit Grafana Users. + /// The `scaleway.CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit. /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + /// Refer 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. /// /// ## Example Usage /// + /// ### Create a Grafana user + /// + /// The following command allows you to create a Grafana user within a specific Scaleway Project. + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -42,7 +46,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g. + /// This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format. /// /// bash /// @@ -54,25 +58,25 @@ namespace Pulumiverse.Scaleway public partial class CockpitGrafanaUser : global::Pulumi.CustomResource { /// - /// The login of the grafana user. + /// The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. /// [Output("login")] public Output Login { get; private set; } = null!; /// - /// The password of the grafana user + /// The password of the Grafana user. /// [Output("password")] public Output Password { get; private set; } = null!; /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// The role of the grafana user. Must be `editor` or `viewer`. + /// The role assigned to the Grafana user. Must be `editor` or `viewer`. /// [Output("role")] public Output Role { get; private set; } = null!; @@ -129,19 +133,19 @@ public static CockpitGrafanaUser Get(string name, Input id, CockpitGrafa public sealed class CockpitGrafanaUserArgs : global::Pulumi.ResourceArgs { /// - /// The login of the grafana user. + /// The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. /// [Input("login", required: true)] public Input Login { get; set; } = null!; /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The role of the grafana user. Must be `editor` or `viewer`. + /// The role assigned to the Grafana user. Must be `editor` or `viewer`. /// [Input("role", required: true)] public Input Role { get; set; } = null!; @@ -155,7 +159,7 @@ public CockpitGrafanaUserArgs() public sealed class CockpitGrafanaUserState : global::Pulumi.ResourceArgs { /// - /// The login of the grafana user. + /// The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. /// [Input("login")] public Input? Login { get; set; } @@ -164,7 +168,7 @@ public sealed class CockpitGrafanaUserState : global::Pulumi.ResourceArgs private Input? _password; /// - /// The password of the grafana user + /// The password of the Grafana user. /// public Input? Password { @@ -177,13 +181,13 @@ public Input? Password } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The role of the grafana user. Must be `editor` or `viewer`. + /// The role assigned to the Grafana user. Must be `editor` or `viewer`. /// [Input("role")] public Input? Role { get; set; } diff --git a/sdk/dotnet/CockpitSource.cs b/sdk/dotnet/CockpitSource.cs index 1443001c..7e305a3d 100644 --- a/sdk/dotnet/CockpitSource.cs +++ b/sdk/dotnet/CockpitSource.cs @@ -11,12 +11,16 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Cockpit Data Sources. + /// The `scaleway.CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit. /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources). + /// Refer 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. /// /// ## Example Usage /// + /// ### Create a data source + /// + /// The following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project. + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -42,7 +46,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Cockpits Data Sources can be imported using the `{region}/{id}`, e.g. + /// This section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format. /// /// bash /// @@ -54,31 +58,37 @@ namespace Pulumiverse.Scaleway public partial class CockpitSource : global::Pulumi.CustomResource { /// - /// Date and time of the cockpit data source's creation (RFC 3339 format). + /// The date and time the data source was created (in RFC 3339 format). /// [Output("createdAt")] public Output CreatedAt { get; private set; } = null!; /// - /// The name of the cockpit data source. + /// The name of the data source. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// The origin of the cockpit data source. + /// The origin of the Cockpit data source. /// [Output("origin")] public Output Origin { get; private set; } = null!; /// - /// `project_id`) The ID of the project the cockpit data source is associated with. + /// ) The ID of the Project the data source is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// `region`) The region of the cockpit datasource. + /// The URL endpoint used for pushing data to the Cockpit data source. + /// + [Output("pushUrl")] + public Output PushUrl { get; private set; } = null!; + + /// + /// ) The region where the data source is located. /// [Output("region")] public Output Region { get; private set; } = null!; @@ -90,19 +100,19 @@ public partial class CockpitSource : global::Pulumi.CustomResource public Output SynchronizedWithGrafana { get; private set; } = null!; /// - /// The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + /// The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. /// [Output("type")] public Output Type { get; private set; } = null!; /// - /// Date and time of the cockpit datas ource's last update (RFC 3339 format). + /// The date and time the data source was last updated (in RFC 3339 format). /// [Output("updatedAt")] public Output UpdatedAt { get; private set; } = null!; /// - /// The URL of the cockpit data source. + /// The URL of the Cockpit data source. /// [Output("url")] public Output Url { get; private set; } = null!; @@ -155,25 +165,25 @@ public static CockpitSource Get(string name, Input id, CockpitSourceStat public sealed class CockpitSourceArgs : global::Pulumi.ResourceArgs { /// - /// The name of the cockpit data source. + /// The name of the data source. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the cockpit data source is associated with. + /// ) The ID of the Project the data source is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region of the cockpit datasource. + /// ) The region where the data source is located. /// [Input("region")] public Input? Region { get; set; } /// - /// The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + /// The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. /// [Input("type")] public Input? Type { get; set; } @@ -187,31 +197,37 @@ public CockpitSourceArgs() public sealed class CockpitSourceState : global::Pulumi.ResourceArgs { /// - /// Date and time of the cockpit data source's creation (RFC 3339 format). + /// The date and time the data source was created (in RFC 3339 format). /// [Input("createdAt")] public Input? CreatedAt { get; set; } /// - /// The name of the cockpit data source. + /// The name of the data source. /// [Input("name")] public Input? Name { get; set; } /// - /// The origin of the cockpit data source. + /// The origin of the Cockpit data source. /// [Input("origin")] public Input? Origin { get; set; } /// - /// `project_id`) The ID of the project the cockpit data source is associated with. + /// ) The ID of the Project the data source is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region of the cockpit datasource. + /// The URL endpoint used for pushing data to the Cockpit data source. + /// + [Input("pushUrl")] + public Input? PushUrl { get; set; } + + /// + /// ) The region where the data source is located. /// [Input("region")] public Input? Region { get; set; } @@ -223,19 +239,19 @@ public sealed class CockpitSourceState : global::Pulumi.ResourceArgs public Input? SynchronizedWithGrafana { get; set; } /// - /// The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + /// The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. /// [Input("type")] public Input? Type { get; set; } /// - /// Date and time of the cockpit datas ource's last update (RFC 3339 format). + /// The date and time the data source was last updated (in RFC 3339 format). /// [Input("updatedAt")] public Input? UpdatedAt { get; set; } /// - /// The URL of the cockpit data source. + /// The URL of the Cockpit data source. /// [Input("url")] public Input? Url { get; set; } diff --git a/sdk/dotnet/CockpitToken.cs b/sdk/dotnet/CockpitToken.cs index 2cbe2d16..7b00882d 100644 --- a/sdk/dotnet/CockpitToken.cs +++ b/sdk/dotnet/CockpitToken.cs @@ -11,12 +11,21 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Cockpit Tokens. + /// The `scaleway.CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). + /// Refer 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. /// /// ## Example Usage /// + /// ### Use a Cockpit token + /// + /// The following commands allow you to: + /// + /// - create a Scaleway Project named `my-project` + /// - create a Cockpit token named `my-awesome-token` inside the Project + /// - assign `read` permissions to the token for metrics and logs + /// - disable `write` permissions for metrics and logs + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -71,7 +80,7 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// Cockpits tokens can be imported using the `{region}/{id}`, e.g. + /// This section explains how to import a Cockpit token using the `{region}/{id}` format. /// /// bash /// @@ -95,19 +104,19 @@ public partial class CockpitToken : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// `region`) The region of the cockpit token. + /// ) The region where the Cockpit token is located. /// [Output("region")] public Output Region { get; private set; } = null!; /// - /// Allowed scopes. + /// Scopes allowed, each with default values: /// [Output("scopes")] public Output Scopes { get; private set; } = null!; @@ -182,19 +191,19 @@ public sealed class CockpitTokenArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region of the cockpit token. + /// ) The region where the Cockpit token is located. /// [Input("region")] public Input? Region { get; set; } /// - /// Allowed scopes. + /// Scopes allowed, each with default values: /// [Input("scopes")] public Input? Scopes { get; set; } @@ -220,19 +229,19 @@ public sealed class CockpitTokenState : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// ) The ID of the Project the Cockpit is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region of the cockpit token. + /// ) The region where the Cockpit token is located. /// [Input("region")] public Input? Region { get; set; } /// - /// Allowed scopes. + /// Scopes allowed, each with default values: /// [Input("scopes")] public Input? Scopes { get; set; } diff --git a/sdk/dotnet/DatabaseInstance.cs b/sdk/dotnet/DatabaseInstance.cs index 091f01b7..3fcf0d82 100644 --- a/sdk/dotnet/DatabaseInstance.cs +++ b/sdk/dotnet/DatabaseInstance.cs @@ -267,13 +267,13 @@ public partial class DatabaseInstance : global::Pulumi.CustomResource public Output EncryptionAtRest { get; private set; } = null!; /// - /// (Deprecated) The IP of the Database Instance. + /// (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. /// [Output("endpointIp")] public Output EndpointIp { get; private set; } = null!; /// - /// (Deprecated) The port of the Database Instance. + /// (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. /// [Output("endpointPort")] public Output EndpointPort { get; private set; } = null!; @@ -672,13 +672,13 @@ public sealed class DatabaseInstanceState : global::Pulumi.ResourceArgs public Input? EncryptionAtRest { get; set; } /// - /// (Deprecated) The IP of the Database Instance. + /// (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. /// [Input("endpointIp")] public Input? EndpointIp { get; set; } /// - /// (Deprecated) The port of the Database Instance. + /// (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. /// [Input("endpointPort")] public Input? EndpointPort { get; set; } diff --git a/sdk/dotnet/DomainRecord.cs b/sdk/dotnet/DomainRecord.cs index bc076668..14b0fa49 100644 --- a/sdk/dotnet/DomainRecord.cs +++ b/sdk/dotnet/DomainRecord.cs @@ -11,12 +11,19 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Domain record.\ - /// For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/). + /// The `scaleway.DomainRecord` resource allows you to create and manage DNS records for Scaleway domains. + /// + /// Refer 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. /// /// ## Example Usage /// - /// ### Basic + /// ### Create basic DNS records + /// + /// The folllowing commands allow you to: + /// + /// - 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` + /// + /// - 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 /// /// ```csharp /// using System.Collections.Generic; @@ -67,7 +74,17 @@ namespace Pulumiverse.Scaleway /// }); /// ``` /// - /// ### With dynamic records + /// ### Create dynamic records + /// + /// The folllowing commands allow you to: + /// + /// - 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) + /// + /// - create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status. + /// + /// - create view-based records for `db.domain.tld` that resolve differently based on the client's subnet. + /// + /// - create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights. /// /// ```csharp /// using System.Collections.Generic; @@ -180,7 +197,12 @@ namespace Pulumiverse.Scaleway /// }); /// ``` /// - /// ### Create an instance and add records with the new instance IP + /// ### Create an Instance and add records with the new Instance IP + /// + /// The following commands allow you to: + /// + /// - create a Scaleway Instance + /// - assign The Instance's IP address to various DNS records for a specified DNS zone /// /// ```csharp /// using System.Collections.Generic; @@ -249,14 +271,13 @@ namespace Pulumiverse.Scaleway /// /// ## Multiple records /// - /// Some record types can have multiple `data` with the same `name` (eg: `A`, `AAAA`, `MX`, `NS`...).\ - /// You can duplicate a resource `scaleway.DomainRecord` with the same `name`, the records will be added. + /// Some 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. /// - /// Please note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique. + /// Note however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique. /// /// ## Import /// - /// Record can be imported using the `{dns_zone}/{id}`, e.g. + /// This section explains how to import a record using the `{dns_zone}/{id}` format. /// /// bash /// @@ -268,13 +289,13 @@ namespace Pulumiverse.Scaleway public partial class DomainRecord : global::Pulumi.CustomResource { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Output("data")] public Output Data { get; private set; } = null!; /// - /// The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + /// The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. /// [Output("dnsZone")] public Output DnsZone { get; private set; } = null!; @@ -298,7 +319,7 @@ public partial class DomainRecord : global::Pulumi.CustomResource public Output HttpService { get; private set; } = null!; /// - /// When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + /// 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/). /// [Output("keepEmptyZone")] public Output KeepEmptyZone { get; private set; } = null!; @@ -310,7 +331,7 @@ public partial class DomainRecord : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// The priority of the record (mostly used with an `MX` record) + /// The priority of the record (mostly used with an `MX` record). /// [Output("priority")] public Output Priority { get; private set; } = null!; @@ -399,13 +420,13 @@ public static DomainRecord Get(string name, Input id, DomainRecordState? public sealed class DomainRecordArgs : global::Pulumi.ResourceArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data", required: true)] public Input Data { get; set; } = null!; /// - /// The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + /// The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. /// [Input("dnsZone", required: true)] public Input DnsZone { get; set; } = null!; @@ -423,7 +444,7 @@ public sealed class DomainRecordArgs : global::Pulumi.ResourceArgs public Input? HttpService { get; set; } /// - /// When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + /// 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/). /// [Input("keepEmptyZone")] public Input? KeepEmptyZone { get; set; } @@ -435,7 +456,7 @@ public sealed class DomainRecordArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// The priority of the record (mostly used with an `MX` record) + /// The priority of the record (mostly used with an `MX` record). /// [Input("priority")] public Input? Priority { get; set; } @@ -491,13 +512,13 @@ public DomainRecordArgs() public sealed class DomainRecordState : global::Pulumi.ResourceArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data")] public Input? Data { get; set; } /// - /// The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + /// The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. /// [Input("dnsZone")] public Input? DnsZone { get; set; } @@ -521,7 +542,7 @@ public sealed class DomainRecordState : global::Pulumi.ResourceArgs public Input? HttpService { get; set; } /// - /// When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + /// 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/). /// [Input("keepEmptyZone")] public Input? KeepEmptyZone { get; set; } @@ -533,7 +554,7 @@ public sealed class DomainRecordState : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// The priority of the record (mostly used with an `MX` record) + /// The priority of the record (mostly used with an `MX` record). /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/DomainZone.cs b/sdk/dotnet/DomainZone.cs index 3351d360..8f3e0fac 100644 --- a/sdk/dotnet/DomainZone.cs +++ b/sdk/dotnet/DomainZone.cs @@ -11,31 +11,9 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Domain zone.\ - /// For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/). - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var test = new Scaleway.DomainZone("test", new() - /// { - /// Domain = "scaleway-terraform.com", - /// Subdomain = "test", - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// - /// Zone can be imported using the `{subdomain}.{domain}`, e.g. + /// This section explains how to import a zone using the `{subdomain}.{domain}` format. /// /// bash /// @@ -47,55 +25,55 @@ namespace Pulumiverse.Scaleway public partial class DomainZone : global::Pulumi.CustomResource { /// - /// The domain where the DNS zone will be created. + /// The main domain where the DNS zone will be created. /// [Output("domain")] public Output Domain { get; private set; } = null!; /// - /// Message + /// Message. /// [Output("message")] public Output Message { get; private set; } = null!; /// - /// NameServer list for zone. + /// The list of same servers for the zone. /// [Output("ns")] public Output> Ns { get; private set; } = null!; /// - /// NameServer default list for zone. + /// The default list of same servers for the zone. /// [Output("nsDefaults")] public Output> NsDefaults { get; private set; } = null!; /// - /// NameServer master list for zone. + /// The master list of same servers for the zone. /// [Output("nsMasters")] public Output> NsMasters { get; private set; } = null!; /// - /// `project_id`) The ID of the project the domain is associated with. + /// `project_id`) The ID of the Project associated with the domain. /// [Output("projectId")] public Output ProjectId { get; private set; } = null!; /// - /// The domain zone status. + /// The status of the domain zone. /// [Output("status")] public Output Status { get; private set; } = null!; /// - /// The subdomain(zone name) to create in the domain. + /// The name of the subdomain (zone name) to create within the domain. /// [Output("subdomain")] public Output Subdomain { get; private set; } = null!; /// - /// The date and time of the last update of the DNS zone. + /// The date and time at which the DNS zone was last updated. /// [Output("updatedAt")] public Output UpdatedAt { get; private set; } = null!; @@ -148,19 +126,19 @@ public static DomainZone Get(string name, Input id, DomainZoneState? sta public sealed class DomainZoneArgs : global::Pulumi.ResourceArgs { /// - /// The domain where the DNS zone will be created. + /// The main domain where the DNS zone will be created. /// [Input("domain", required: true)] public Input Domain { get; set; } = null!; /// - /// `project_id`) The ID of the project the domain is associated with. + /// `project_id`) The ID of the Project associated with the domain. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The subdomain(zone name) to create in the domain. + /// The name of the subdomain (zone name) to create within the domain. /// [Input("subdomain", required: true)] public Input Subdomain { get; set; } = null!; @@ -174,13 +152,13 @@ public DomainZoneArgs() public sealed class DomainZoneState : global::Pulumi.ResourceArgs { /// - /// The domain where the DNS zone will be created. + /// The main domain where the DNS zone will be created. /// [Input("domain")] public Input? Domain { get; set; } /// - /// Message + /// Message. /// [Input("message")] public Input? Message { get; set; } @@ -189,7 +167,7 @@ public sealed class DomainZoneState : global::Pulumi.ResourceArgs private InputList? _ns; /// - /// NameServer list for zone. + /// The list of same servers for the zone. /// public InputList Ns { @@ -201,7 +179,7 @@ public InputList Ns private InputList? _nsDefaults; /// - /// NameServer default list for zone. + /// The default list of same servers for the zone. /// public InputList NsDefaults { @@ -213,7 +191,7 @@ public InputList NsDefaults private InputList? _nsMasters; /// - /// NameServer master list for zone. + /// The master list of same servers for the zone. /// public InputList NsMasters { @@ -222,25 +200,25 @@ public InputList NsMasters } /// - /// `project_id`) The ID of the project the domain is associated with. + /// `project_id`) The ID of the Project associated with the domain. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The domain zone status. + /// The status of the domain zone. /// [Input("status")] public Input? Status { get; set; } /// - /// The subdomain(zone name) to create in the domain. + /// The name of the subdomain (zone name) to create within the domain. /// [Input("subdomain")] public Input? Subdomain { get; set; } /// - /// The date and time of the last update of the DNS zone. + /// The date and time at which the DNS zone was last updated. /// [Input("updatedAt")] public Input? UpdatedAt { get; set; } diff --git a/sdk/dotnet/GetBlockSnapshot.cs b/sdk/dotnet/GetBlockSnapshot.cs index ae2e6ce3..e6ee0d25 100644 --- a/sdk/dotnet/GetBlockSnapshot.cs +++ b/sdk/dotnet/GetBlockSnapshot.cs @@ -13,13 +13,17 @@ namespace Pulumiverse.Scaleway public static class GetBlockSnapshot { /// - /// Gets information about a Block Snapshot. + /// The `scaleway.BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + /// + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// public static Task InvokeAsync(GetBlockSnapshotArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getBlockSnapshot:getBlockSnapshot", args ?? new GetBlockSnapshotArgs(), options.WithDefaults()); /// - /// Gets information about a Block Snapshot. + /// The `scaleway.BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + /// + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// public static Output Invoke(GetBlockSnapshotInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockSnapshot:getBlockSnapshot", args ?? new GetBlockSnapshotInvokeArgs(), options.WithDefaults()); @@ -29,31 +33,31 @@ public static Output Invoke(GetBlockSnapshotInvokeArgs? public sealed class GetBlockSnapshotArgs : global::Pulumi.InvokeArgs { /// - /// The name of the snapshot. Only one of `name` and `snapshot_id` should be specified. + /// The name of the snapshot. Only one of name or snapshot_id should be specified. /// [Input("name")] public string? Name { get; set; } /// - /// The ID of the project the snapshot is associated with. + /// The unique identifier of the Project to which the snapshot is associated. /// [Input("projectId")] public string? ProjectId { get; set; } /// - /// The ID of the snapshot. Only one of `name` and `snapshot_id` should be specified. + /// The unique identifier of the snapshot. Only one of `name` and `snapshot_id` should be specified. /// [Input("snapshotId")] public string? SnapshotId { get; set; } /// - /// The ID of the volume from which the snapshot has been created. + /// The unique identifier of the volume from which the snapshot was created. /// [Input("volumeId")] public string? VolumeId { get; set; } /// - /// `zone`) The zone in which the snapshot exists. + /// ) The zone in which the snapshot exists. /// [Input("zone")] public string? Zone { get; set; } @@ -67,31 +71,31 @@ public GetBlockSnapshotArgs() public sealed class GetBlockSnapshotInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The name of the snapshot. Only one of `name` and `snapshot_id` should be specified. + /// The name of the snapshot. Only one of name or snapshot_id should be specified. /// [Input("name")] public Input? Name { get; set; } /// - /// The ID of the project the snapshot is associated with. + /// The unique identifier of the Project to which the snapshot is associated. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The ID of the snapshot. Only one of `name` and `snapshot_id` should be specified. + /// The unique identifier of the snapshot. Only one of `name` and `snapshot_id` should be specified. /// [Input("snapshotId")] public Input? SnapshotId { get; set; } /// - /// The ID of the volume from which the snapshot has been created. + /// The unique identifier of the volume from which the snapshot was created. /// [Input("volumeId")] public Input? VolumeId { get; set; } /// - /// `zone`) The zone in which the snapshot exists. + /// ) The zone in which the snapshot exists. /// [Input("zone")] public Input? Zone { get; set; } diff --git a/sdk/dotnet/GetBlockVolume.cs b/sdk/dotnet/GetBlockVolume.cs index da2293a8..43aa3241 100644 --- a/sdk/dotnet/GetBlockVolume.cs +++ b/sdk/dotnet/GetBlockVolume.cs @@ -13,13 +13,15 @@ namespace Pulumiverse.Scaleway public static class GetBlockVolume { /// - /// Gets information about a Block Volume. + /// The `scaleway.BlockVolume` data source is used to retrieve information about a Block Storage volume. + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// public static Task InvokeAsync(GetBlockVolumeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getBlockVolume:getBlockVolume", args ?? new GetBlockVolumeArgs(), options.WithDefaults()); /// - /// Gets information about a Block Volume. + /// The `scaleway.BlockVolume` data source is used to retrieve information about a Block Storage volume. + /// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. /// public static Output Invoke(GetBlockVolumeInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockVolume:getBlockVolume", args ?? new GetBlockVolumeInvokeArgs(), options.WithDefaults()); @@ -35,19 +37,19 @@ public sealed class GetBlockVolumeArgs : global::Pulumi.InvokeArgs public string? Name { get; set; } /// - /// The ID of the project the volume is associated with. + /// The unique identifier of the Project to which the volume is associated. /// [Input("projectId")] public string? ProjectId { get; set; } /// - /// The ID of the volume. Only one of `name` and `volume_id` should be specified. + /// The unique identifier of the volume. Only one of `name` and `volume_id` should be specified. /// [Input("volumeId")] public string? VolumeId { get; set; } /// - /// `zone`) The zone in which the volume exists. + /// ). The zone in which the volume exists. /// [Input("zone")] public string? Zone { get; set; } @@ -67,19 +69,19 @@ public sealed class GetBlockVolumeInvokeArgs : global::Pulumi.InvokeArgs public Input? Name { get; set; } /// - /// The ID of the project the volume is associated with. + /// The unique identifier of the Project to which the volume is associated. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The ID of the volume. Only one of `name` and `volume_id` should be specified. + /// The unique identifier of the volume. Only one of `name` and `volume_id` should be specified. /// [Input("volumeId")] public Input? VolumeId { get; set; } /// - /// `zone`) The zone in which the volume exists. + /// ). The zone in which the volume exists. /// [Input("zone")] public Input? Zone { get; set; } diff --git a/sdk/dotnet/GetCockpit.cs b/sdk/dotnet/GetCockpit.cs index 3816233c..227dd991 100644 --- a/sdk/dotnet/GetCockpit.cs +++ b/sdk/dotnet/GetCockpit.cs @@ -13,15 +13,22 @@ namespace Pulumiverse.Scaleway public static class GetCockpit { /// + /// > **Important:** The data source `scaleway.Cockpit` has been deprecated and will no longer be supported. Instead, use resource `scaleway.Cockpit`. + /// /// > **Note:** - /// As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - /// If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + /// As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + /// If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. + /// + /// The `scaleway.Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. /// - /// Gets information about the Scaleway Cockpit. + /// Refer 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. /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + /// ## Retrieve a Cockpit /// - /// ## Example Usage + /// The following commands allow you to: + /// + /// - get information on the Cockpit associated with your Scaleway default Project + /// - get information on the Cockpit associated with a specific Scaleway Project /// /// ```csharp /// using System.Collections.Generic; @@ -31,7 +38,7 @@ public static class GetCockpit /// /// return await Deployment.RunAsync(() => /// { - /// // Get default project's cockpit + /// // Get the default Project's Cockpit /// var main = Scaleway.GetCockpit.Invoke(); /// /// }); @@ -45,7 +52,7 @@ public static class GetCockpit /// /// return await Deployment.RunAsync(() => /// { - /// // Get a specific project's cockpit + /// // Get a specific Project's Cockpit /// var main = Scaleway.GetCockpit.Invoke(new() /// { /// ProjectId = "11111111-1111-1111-1111-111111111111", @@ -58,15 +65,22 @@ public static Task InvokeAsync(GetCockpitArgs? args = null, In => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getCockpit:getCockpit", args ?? new GetCockpitArgs(), options.WithDefaults()); /// + /// > **Important:** The data source `scaleway.Cockpit` has been deprecated and will no longer be supported. Instead, use resource `scaleway.Cockpit`. + /// /// > **Note:** - /// As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - /// If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + /// As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + /// If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. /// - /// Gets information about the Scaleway Cockpit. + /// The `scaleway.Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. /// - /// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + /// Refer 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. /// - /// ## Example Usage + /// ## Retrieve a Cockpit + /// + /// The following commands allow you to: + /// + /// - get information on the Cockpit associated with your Scaleway default Project + /// - get information on the Cockpit associated with a specific Scaleway Project /// /// ```csharp /// using System.Collections.Generic; @@ -76,7 +90,7 @@ public static Task InvokeAsync(GetCockpitArgs? args = null, In /// /// return await Deployment.RunAsync(() => /// { - /// // Get default project's cockpit + /// // Get the default Project's Cockpit /// var main = Scaleway.GetCockpit.Invoke(); /// /// }); @@ -90,7 +104,7 @@ public static Task InvokeAsync(GetCockpitArgs? args = null, In /// /// return await Deployment.RunAsync(() => /// { - /// // Get a specific project's cockpit + /// // Get a specific Project's Cockpit /// var main = Scaleway.GetCockpit.Invoke(new() /// { /// ProjectId = "11111111-1111-1111-1111-111111111111", @@ -107,7 +121,7 @@ public static Output Invoke(GetCockpitInvokeArgs? args = null, public sealed class GetCockpitArgs : global::Pulumi.InvokeArgs { /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. /// [Input("projectId")] public string? ProjectId { get; set; } @@ -121,7 +135,7 @@ public GetCockpitArgs() public sealed class GetCockpitInvokeArgs : global::Pulumi.InvokeArgs { /// - /// `project_id`) The ID of the project the cockpit is associated with. + /// Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. /// [Input("projectId")] public Input? ProjectId { get; set; } @@ -137,15 +151,16 @@ public GetCockpitInvokeArgs() public sealed class GetCockpitResult { /// - /// Endpoints + /// (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: /// public readonly ImmutableArray Endpoints; /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; + public readonly string Plan; /// - /// The ID of the current plan + /// (Deprecated) ID of the current pricing plan /// public readonly string PlanId; public readonly string? ProjectId; @@ -157,6 +172,8 @@ private GetCockpitResult( string id, + string plan, + string planId, string? projectId, @@ -165,6 +182,7 @@ private GetCockpitResult( { Endpoints = endpoints; Id = id; + Plan = plan; PlanId = planId; ProjectId = projectId; PushUrls = pushUrls; diff --git a/sdk/dotnet/GetCockpitPlan.cs b/sdk/dotnet/GetCockpitPlan.cs index b04757ce..34fe406e 100644 --- a/sdk/dotnet/GetCockpitPlan.cs +++ b/sdk/dotnet/GetCockpitPlan.cs @@ -13,9 +13,15 @@ namespace Pulumiverse.Scaleway public static class GetCockpitPlan { /// - /// Gets information about a Scaleway Cockpit plan. + /// The `scaleway.getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `scaleway.Cockpit`. /// - /// ## Example Usage + /// Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + /// + /// Refer 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. + /// + /// ## Fetch and associate a pricing plan to a Cockpit + /// + /// The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. /// /// ```csharp /// using System.Collections.Generic; @@ -43,9 +49,15 @@ public static Task InvokeAsync(GetCockpitPlanArgs args, In => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getCockpitPlan:getCockpitPlan", args ?? new GetCockpitPlanArgs(), options.WithDefaults()); /// - /// Gets information about a Scaleway Cockpit plan. + /// The `scaleway.getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `scaleway.Cockpit`. + /// + /// Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + /// + /// Refer 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. + /// + /// ## Fetch and associate a pricing plan to a Cockpit /// - /// ## Example Usage + /// The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. /// /// ```csharp /// using System.Collections.Generic; @@ -77,7 +89,7 @@ public static Output Invoke(GetCockpitPlanInvokeArgs args, public sealed class GetCockpitPlanArgs : global::Pulumi.InvokeArgs { /// - /// The name of the plan. + /// Name of the pricing plan you want to retrieve information about. /// [Input("name", required: true)] public string Name { get; set; } = null!; @@ -91,7 +103,7 @@ public GetCockpitPlanArgs() public sealed class GetCockpitPlanInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The name of the plan. + /// Name of the pricing plan you want to retrieve information about. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/GetDomainRecord.cs b/sdk/dotnet/GetDomainRecord.cs index 6e691535..60c7f1b5 100644 --- a/sdk/dotnet/GetDomainRecord.cs +++ b/sdk/dotnet/GetDomainRecord.cs @@ -13,9 +13,17 @@ namespace Pulumiverse.Scaleway public static class GetDomainRecord { /// - /// Gets information about a domain record. + /// The `scaleway.DomainRecord` data source is used to get information about an existing domain record. /// - /// ## Example Usage + /// Refer 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. + /// + /// + /// ## Query domain records + /// + /// The following commands allow you to: + /// + /// - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + /// - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). /// /// ```csharp /// using System.Collections.Generic; @@ -25,7 +33,7 @@ public static class GetDomainRecord /// /// return await Deployment.RunAsync(() => /// { - /// // Get record by name, type and data + /// // Query record by DNS zone, record name, type and content /// var byContent = Scaleway.GetDomainRecord.Invoke(new() /// { /// DnsZone = "domain.tld", @@ -34,7 +42,7 @@ public static class GetDomainRecord /// Data = "1.2.3.4", /// }); /// - /// // Get info by ID + /// // Query record by DNS zone and record ID /// var byId = Scaleway.GetDomainRecord.Invoke(new() /// { /// DnsZone = "domain.tld", @@ -48,9 +56,17 @@ public static Task InvokeAsync(GetDomainRecordArgs? args => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getDomainRecord:getDomainRecord", args ?? new GetDomainRecordArgs(), options.WithDefaults()); /// - /// Gets information about a domain record. + /// The `scaleway.DomainRecord` data source is used to get information about an existing domain record. + /// + /// Refer 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. + /// + /// + /// ## Query domain records + /// + /// The following commands allow you to: /// - /// ## Example Usage + /// - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + /// - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). /// /// ```csharp /// using System.Collections.Generic; @@ -60,7 +76,7 @@ public static Task InvokeAsync(GetDomainRecordArgs? args /// /// return await Deployment.RunAsync(() => /// { - /// // Get record by name, type and data + /// // Query record by DNS zone, record name, type and content /// var byContent = Scaleway.GetDomainRecord.Invoke(new() /// { /// DnsZone = "domain.tld", @@ -69,7 +85,7 @@ public static Task InvokeAsync(GetDomainRecordArgs? args /// Data = "1.2.3.4", /// }); /// - /// // Get info by ID + /// // Query record by DNS zone and record ID /// var byId = Scaleway.GetDomainRecord.Invoke(new() /// { /// DnsZone = "domain.tld", @@ -87,41 +103,37 @@ public static Output Invoke(GetDomainRecordInvokeArgs? ar public sealed class GetDomainRecordArgs : global::Pulumi.InvokeArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - /// Cannot be used with `record_id`. + /// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. /// [Input("data")] public string? Data { get; set; } /// - /// The IP address. + /// The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. /// [Input("dnsZone")] public string? DnsZone { get; set; } /// - /// The name of the record (can be an empty string for a root record). - /// Cannot be used with `record_id`. + /// The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`. /// [Input("name")] public string? Name { get; set; } /// - /// `project_id`) The ID of the project the domain is associated with. + /// ). The ID of the Project associated with the domain. /// [Input("projectId")] public string? ProjectId { get; set; } /// - /// The record ID. - /// Cannot be used with `name`, `type` and `data`. + /// The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. /// [Input("recordId")] public string? RecordId { get; set; } /// - /// The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - /// Cannot be used with `record_id`. + /// The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`. /// [Input("type")] public string? Type { get; set; } @@ -135,41 +147,37 @@ public GetDomainRecordArgs() public sealed class GetDomainRecordInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - /// Cannot be used with `record_id`. + /// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. /// [Input("data")] public Input? Data { get; set; } /// - /// The IP address. + /// The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. /// [Input("dnsZone")] public Input? DnsZone { get; set; } /// - /// The name of the record (can be an empty string for a root record). - /// Cannot be used with `record_id`. + /// The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`. /// [Input("name")] public Input? Name { get; set; } /// - /// `project_id`) The ID of the project the domain is associated with. + /// ). The ID of the Project associated with the domain. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// The record ID. - /// Cannot be used with `name`, `type` and `data`. + /// The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. /// [Input("recordId")] public Input? RecordId { get; set; } /// - /// The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - /// Cannot be used with `record_id`. + /// The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`. /// [Input("type")] public Input? Type { get; set; } @@ -188,11 +196,11 @@ public sealed class GetDomainRecordResult public readonly string? DnsZone; public readonly string Fqdn; /// - /// Dynamic record base on user geolocalisation (More information about dynamic records) + /// Information about dynamic records based on user geolocation. Find out more about dynamic records. /// public readonly ImmutableArray GeoIps; /// - /// Dynamic record base on URL resolve (More information about dynamic records) + /// Information about dynamic records based on URL resolution. Find out more about dynamic records. /// public readonly ImmutableArray HttpServices; /// @@ -202,23 +210,23 @@ public sealed class GetDomainRecordResult public readonly bool KeepEmptyZone; public readonly string? Name; /// - /// The priority of the record (mostly used with an `MX` record) + /// The priority of the record, mainly used with `MX` records. /// public readonly int Priority; public readonly string? ProjectId; public readonly string? RecordId; public readonly bool RootZone; /// - /// Time To Live of the record in seconds. + /// The Time To Live (TTL) of the record in seconds. /// public readonly int Ttl; public readonly string? Type; /// - /// Dynamic record based on the client’s (resolver) subnet (More information about dynamic records) + /// Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. /// public readonly ImmutableArray Views; /// - /// Dynamic record base on IP weights (More information about dynamic records) + /// Information about dynamic records based on IP weights. Find out more about dynamic records. /// public readonly ImmutableArray Weighteds; diff --git a/sdk/dotnet/GetDomainZone.cs b/sdk/dotnet/GetDomainZone.cs index a7299a8a..f25a97d9 100644 --- a/sdk/dotnet/GetDomainZone.cs +++ b/sdk/dotnet/GetDomainZone.cs @@ -12,55 +12,9 @@ namespace Pulumiverse.Scaleway { public static class GetDomainZone { - /// - /// Gets information about a domain zone. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumi.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Get zone - /// var main = Scaleway.GetDomainZone.Invoke(new() - /// { - /// Domain = "scaleway-terraform.com", - /// Subdomain = "test", - /// }); - /// - /// }); - /// ``` - /// public static Task InvokeAsync(GetDomainZoneArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getDomainZone:getDomainZone", args ?? new GetDomainZoneArgs(), options.WithDefaults()); - /// - /// Gets information about a domain zone. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumi.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Get zone - /// var main = Scaleway.GetDomainZone.Invoke(new() - /// { - /// Domain = "scaleway-terraform.com", - /// Subdomain = "test", - /// }); - /// - /// }); - /// ``` - /// public static Output Invoke(GetDomainZoneInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDomainZone:getDomainZone", args ?? new GetDomainZoneInvokeArgs(), options.WithDefaults()); } @@ -69,13 +23,13 @@ public static Output Invoke(GetDomainZoneInvokeArgs? args = public sealed class GetDomainZoneArgs : global::Pulumi.InvokeArgs { /// - /// The domain where the DNS zone will be created. + /// The primary domain name where the DNS zone is located. This is a mandatory field. /// [Input("domain")] public string? Domain { get; set; } /// - /// The subdomain(zone name) to create in the domain. + /// The subdomain (or zone name) within the primary domain. This is a mandatory field. /// [Input("subdomain")] public string? Subdomain { get; set; } @@ -89,13 +43,13 @@ public GetDomainZoneArgs() public sealed class GetDomainZoneInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The domain where the DNS zone will be created. + /// The primary domain name where the DNS zone is located. This is a mandatory field. /// [Input("domain")] public Input? Domain { get; set; } /// - /// The subdomain(zone name) to create in the domain. + /// The subdomain (or zone name) within the primary domain. This is a mandatory field. /// [Input("subdomain")] public Input? Subdomain { get; set; } @@ -116,29 +70,29 @@ public sealed class GetDomainZoneResult /// public readonly string Id; /// - /// Message + /// Message associated with the domain zone (typically used for status or error messages). /// public readonly string Message; /// - /// NameServer list for zone. + /// The list of name servers for the zone. /// public readonly ImmutableArray Ns; /// - /// NameServer default list for zone. + /// The default list of name servers for the zone. /// public readonly ImmutableArray NsDefaults; /// - /// NameServer master list for zone. + /// The master list of name servers for the zone. /// public readonly ImmutableArray NsMasters; public readonly string ProjectId; /// - /// The domain zone status. + /// The status of the domain zone. /// public readonly string Status; public readonly string? Subdomain; /// - /// The date and time of the last update of the DNS zone. + /// The date and time of the last update to the DNS zone. /// public readonly string UpdatedAt; diff --git a/sdk/dotnet/GetMnqSns.cs b/sdk/dotnet/GetMnqSns.cs new file mode 100644 index 00000000..f6b6823f --- /dev/null +++ b/sdk/dotnet/GetMnqSns.cs @@ -0,0 +1,148 @@ +// *** 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 GetMnqSns + { + /// + /// Gets information about SNS for a Project + /// + /// ## Examples + /// + /// ### Basic + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // For default project + /// var main = Scaleway.GetMnqSns.Invoke(); + /// + /// // For specific project + /// var forProject = Scaleway.GetMnqSns.Invoke(new() + /// { + /// ProjectId = mainScalewayAccountProject.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetMnqSnsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getMnqSns:getMnqSns", args ?? new GetMnqSnsArgs(), options.WithDefaults()); + + /// + /// Gets information about SNS for a Project + /// + /// ## Examples + /// + /// ### Basic + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // For default project + /// var main = Scaleway.GetMnqSns.Invoke(); + /// + /// // For specific project + /// var forProject = Scaleway.GetMnqSns.Invoke(new() + /// { + /// ProjectId = mainScalewayAccountProject.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetMnqSnsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMnqSns:getMnqSns", args ?? new GetMnqSnsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetMnqSnsArgs : global::Pulumi.InvokeArgs + { + /// + /// `project_id`) The ID of the Project in which sns is enabled. + /// + [Input("projectId")] + public string? ProjectId { get; set; } + + /// + /// `region`). The region in which sns is enabled. + /// + [Input("region")] + public string? Region { get; set; } + + public GetMnqSnsArgs() + { + } + public static new GetMnqSnsArgs Empty => new GetMnqSnsArgs(); + } + + public sealed class GetMnqSnsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// `project_id`) The ID of the Project in which sns is enabled. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// `region`). The region in which sns is enabled. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetMnqSnsInvokeArgs() + { + } + public static new GetMnqSnsInvokeArgs Empty => new GetMnqSnsInvokeArgs(); + } + + + [OutputType] + public sealed class GetMnqSnsResult + { + /// + /// The endpoint of the SNS service for this Project. + /// + public readonly string Endpoint; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ProjectId; + public readonly string? Region; + + [OutputConstructor] + private GetMnqSnsResult( + string endpoint, + + string id, + + string? projectId, + + string? region) + { + Endpoint = endpoint; + Id = id; + ProjectId = projectId; + Region = region; + } + } +} diff --git a/sdk/dotnet/GetSecret.cs b/sdk/dotnet/GetSecret.cs index 874d3d9d..f551a055 100644 --- a/sdk/dotnet/GetSecret.cs +++ b/sdk/dotnet/GetSecret.cs @@ -13,12 +13,19 @@ namespace Pulumiverse.Scaleway public static class GetSecret { /// - /// Gets information about Scaleway Secrets. - /// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + /// The `scaleway.Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. /// - /// ## Examples + /// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. /// - /// ### Basic + /// ## Example Usage + /// + /// ### Create a secret and get its information + /// + /// The following commands allow you to: + /// + /// - create a secret named `foo` with the description `barr` + /// - retrieve the secret's information using the secret's ID + /// - retrieve the secret's information using the secret's name /// /// ```csharp /// using System.Collections.Generic; @@ -29,19 +36,20 @@ public static class GetSecret /// /// return await Deployment.RunAsync(() => /// { + /// // Create a secret /// var main = new Scaleway.Secret("main", new() /// { /// Name = "foo", /// Description = "barr", /// }); /// - /// // Get info by secret ID + /// // Get the secret information specified by the secret ID /// var mySecret = Scaleway.GetSecret.Invoke(new() /// { /// SecretId = "11111111-1111-1111-1111-111111111111", /// }); /// - /// // Get info by secret Name + /// // Get the secret information specified by the secret name /// var byName = Scaleway.GetSecret.Invoke(new() /// { /// Name = "your_secret_name", @@ -54,12 +62,19 @@ public static Task InvokeAsync(GetSecretArgs? args = null, Invo => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getSecret:getSecret", args ?? new GetSecretArgs(), options.WithDefaults()); /// - /// Gets information about Scaleway Secrets. - /// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + /// The `scaleway.Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. + /// + /// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + /// + /// ## Example Usage /// - /// ## Examples + /// ### Create a secret and get its information /// - /// ### Basic + /// The following commands allow you to: + /// + /// - create a secret named `foo` with the description `barr` + /// - retrieve the secret's information using the secret's ID + /// - retrieve the secret's information using the secret's name /// /// ```csharp /// using System.Collections.Generic; @@ -70,19 +85,20 @@ public static Task InvokeAsync(GetSecretArgs? args = null, Invo /// /// return await Deployment.RunAsync(() => /// { + /// // Create a secret /// var main = new Scaleway.Secret("main", new() /// { /// Name = "foo", /// Description = "barr", /// }); /// - /// // Get info by secret ID + /// // Get the secret information specified by the secret ID /// var mySecret = Scaleway.GetSecret.Invoke(new() /// { /// SecretId = "11111111-1111-1111-1111-111111111111", /// }); /// - /// // Get info by secret Name + /// // Get the secret information specified by the secret name /// var byName = Scaleway.GetSecret.Invoke(new() /// { /// Name = "your_secret_name", @@ -99,41 +115,40 @@ public static Output Invoke(GetSecretInvokeArgs? args = null, I public sealed class GetSecretArgs : global::Pulumi.InvokeArgs { /// - /// The secret name. + /// The name of the secret. /// Only one of `name` and `secret_id` should be specified. /// [Input("name")] public string? Name { get; set; } /// - /// The organization ID the Project is associated with. - /// If no default organization_id is set, one must be set explicitly in this datasource + /// The ID of the Scaleway Organization the Project is associated with. If no default `organization_id` is set, it must be set explicitly in this data source. /// [Input("organizationId")] public string? OrganizationId { get; set; } /// - /// The secret path. + /// The path of the secret. /// Conflicts with `secret_id`. /// [Input("path")] public string? Path { get; set; } /// - /// `project_id`) The ID of the - /// project the secret is associated with. + /// ). The ID of the + /// Project the secret is associated with. /// [Input("projectId")] public string? ProjectId { get; set; } /// - /// `region`) The region in which the secret exists. + /// ). The region in which the secret exists. /// [Input("region")] public string? Region { get; set; } /// - /// The secret id. + /// The ID of the secret. /// Only one of `name` and `secret_id` should be specified. /// [Input("secretId")] @@ -148,41 +163,40 @@ public GetSecretArgs() public sealed class GetSecretInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The secret name. + /// The name of the secret. /// Only one of `name` and `secret_id` should be specified. /// [Input("name")] public Input? Name { get; set; } /// - /// The organization ID the Project is associated with. - /// If no default organization_id is set, one must be set explicitly in this datasource + /// The ID of the Scaleway Organization the Project is associated with. If no default `organization_id` is set, it must be set explicitly in this data source. /// [Input("organizationId")] public Input? OrganizationId { get; set; } /// - /// The secret path. + /// The path of the secret. /// Conflicts with `secret_id`. /// [Input("path")] public Input? Path { get; set; } /// - /// `project_id`) The ID of the - /// project the secret is associated with. + /// ). The ID of the + /// Project the secret is associated with. /// [Input("projectId")] public Input? ProjectId { get; set; } /// - /// `region`) The region in which the secret exists. + /// ). The region in which the secret exists. /// [Input("region")] public Input? Region { get; set; } /// - /// The secret id. + /// The ID of the secret. /// Only one of `name` and `secret_id` should be specified. /// [Input("secretId")] @@ -200,6 +214,7 @@ public sealed class GetSecretResult { public readonly string CreatedAt; public readonly string Description; + public readonly ImmutableArray EphemeralPolicies; /// /// The provider-assigned unique ID for this managed resource. /// @@ -208,10 +223,12 @@ public sealed class GetSecretResult public readonly string OrganizationId; public readonly string? Path; public readonly string? ProjectId; + public readonly bool Protected; public readonly string? Region; public readonly string? SecretId; public readonly string Status; public readonly ImmutableArray Tags; + public readonly string Type; public readonly string UpdatedAt; public readonly int VersionCount; @@ -221,6 +238,8 @@ private GetSecretResult( string description, + ImmutableArray ephemeralPolicies, + string id, string? name, @@ -231,6 +250,8 @@ private GetSecretResult( string? projectId, + bool @protected, + string? region, string? secretId, @@ -239,21 +260,26 @@ private GetSecretResult( ImmutableArray tags, + string type, + string updatedAt, int versionCount) { CreatedAt = createdAt; Description = description; + EphemeralPolicies = ephemeralPolicies; Id = id; Name = name; OrganizationId = organizationId; Path = path; ProjectId = projectId; + Protected = @protected; Region = region; SecretId = secretId; Status = status; Tags = tags; + Type = type; UpdatedAt = updatedAt; VersionCount = versionCount; } diff --git a/sdk/dotnet/GetSecretVersion.cs b/sdk/dotnet/GetSecretVersion.cs index fb7a9c21..5736090c 100644 --- a/sdk/dotnet/GetSecretVersion.cs +++ b/sdk/dotnet/GetSecretVersion.cs @@ -13,12 +13,24 @@ namespace Pulumiverse.Scaleway public static class GetSecretVersion { /// - /// Gets information about Scaleway a Secret Version. - /// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + /// The `scaleway.SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. /// - /// ## Examples + /// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + /// + /// + /// ## Example Usage + /// + /// ### Use Secret Manager + /// + /// The following commands allow you to: + /// + /// - create a secret named `fooii` + /// - create a new version of `fooii` containing data (`your_secret`) + /// - retrieve the secret version specified by the secret ID and the desired version + /// - retrieve the secret version specified by the secret name and the desired version + /// + /// The output blocks display the sensitive data contained in your secret version. /// - /// ### Basic /// /// ```csharp /// using System.Collections.Generic; @@ -29,12 +41,14 @@ public static class GetSecretVersion /// /// return await Deployment.RunAsync(() => /// { + /// // Create a secret named fooii /// var main = new Scaleway.Secret("main", new() /// { /// Name = "fooii", /// Description = "barr", /// }); /// + /// // Create a version of fooii containing data /// var mainSecretVersion = new Scaleway.SecretVersion("main", new() /// { /// Description = "your description", @@ -42,12 +56,14 @@ public static class GetSecretVersion /// Data = "your_secret", /// }); /// + /// // Retrieve the secret version specified by the secret ID and the desired version /// var dataBySecretId = Scaleway.GetSecretVersion.Invoke(new() /// { /// SecretId = main.Id, /// Revision = "1", /// }); /// + /// // Retrieve the secret version specified by the secret name and the desired version /// var dataBySecretName = Scaleway.GetSecretVersion.Invoke(new() /// { /// SecretName = main.Name, @@ -62,25 +78,37 @@ public static class GetSecretVersion /// }); /// ``` /// - /// ## Data + /// ## Data information /// - /// Note: This Data Source give you **access** to the secret payload encoded en base64. + /// Note: This data source provides you with access to the secret payload, which is encoded in base64. /// - /// Be aware that this is a sensitive attribute. For more information, + /// Keep in mind that this is a sensitive attribute. For more information, /// see Sensitive Data in State. /// - /// > **Important:** This property is sensitive and will not be displayed in the plan. + /// > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. /// public static Task InvokeAsync(GetSecretVersionArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getSecretVersion:getSecretVersion", args ?? new GetSecretVersionArgs(), options.WithDefaults()); /// - /// Gets information about Scaleway a Secret Version. - /// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + /// The `scaleway.SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. + /// + /// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + /// + /// + /// ## Example Usage + /// + /// ### Use Secret Manager + /// + /// The following commands allow you to: /// - /// ## Examples + /// - create a secret named `fooii` + /// - create a new version of `fooii` containing data (`your_secret`) + /// - retrieve the secret version specified by the secret ID and the desired version + /// - retrieve the secret version specified by the secret name and the desired version + /// + /// The output blocks display the sensitive data contained in your secret version. /// - /// ### Basic /// /// ```csharp /// using System.Collections.Generic; @@ -91,12 +119,14 @@ public static Task InvokeAsync(GetSecretVersionArgs? arg /// /// return await Deployment.RunAsync(() => /// { + /// // Create a secret named fooii /// var main = new Scaleway.Secret("main", new() /// { /// Name = "fooii", /// Description = "barr", /// }); /// + /// // Create a version of fooii containing data /// var mainSecretVersion = new Scaleway.SecretVersion("main", new() /// { /// Description = "your description", @@ -104,12 +134,14 @@ public static Task InvokeAsync(GetSecretVersionArgs? arg /// Data = "your_secret", /// }); /// + /// // Retrieve the secret version specified by the secret ID and the desired version /// var dataBySecretId = Scaleway.GetSecretVersion.Invoke(new() /// { /// SecretId = main.Id, /// Revision = "1", /// }); /// + /// // Retrieve the secret version specified by the secret name and the desired version /// var dataBySecretName = Scaleway.GetSecretVersion.Invoke(new() /// { /// SecretName = main.Name, @@ -124,14 +156,14 @@ public static Task InvokeAsync(GetSecretVersionArgs? arg /// }); /// ``` /// - /// ## Data + /// ## Data information /// - /// Note: This Data Source give you **access** to the secret payload encoded en base64. + /// Note: This data source provides you with access to the secret payload, which is encoded in base64. /// - /// Be aware that this is a sensitive attribute. For more information, + /// Keep in mind that this is a sensitive attribute. For more information, /// see Sensitive Data in State. /// - /// > **Important:** This property is sensitive and will not be displayed in the plan. + /// > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. /// public static Output Invoke(GetSecretVersionInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getSecretVersion:getSecretVersion", args ?? new GetSecretVersionInvokeArgs(), options.WithDefaults()); @@ -140,34 +172,32 @@ public static Output Invoke(GetSecretVersionInvokeArgs? public sealed class GetSecretVersionArgs : global::Pulumi.InvokeArgs { + [Input("organizationId")] + public string? OrganizationId { get; set; } + /// - /// The ID of the project the Secret version is associated with. + /// The ID of the Scaleway Project associated with the secret version. /// [Input("projectId")] public string? ProjectId { get; set; } - /// - /// `region`) The region - /// in which the resource exists. - /// [Input("region")] public string? Region { get; set; } /// - /// The revision for this Secret Version. + /// The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) /// [Input("revision")] public string? Revision { get; set; } /// - /// The Secret ID associated wit the secret version. - /// Only one of `secret_id` and `secret_name` should be specified. + /// The ID of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. /// [Input("secretId")] public string? SecretId { get; set; } /// - /// The Name of Secret associated wit the secret version. + /// The name of the secret associated with the secret version. /// Only one of `secret_id` and `secret_name` should be specified. /// [Input("secretName")] @@ -181,34 +211,32 @@ public GetSecretVersionArgs() public sealed class GetSecretVersionInvokeArgs : global::Pulumi.InvokeArgs { + [Input("organizationId")] + public Input? OrganizationId { get; set; } + /// - /// The ID of the project the Secret version is associated with. + /// The ID of the Scaleway Project associated with the secret version. /// [Input("projectId")] public Input? ProjectId { get; set; } - /// - /// `region`) The region - /// in which the resource exists. - /// [Input("region")] public Input? Region { get; set; } /// - /// The revision for this Secret Version. + /// The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) /// [Input("revision")] public Input? Revision { get; set; } /// - /// The Secret ID associated wit the secret version. - /// Only one of `secret_id` and `secret_name` should be specified. + /// The ID of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. /// [Input("secretId")] public Input? SecretId { get; set; } /// - /// The Name of Secret associated wit the secret version. + /// The name of the secret associated with the secret version. /// Only one of `secret_id` and `secret_name` should be specified. /// [Input("secretName")] @@ -225,32 +253,33 @@ public GetSecretVersionInvokeArgs() public sealed class GetSecretVersionResult { /// - /// Date and time of secret version's creation (RFC 3339 format). + /// The date and time of the secret version's creation in RFC 3339 format. /// public readonly string CreatedAt; /// - /// The data payload of the secret version. more on the data section + /// The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information). /// public readonly string Data; /// - /// (Optional) Description of the secret version (e.g. `my-new-description`). + /// (Optional) The description of the secret version (e.g. `my-new-description`). /// public readonly string Description; /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; + public readonly string OrganizationId; public readonly string? ProjectId; public readonly string? Region; public readonly string? Revision; public readonly string? SecretId; public readonly string? SecretName; /// - /// The status of the Secret Version. + /// The status of the secret version. /// public readonly string Status; /// - /// Date and time of secret version's last update (RFC 3339 format). + /// The date and time of the secret version's last update in RFC 3339 format. /// public readonly string UpdatedAt; @@ -264,6 +293,8 @@ private GetSecretVersionResult( string id, + string organizationId, + string? projectId, string? region, @@ -282,6 +313,7 @@ private GetSecretVersionResult( Data = data; Description = description; Id = id; + OrganizationId = organizationId; ProjectId = projectId; Region = region; Revision = revision; diff --git a/sdk/dotnet/IamPolicy.cs b/sdk/dotnet/IamPolicy.cs index 168d605d..dfedfa88 100644 --- a/sdk/dotnet/IamPolicy.cs +++ b/sdk/dotnet/IamPolicy.cs @@ -98,6 +98,44 @@ namespace Pulumiverse.Scaleway /// }); /// ``` /// + /// ### Create a policy with a particular condition + /// + /// IAM policy rule can use a condition to be applied. + /// The following variables are available: + /// + /// - `request.ip` + /// - `request.user_agent` + /// - `request.time` + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.IamPolicy("main", new() + /// { + /// Name = "tf_tests_policy_condition", + /// NoPrincipal = true, + /// Rules = new[] + /// { + /// new Scaleway.Inputs.IamPolicyRuleArgs + /// { + /// OrganizationId = "%s", + /// PermissionSetNames = new[] + /// { + /// "AllProductsFullAccess", + /// }, + /// Condition = "request.user_agent == 'My User Agent'", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Policies can be imported using the `{id}`, e.g. diff --git a/sdk/dotnet/Inputs/CockpitEndpointArgs.cs b/sdk/dotnet/Inputs/CockpitEndpointArgs.cs index c12aed60..e73a5fa9 100644 --- a/sdk/dotnet/Inputs/CockpitEndpointArgs.cs +++ b/sdk/dotnet/Inputs/CockpitEndpointArgs.cs @@ -14,31 +14,31 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class CockpitEndpointArgs : global::Pulumi.ResourceArgs { /// - /// The alertmanager URL. + /// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). /// [Input("alertmanagerUrl")] public Input? AlertmanagerUrl { get; set; } /// - /// The grafana URL. + /// (Deprecated) URL for Grafana. /// [Input("grafanaUrl")] public Input? GrafanaUrl { get; set; } /// - /// The logs URL. + /// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("logsUrl")] public Input? LogsUrl { get; set; } /// - /// The metrics URL. + /// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("metricsUrl")] public Input? MetricsUrl { get; set; } /// - /// The traces URL. + /// (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("tracesUrl")] public Input? TracesUrl { get; set; } diff --git a/sdk/dotnet/Inputs/CockpitEndpointGetArgs.cs b/sdk/dotnet/Inputs/CockpitEndpointGetArgs.cs index 257ec322..1bc1018b 100644 --- a/sdk/dotnet/Inputs/CockpitEndpointGetArgs.cs +++ b/sdk/dotnet/Inputs/CockpitEndpointGetArgs.cs @@ -14,31 +14,31 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class CockpitEndpointGetArgs : global::Pulumi.ResourceArgs { /// - /// The alertmanager URL. + /// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). /// [Input("alertmanagerUrl")] public Input? AlertmanagerUrl { get; set; } /// - /// The grafana URL. + /// (Deprecated) URL for Grafana. /// [Input("grafanaUrl")] public Input? GrafanaUrl { get; set; } /// - /// The logs URL. + /// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("logsUrl")] public Input? LogsUrl { get; set; } /// - /// The metrics URL. + /// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("metricsUrl")] public Input? MetricsUrl { get; set; } /// - /// The traces URL. + /// (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// [Input("tracesUrl")] public Input? TracesUrl { get; set; } diff --git a/sdk/dotnet/Inputs/CockpitTokenScopesArgs.cs b/sdk/dotnet/Inputs/CockpitTokenScopesArgs.cs index f9a781d8..64b7f7f5 100644 --- a/sdk/dotnet/Inputs/CockpitTokenScopesArgs.cs +++ b/sdk/dotnet/Inputs/CockpitTokenScopesArgs.cs @@ -14,55 +14,55 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class CockpitTokenScopesArgs : global::Pulumi.ResourceArgs { /// - /// Query logs. + /// Permission to query logs. /// [Input("queryLogs")] public Input? QueryLogs { get; set; } /// - /// Query metrics. + /// Permission to query metrics. /// [Input("queryMetrics")] public Input? QueryMetrics { get; set; } /// - /// Query traces. + /// Permission to query traces. /// [Input("queryTraces")] public Input? QueryTraces { get; set; } /// - /// Setup alerts. + /// Permission to set up alerts. /// [Input("setupAlerts")] public Input? SetupAlerts { get; set; } /// - /// Setup logs rules. + /// Permission to set up logs rules. /// [Input("setupLogsRules")] public Input? SetupLogsRules { get; set; } /// - /// Setup metrics rules. + /// Permission to set up metrics rules. /// [Input("setupMetricsRules")] public Input? SetupMetricsRules { get; set; } /// - /// Write logs. + /// Permission to write logs. /// [Input("writeLogs")] public Input? WriteLogs { get; set; } /// - /// Write metrics. + /// Permission to write metrics. /// [Input("writeMetrics")] public Input? WriteMetrics { get; set; } /// - /// Write traces. + /// Permission to write traces. /// [Input("writeTraces")] public Input? WriteTraces { get; set; } diff --git a/sdk/dotnet/Inputs/CockpitTokenScopesGetArgs.cs b/sdk/dotnet/Inputs/CockpitTokenScopesGetArgs.cs index a1ab8532..bd9b1fd7 100644 --- a/sdk/dotnet/Inputs/CockpitTokenScopesGetArgs.cs +++ b/sdk/dotnet/Inputs/CockpitTokenScopesGetArgs.cs @@ -14,55 +14,55 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class CockpitTokenScopesGetArgs : global::Pulumi.ResourceArgs { /// - /// Query logs. + /// Permission to query logs. /// [Input("queryLogs")] public Input? QueryLogs { get; set; } /// - /// Query metrics. + /// Permission to query metrics. /// [Input("queryMetrics")] public Input? QueryMetrics { get; set; } /// - /// Query traces. + /// Permission to query traces. /// [Input("queryTraces")] public Input? QueryTraces { get; set; } /// - /// Setup alerts. + /// Permission to set up alerts. /// [Input("setupAlerts")] public Input? SetupAlerts { get; set; } /// - /// Setup logs rules. + /// Permission to set up logs rules. /// [Input("setupLogsRules")] public Input? SetupLogsRules { get; set; } /// - /// Setup metrics rules. + /// Permission to set up metrics rules. /// [Input("setupMetricsRules")] public Input? SetupMetricsRules { get; set; } /// - /// Write logs. + /// Permission to write logs. /// [Input("writeLogs")] public Input? WriteLogs { get; set; } /// - /// Write metrics. + /// Permission to write metrics. /// [Input("writeMetrics")] public Input? WriteMetrics { get; set; } /// - /// Write traces. + /// Permission to write traces. /// [Input("writeTraces")] public Input? WriteTraces { get; set; } diff --git a/sdk/dotnet/Inputs/DomainRecordGeoIpMatchArgs.cs b/sdk/dotnet/Inputs/DomainRecordGeoIpMatchArgs.cs index 8497a620..3c9b002b 100644 --- a/sdk/dotnet/Inputs/DomainRecordGeoIpMatchArgs.cs +++ b/sdk/dotnet/Inputs/DomainRecordGeoIpMatchArgs.cs @@ -38,7 +38,7 @@ public InputList Countries } /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data", required: true)] public Input Data { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/DomainRecordGeoIpMatchGetArgs.cs b/sdk/dotnet/Inputs/DomainRecordGeoIpMatchGetArgs.cs index 3f932e30..a07bfb87 100644 --- a/sdk/dotnet/Inputs/DomainRecordGeoIpMatchGetArgs.cs +++ b/sdk/dotnet/Inputs/DomainRecordGeoIpMatchGetArgs.cs @@ -38,7 +38,7 @@ public InputList Countries } /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data", required: true)] public Input Data { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/DomainRecordViewArgs.cs b/sdk/dotnet/Inputs/DomainRecordViewArgs.cs index f73678d6..9c847acd 100644 --- a/sdk/dotnet/Inputs/DomainRecordViewArgs.cs +++ b/sdk/dotnet/Inputs/DomainRecordViewArgs.cs @@ -14,7 +14,7 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class DomainRecordViewArgs : global::Pulumi.ResourceArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data", required: true)] public Input Data { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/DomainRecordViewGetArgs.cs b/sdk/dotnet/Inputs/DomainRecordViewGetArgs.cs index e79c6612..d4a38a38 100644 --- a/sdk/dotnet/Inputs/DomainRecordViewGetArgs.cs +++ b/sdk/dotnet/Inputs/DomainRecordViewGetArgs.cs @@ -14,7 +14,7 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class DomainRecordViewGetArgs : global::Pulumi.ResourceArgs { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// [Input("data", required: true)] public Input Data { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/IamPolicyRuleArgs.cs b/sdk/dotnet/Inputs/IamPolicyRuleArgs.cs index cc431580..63160939 100644 --- a/sdk/dotnet/Inputs/IamPolicyRuleArgs.cs +++ b/sdk/dotnet/Inputs/IamPolicyRuleArgs.cs @@ -13,6 +13,12 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class IamPolicyRuleArgs : global::Pulumi.ResourceArgs { + /// + /// The condition of the IAM policy. + /// + [Input("condition")] + public Input? Condition { get; set; } + /// /// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. /// diff --git a/sdk/dotnet/Inputs/IamPolicyRuleGetArgs.cs b/sdk/dotnet/Inputs/IamPolicyRuleGetArgs.cs index e7157e65..4146d1d3 100644 --- a/sdk/dotnet/Inputs/IamPolicyRuleGetArgs.cs +++ b/sdk/dotnet/Inputs/IamPolicyRuleGetArgs.cs @@ -13,6 +13,12 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class IamPolicyRuleGetArgs : global::Pulumi.ResourceArgs { + /// + /// The condition of the IAM policy. + /// + [Input("condition")] + public Input? Condition { get; set; } + /// /// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. /// diff --git a/sdk/dotnet/Inputs/KubernetesNodePoolNodeArgs.cs b/sdk/dotnet/Inputs/KubernetesNodePoolNodeArgs.cs index da1869ed..135cd74c 100644 --- a/sdk/dotnet/Inputs/KubernetesNodePoolNodeArgs.cs +++ b/sdk/dotnet/Inputs/KubernetesNodePoolNodeArgs.cs @@ -21,13 +21,13 @@ public sealed class KubernetesNodePoolNodeArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// The public IPv4. + /// The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// [Input("publicIp")] public Input? PublicIp { get; set; } /// - /// The public IPv6. + /// The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// [Input("publicIpV6")] public Input? PublicIpV6 { get; set; } diff --git a/sdk/dotnet/Inputs/KubernetesNodePoolNodeGetArgs.cs b/sdk/dotnet/Inputs/KubernetesNodePoolNodeGetArgs.cs index 6198ea2d..7370bcf0 100644 --- a/sdk/dotnet/Inputs/KubernetesNodePoolNodeGetArgs.cs +++ b/sdk/dotnet/Inputs/KubernetesNodePoolNodeGetArgs.cs @@ -21,13 +21,13 @@ public sealed class KubernetesNodePoolNodeGetArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// The public IPv4. + /// The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// [Input("publicIp")] public Input? PublicIp { get; set; } /// - /// The public IPv6. + /// The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// [Input("publicIpV6")] public Input? PublicIpV6 { get; set; } diff --git a/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkArgs.cs b/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkArgs.cs index e71a4007..eea2aab8 100644 --- a/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkArgs.cs +++ b/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkArgs.cs @@ -14,7 +14,7 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class LoadbalancerPrivateNetworkArgs : global::Pulumi.ResourceArgs { /// - /// (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + /// (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. /// [Input("dhcpConfig")] public Input? DhcpConfig { get; set; } diff --git a/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkGetArgs.cs b/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkGetArgs.cs index a8c4d12f..8fd583af 100644 --- a/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkGetArgs.cs +++ b/sdk/dotnet/Inputs/LoadbalancerPrivateNetworkGetArgs.cs @@ -14,7 +14,7 @@ namespace Pulumiverse.Scaleway.Inputs public sealed class LoadbalancerPrivateNetworkGetArgs : global::Pulumi.ResourceArgs { /// - /// (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + /// (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. /// [Input("dhcpConfig")] public Input? DhcpConfig { get; set; } diff --git a/sdk/dotnet/Inputs/SecretEphemeralPolicyArgs.cs b/sdk/dotnet/Inputs/SecretEphemeralPolicyArgs.cs new file mode 100644 index 00000000..13e13c01 --- /dev/null +++ b/sdk/dotnet/Inputs/SecretEphemeralPolicyArgs.cs @@ -0,0 +1,39 @@ +// *** 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 SecretEphemeralPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// True if the secret version expires after a single user access. + /// + [Input("expiresOnceAccessed")] + public Input? ExpiresOnceAccessed { get; set; } + + /// + /// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + /// + [Input("ttl")] + public Input? Ttl { get; set; } + + public SecretEphemeralPolicyArgs() + { + } + public static new SecretEphemeralPolicyArgs Empty => new SecretEphemeralPolicyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SecretEphemeralPolicyGetArgs.cs b/sdk/dotnet/Inputs/SecretEphemeralPolicyGetArgs.cs new file mode 100644 index 00000000..18510c8f --- /dev/null +++ b/sdk/dotnet/Inputs/SecretEphemeralPolicyGetArgs.cs @@ -0,0 +1,39 @@ +// *** 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 SecretEphemeralPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// True if the secret version expires after a single user access. + /// + [Input("expiresOnceAccessed")] + public Input? ExpiresOnceAccessed { get; set; } + + /// + /// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + /// + [Input("ttl")] + public Input? Ttl { get; set; } + + public SecretEphemeralPolicyGetArgs() + { + } + public static new SecretEphemeralPolicyGetArgs Empty => new SecretEphemeralPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/InstanceServer.cs b/sdk/dotnet/InstanceServer.cs index 8e0dfc43..8337993e 100644 --- a/sdk/dotnet/InstanceServer.cs +++ b/sdk/dotnet/InstanceServer.cs @@ -312,6 +312,7 @@ public partial class InstanceServer : global::Pulumi.CustomResource /// /// Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Output("enableIpv6")] public Output EnableIpv6 { get; private set; } = null!; @@ -343,18 +344,21 @@ public partial class InstanceServer : global::Pulumi.CustomResource /// /// The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Output("ipv6Address")] public Output Ipv6Address { get; private set; } = null!; /// /// The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Output("ipv6Gateway")] public Output Ipv6Gateway { get; private set; } = null!; /// /// The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Output("ipv6PrefixLength")] public Output Ipv6PrefixLength { get; private set; } = null!; @@ -406,7 +410,7 @@ public partial class InstanceServer : global::Pulumi.CustomResource public Output ProjectId { get; private set; } = null!; /// - /// The public IP address of the server. + /// The public IP address of the server (Deprecated use `public_ips` instead). /// [Output("publicIp")] public Output PublicIp { get; private set; } = null!; @@ -573,6 +577,7 @@ public InputList AdditionalVolumeIds /// /// Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Input("enableIpv6")] public Input? EnableIpv6 { get; set; } @@ -783,6 +788,7 @@ public InputList AdditionalVolumeIds /// /// Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Input("enableIpv6")] public Input? EnableIpv6 { get; set; } @@ -820,18 +826,21 @@ public InputList IpIds /// /// The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Input("ipv6Address")] public Input? Ipv6Address { get; set; } /// /// The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Input("ipv6Gateway")] public Input? Ipv6Gateway { get; set; } /// /// The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + /// Deprecated: Please use a scaleway.InstanceIp with a `routed_ipv6` type. /// [Input("ipv6PrefixLength")] public Input? Ipv6PrefixLength { get; set; } @@ -889,7 +898,7 @@ public InputList PrivateNetworks public Input? ProjectId { get; set; } /// - /// The public IP address of the server. + /// The public IP address of the server (Deprecated use `public_ips` instead). /// [Input("publicIp")] public Input? PublicIp { get; set; } diff --git a/sdk/dotnet/LoadbalancerFrontend.cs b/sdk/dotnet/LoadbalancerFrontend.cs index 217b5ed9..7b1dba40 100644 --- a/sdk/dotnet/LoadbalancerFrontend.cs +++ b/sdk/dotnet/LoadbalancerFrontend.cs @@ -200,7 +200,7 @@ public partial class LoadbalancerFrontend : global::Pulumi.CustomResource public Output BackendId { get; private set; } = null!; /// - /// (Deprecated) First certificate ID used by the frontend. + /// (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. /// [Output("certificateId")] public Output CertificateId { get; private set; } = null!; @@ -397,7 +397,7 @@ public InputList Acls public Input? BackendId { get; set; } /// - /// (Deprecated) First certificate ID used by the frontend. + /// (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. /// [Input("certificateId")] public Input? CertificateId { get; set; } diff --git a/sdk/dotnet/Outputs/CockpitEndpoint.cs b/sdk/dotnet/Outputs/CockpitEndpoint.cs index c26b30c8..1ea96241 100644 --- a/sdk/dotnet/Outputs/CockpitEndpoint.cs +++ b/sdk/dotnet/Outputs/CockpitEndpoint.cs @@ -15,23 +15,23 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class CockpitEndpoint { /// - /// The alertmanager URL. + /// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). /// public readonly string? AlertmanagerUrl; /// - /// The grafana URL. + /// (Deprecated) URL for Grafana. /// public readonly string? GrafanaUrl; /// - /// The logs URL. + /// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// public readonly string? LogsUrl; /// - /// The metrics URL. + /// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// public readonly string? MetricsUrl; /// - /// The traces URL. + /// (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// public readonly string? TracesUrl; diff --git a/sdk/dotnet/Outputs/CockpitTokenScopes.cs b/sdk/dotnet/Outputs/CockpitTokenScopes.cs index cc79bd7b..cc8f93cd 100644 --- a/sdk/dotnet/Outputs/CockpitTokenScopes.cs +++ b/sdk/dotnet/Outputs/CockpitTokenScopes.cs @@ -15,39 +15,39 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class CockpitTokenScopes { /// - /// Query logs. + /// Permission to query logs. /// public readonly bool? QueryLogs; /// - /// Query metrics. + /// Permission to query metrics. /// public readonly bool? QueryMetrics; /// - /// Query traces. + /// Permission to query traces. /// public readonly bool? QueryTraces; /// - /// Setup alerts. + /// Permission to set up alerts. /// public readonly bool? SetupAlerts; /// - /// Setup logs rules. + /// Permission to set up logs rules. /// public readonly bool? SetupLogsRules; /// - /// Setup metrics rules. + /// Permission to set up metrics rules. /// public readonly bool? SetupMetricsRules; /// - /// Write logs. + /// Permission to write logs. /// public readonly bool? WriteLogs; /// - /// Write metrics. + /// Permission to write metrics. /// public readonly bool? WriteMetrics; /// - /// Write traces. + /// Permission to write traces. /// public readonly bool? WriteTraces; diff --git a/sdk/dotnet/Outputs/DomainRecordGeoIpMatch.cs b/sdk/dotnet/Outputs/DomainRecordGeoIpMatch.cs index c7b8a1c9..e417c8e0 100644 --- a/sdk/dotnet/Outputs/DomainRecordGeoIpMatch.cs +++ b/sdk/dotnet/Outputs/DomainRecordGeoIpMatch.cs @@ -23,7 +23,7 @@ public sealed class DomainRecordGeoIpMatch /// public readonly ImmutableArray Countries; /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// public readonly string Data; diff --git a/sdk/dotnet/Outputs/DomainRecordView.cs b/sdk/dotnet/Outputs/DomainRecordView.cs index 2984dd9c..e35c9be2 100644 --- a/sdk/dotnet/Outputs/DomainRecordView.cs +++ b/sdk/dotnet/Outputs/DomainRecordView.cs @@ -15,7 +15,7 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class DomainRecordView { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + /// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). /// public readonly string Data; /// diff --git a/sdk/dotnet/Outputs/GetCockpitEndpointResult.cs b/sdk/dotnet/Outputs/GetCockpitEndpointResult.cs index 29efaef2..aeb83ccb 100644 --- a/sdk/dotnet/Outputs/GetCockpitEndpointResult.cs +++ b/sdk/dotnet/Outputs/GetCockpitEndpointResult.cs @@ -15,19 +15,19 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class GetCockpitEndpointResult { /// - /// The alertmanager URL + /// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). /// public readonly string AlertmanagerUrl; /// - /// The grafana URL + /// (Deprecated) URL for Grafana. /// public readonly string GrafanaUrl; /// - /// The logs URL + /// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// public readonly string LogsUrl; /// - /// The metrics URL + /// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. /// public readonly string MetricsUrl; /// diff --git a/sdk/dotnet/Outputs/GetDomainRecordGeoIpMatchResult.cs b/sdk/dotnet/Outputs/GetDomainRecordGeoIpMatchResult.cs index b6a20fa3..32331c65 100644 --- a/sdk/dotnet/Outputs/GetDomainRecordGeoIpMatchResult.cs +++ b/sdk/dotnet/Outputs/GetDomainRecordGeoIpMatchResult.cs @@ -23,8 +23,7 @@ public sealed class GetDomainRecordGeoIpMatchResult /// public readonly ImmutableArray Countries; /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - /// Cannot be used with `record_id`. + /// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. /// public readonly string Data; diff --git a/sdk/dotnet/Outputs/GetDomainRecordViewResult.cs b/sdk/dotnet/Outputs/GetDomainRecordViewResult.cs index a8a7c9f0..f510158c 100644 --- a/sdk/dotnet/Outputs/GetDomainRecordViewResult.cs +++ b/sdk/dotnet/Outputs/GetDomainRecordViewResult.cs @@ -15,8 +15,7 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class GetDomainRecordViewResult { /// - /// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - /// Cannot be used with `record_id`. + /// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. /// public readonly string Data; /// diff --git a/sdk/dotnet/Outputs/GetSecretEphemeralPolicyResult.cs b/sdk/dotnet/Outputs/GetSecretEphemeralPolicyResult.cs new file mode 100644 index 00000000..b1ebdc43 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSecretEphemeralPolicyResult.cs @@ -0,0 +1,43 @@ +// *** 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 GetSecretEphemeralPolicyResult + { + /// + /// Action to perform when the version of a secret expires. + /// + public readonly string Action; + /// + /// True if the secret version expires after a single user access. + /// + public readonly bool ExpiresOnceAccessed; + /// + /// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + /// + public readonly string Ttl; + + [OutputConstructor] + private GetSecretEphemeralPolicyResult( + string action, + + bool expiresOnceAccessed, + + string ttl) + { + Action = action; + ExpiresOnceAccessed = expiresOnceAccessed; + Ttl = ttl; + } + } +} diff --git a/sdk/dotnet/Outputs/IamPolicyRule.cs b/sdk/dotnet/Outputs/IamPolicyRule.cs index 32706883..431dc69d 100644 --- a/sdk/dotnet/Outputs/IamPolicyRule.cs +++ b/sdk/dotnet/Outputs/IamPolicyRule.cs @@ -14,6 +14,10 @@ namespace Pulumiverse.Scaleway.Outputs [OutputType] public sealed class IamPolicyRule { + /// + /// The condition of the IAM policy. + /// + public readonly string? Condition; /// /// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. /// @@ -37,12 +41,15 @@ public sealed class IamPolicyRule [OutputConstructor] private IamPolicyRule( + string? condition, + string? organizationId, ImmutableArray permissionSetNames, ImmutableArray projectIds) { + Condition = condition; OrganizationId = organizationId; PermissionSetNames = permissionSetNames; ProjectIds = projectIds; diff --git a/sdk/dotnet/Outputs/KubernetesNodePoolNode.cs b/sdk/dotnet/Outputs/KubernetesNodePoolNode.cs index a3fb96d4..2b7bd9a2 100644 --- a/sdk/dotnet/Outputs/KubernetesNodePoolNode.cs +++ b/sdk/dotnet/Outputs/KubernetesNodePoolNode.cs @@ -20,11 +20,11 @@ public sealed class KubernetesNodePoolNode /// public readonly string? Name; /// - /// The public IPv4. + /// The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// public readonly string? PublicIp; /// - /// The public IPv6. + /// The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) /// public readonly string? PublicIpV6; /// diff --git a/sdk/dotnet/Outputs/LoadbalancerPrivateNetwork.cs b/sdk/dotnet/Outputs/LoadbalancerPrivateNetwork.cs index b60efb19..48b6cd40 100644 --- a/sdk/dotnet/Outputs/LoadbalancerPrivateNetwork.cs +++ b/sdk/dotnet/Outputs/LoadbalancerPrivateNetwork.cs @@ -15,7 +15,7 @@ namespace Pulumiverse.Scaleway.Outputs public sealed class LoadbalancerPrivateNetwork { /// - /// (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + /// (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. /// public readonly bool? DhcpConfig; /// diff --git a/sdk/dotnet/Outputs/SecretEphemeralPolicy.cs b/sdk/dotnet/Outputs/SecretEphemeralPolicy.cs new file mode 100644 index 00000000..884d8ca2 --- /dev/null +++ b/sdk/dotnet/Outputs/SecretEphemeralPolicy.cs @@ -0,0 +1,43 @@ +// *** 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 SecretEphemeralPolicy + { + /// + /// Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + public readonly string Action; + /// + /// True if the secret version expires after a single user access. + /// + public readonly bool? ExpiresOnceAccessed; + /// + /// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + /// + public readonly string? Ttl; + + [OutputConstructor] + private SecretEphemeralPolicy( + string action, + + bool? expiresOnceAccessed, + + string? ttl) + { + Action = action; + ExpiresOnceAccessed = expiresOnceAccessed; + Ttl = ttl; + } + } +} diff --git a/sdk/dotnet/Secret.cs b/sdk/dotnet/Secret.cs index 3f4e704f..07d2b854 100644 --- a/sdk/dotnet/Secret.cs +++ b/sdk/dotnet/Secret.cs @@ -11,38 +11,9 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Secrets. - /// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/). - /// - /// ## Example Usage - /// - /// ### Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var main = new Scaleway.Secret("main", new() - /// { - /// Name = "foo", - /// Description = "barr", - /// Tags = new[] - /// { - /// "foo", - /// "terraform", - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// - /// The Secret can be imported using the `{region}/{id}`, e.g. + /// This section explains how to import a secret using the `{region}/{id}` format. /// /// bash /// @@ -54,7 +25,7 @@ namespace Pulumiverse.Scaleway public partial class Secret : global::Pulumi.CustomResource { /// - /// Date and time of secret's creation (RFC 3339 format). + /// Date and time of the secret's creation (in RFC 3339 format). /// [Output("createdAt")] public Output CreatedAt { get; private set; } = null!; @@ -65,6 +36,12 @@ public partial class Secret : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + /// + [Output("ephemeralPolicies")] + public Output> EphemeralPolicies { get; private set; } = null!; + /// /// Name of the secret (e.g. `my-secret`). /// @@ -83,6 +60,12 @@ public partial class Secret : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + /// + [Output("protected")] + public Output Protected { get; private set; } = null!; + /// /// `region`) The region /// in which the resource exists. @@ -91,7 +74,7 @@ public partial class Secret : global::Pulumi.CustomResource public Output Region { get; private set; } = null!; /// - /// The status of the Secret. + /// The status of the secret. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -103,13 +86,19 @@ public partial class Secret : global::Pulumi.CustomResource public Output> Tags { get; private set; } = null!; /// - /// Date and time of secret's last update (RFC 3339 format). + /// Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Date and time of the secret's last update (in RFC 3339 format). /// [Output("updatedAt")] public Output UpdatedAt { get; private set; } = null!; /// - /// The number of versions for this Secret. + /// The amount of secret versions. /// [Output("versionCount")] public Output VersionCount { get; private set; } = null!; @@ -167,6 +156,18 @@ public sealed class SecretArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("ephemeralPolicies")] + private InputList? _ephemeralPolicies; + + /// + /// Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + /// + public InputList EphemeralPolicies + { + get => _ephemeralPolicies ?? (_ephemeralPolicies = new InputList()); + set => _ephemeralPolicies = value; + } + /// /// Name of the secret (e.g. `my-secret`). /// @@ -185,6 +186,12 @@ public sealed class SecretArgs : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + /// + [Input("protected")] + public Input? Protected { get; set; } + /// /// `region`) The region /// in which the resource exists. @@ -204,6 +211,12 @@ public InputList Tags set => _tags = value; } + /// + /// Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + [Input("type")] + public Input? Type { get; set; } + public SecretArgs() { } @@ -213,7 +226,7 @@ public SecretArgs() public sealed class SecretState : global::Pulumi.ResourceArgs { /// - /// Date and time of secret's creation (RFC 3339 format). + /// Date and time of the secret's creation (in RFC 3339 format). /// [Input("createdAt")] public Input? CreatedAt { get; set; } @@ -224,6 +237,18 @@ public sealed class SecretState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("ephemeralPolicies")] + private InputList? _ephemeralPolicies; + + /// + /// Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + /// + public InputList EphemeralPolicies + { + get => _ephemeralPolicies ?? (_ephemeralPolicies = new InputList()); + set => _ephemeralPolicies = value; + } + /// /// Name of the secret (e.g. `my-secret`). /// @@ -242,6 +267,12 @@ public sealed class SecretState : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + /// + [Input("protected")] + public Input? Protected { get; set; } + /// /// `region`) The region /// in which the resource exists. @@ -250,7 +281,7 @@ public sealed class SecretState : global::Pulumi.ResourceArgs public Input? Region { get; set; } /// - /// The status of the Secret. + /// The status of the secret. /// [Input("status")] public Input? Status { get; set; } @@ -268,13 +299,19 @@ public InputList Tags } /// - /// Date and time of secret's last update (RFC 3339 format). + /// Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Date and time of the secret's last update (in RFC 3339 format). /// [Input("updatedAt")] public Input? UpdatedAt { get; set; } /// - /// The number of versions for this Secret. + /// The amount of secret versions. /// [Input("versionCount")] public Input? VersionCount { get; set; } diff --git a/sdk/dotnet/SecretVersion.cs b/sdk/dotnet/SecretVersion.cs index 9dc457fc..fc800cf8 100644 --- a/sdk/dotnet/SecretVersion.cs +++ b/sdk/dotnet/SecretVersion.cs @@ -11,12 +11,18 @@ namespace Pulumiverse.Scaleway { /// - /// Creates and manages Scaleway Secret Versions. - /// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501). + /// The `scaleway.SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager. + /// + /// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. /// /// ## Example Usage /// - /// ### Basic + /// ### Create a secret and a version + /// + /// The following commands allow you to: + /// + /// - create a secret named `foo` + /// - create a version of this secret containing the `my_new_secret` data /// /// ```csharp /// using System.Collections.Generic; @@ -49,9 +55,9 @@ namespace Pulumiverse.Scaleway /// /// ## Import /// - /// The Secret Version can be imported using the `{region}/{id}/{revision}`, e.g. + /// This section explains how to import a secret version using the `{region}/{id}/{revision}` format. /// - /// ~> **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before. + /// ~> **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using. /// /// bash /// @@ -63,13 +69,13 @@ namespace Pulumiverse.Scaleway public partial class SecretVersion : global::Pulumi.CustomResource { /// - /// Date and time of secret version's creation (RFC 3339 format). + /// The date and time of the secret version's creation (in RFC 3339 format). /// [Output("createdAt")] public Output CreatedAt { get; private set; } = null!; /// - /// The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + /// The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). /// [Output("data")] public Output Data { get; private set; } = null!; @@ -81,32 +87,31 @@ public partial class SecretVersion : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// `region`) The region - /// in which the resource exists. + /// ). The region where the resource exists. /// [Output("region")] public Output Region { get; private set; } = null!; /// - /// The revision for this Secret Version. + /// The revision number of the secret version. /// [Output("revision")] public Output Revision { get; private set; } = null!; /// - /// The Secret ID associated wit the secret version. + /// The ID of the secret associated with the version. /// [Output("secretId")] public Output SecretId { get; private set; } = null!; /// - /// The status of the Secret Version. + /// The status of the secret version. /// [Output("status")] public Output Status { get; private set; } = null!; /// - /// Date and time of secret version's last update (RFC 3339 format). + /// The date and time of the secret version's last update (in RFC 3339 format). /// [Output("updatedAt")] public Output UpdatedAt { get; private set; } = null!; @@ -166,7 +171,7 @@ public sealed class SecretVersionArgs : global::Pulumi.ResourceArgs private Input? _data; /// - /// The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + /// The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). /// public Input? Data { @@ -185,14 +190,13 @@ public Input? Data public Input? Description { get; set; } /// - /// `region`) The region - /// in which the resource exists. + /// ). The region where the resource exists. /// [Input("region")] public Input? Region { get; set; } /// - /// The Secret ID associated wit the secret version. + /// The ID of the secret associated with the version. /// [Input("secretId", required: true)] public Input SecretId { get; set; } = null!; @@ -206,7 +210,7 @@ public SecretVersionArgs() public sealed class SecretVersionState : global::Pulumi.ResourceArgs { /// - /// Date and time of secret version's creation (RFC 3339 format). + /// The date and time of the secret version's creation (in RFC 3339 format). /// [Input("createdAt")] public Input? CreatedAt { get; set; } @@ -215,7 +219,7 @@ public sealed class SecretVersionState : global::Pulumi.ResourceArgs private Input? _data; /// - /// The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + /// The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). /// public Input? Data { @@ -234,32 +238,31 @@ public Input? Data public Input? Description { get; set; } /// - /// `region`) The region - /// in which the resource exists. + /// ). The region where the resource exists. /// [Input("region")] public Input? Region { get; set; } /// - /// The revision for this Secret Version. + /// The revision number of the secret version. /// [Input("revision")] public Input? Revision { get; set; } /// - /// The Secret ID associated wit the secret version. + /// The ID of the secret associated with the version. /// [Input("secretId")] public Input? SecretId { get; set; } /// - /// The status of the Secret Version. + /// The status of the secret version. /// [Input("status")] public Input? Status { get; set; } /// - /// Date and time of secret version's last update (RFC 3339 format). + /// The date and time of the secret version's last update (in RFC 3339 format). /// [Input("updatedAt")] public Input? UpdatedAt { get; set; } diff --git a/sdk/dotnet/TemDomain.cs b/sdk/dotnet/TemDomain.cs index 4a21a3f8..f6bd7aca 100644 --- a/sdk/dotnet/TemDomain.cs +++ b/sdk/dotnet/TemDomain.cs @@ -131,7 +131,7 @@ public partial class TemDomain : global::Pulumi.CustomResource public Output DmarcName { get; private set; } = null!; /// - /// The error message if the last check failed. + /// (Deprecated) The error message if the last check failed. /// [Output("lastError")] public Output LastError { get; private set; } = null!; @@ -352,7 +352,7 @@ public sealed class TemDomainState : global::Pulumi.ResourceArgs public Input? DmarcName { get; set; } /// - /// The error message if the last check failed. + /// (Deprecated) The error message if the last check failed. /// [Input("lastError")] public Input? LastError { get; set; } diff --git a/sdk/dotnet/TemWebhook.cs b/sdk/dotnet/TemWebhook.cs new file mode 100644 index 00000000..0afbad8a --- /dev/null +++ b/sdk/dotnet/TemWebhook.cs @@ -0,0 +1,367 @@ +// *** 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 Transactional Email Webhooks. + /// For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email). + /// + /// ## Example Usage + /// + /// ### Basic + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.TemWebhook("main", new() + /// { + /// DomainId = "your-domain-id", + /// EventTypes = new[] + /// { + /// "email_delivered", + /// "email_bounced", + /// }, + /// SnsArn = "arn:scw:sns:fr-par:project-xxxx:your-sns-topic", + /// Name = "example-webhook", + /// }); + /// + /// }); + /// ``` + /// + /// ### Complete Example with Dependencies + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var domainName = config.Require("domainName"); + /// var sns = new Scaleway.MnqSns("sns"); + /// + /// var snsCredentials = new Scaleway.MnqSnsCredentials("sns_credentials", new() + /// { + /// Permissions = new Scaleway.Inputs.MnqSnsCredentialsPermissionsArgs + /// { + /// CanManage = true, + /// }, + /// }); + /// + /// var snsTopic = new Scaleway.MnqSnsTopic("sns_topic", new() + /// { + /// Name = "test-mnq-sns-topic-basic", + /// AccessKey = snsCredentials.AccessKey, + /// SecretKey = snsCredentials.SecretKey, + /// }); + /// + /// var cr01 = new Scaleway.TemDomain("cr01", new() + /// { + /// Name = domainName, + /// AcceptTos = true, + /// }); + /// + /// var spf = new Scaleway.DomainRecord("spf", new() + /// { + /// DnsZone = domainName, + /// Type = "TXT", + /// Data = cr01.SpfConfig.Apply(spfConfig => $"v=spf1 {spfConfig} -all"), + /// }); + /// + /// var dkim = new Scaleway.DomainRecord("dkim", new() + /// { + /// DnsZone = domainName, + /// Name = cr01.ProjectId.Apply(projectId => $"{projectId}._domainkey"), + /// Type = "TXT", + /// Data = cr01.DkimConfig, + /// }); + /// + /// var mx = new Scaleway.DomainRecord("mx", new() + /// { + /// DnsZone = domainName, + /// Type = "MX", + /// Data = ".", + /// }); + /// + /// var dmarc = new Scaleway.DomainRecord("dmarc", new() + /// { + /// DnsZone = domainName, + /// Name = cr01.DmarcName, + /// Type = "TXT", + /// Data = cr01.DmarcConfig, + /// }); + /// + /// var valid = new Scaleway.TemDomainValidation("valid", new() + /// { + /// DomainId = cr01.Id, + /// Region = cr01.Region, + /// Timeout = 3600, + /// }); + /// + /// var webhook = new Scaleway.TemWebhook("webhook", new() + /// { + /// Name = "example-webhook", + /// DomainId = cr01.Id, + /// EventTypes = new[] + /// { + /// "email_delivered", + /// "email_bounced", + /// }, + /// SnsArn = snsTopic.Arn, + /// }, new CustomResourceOptions + /// { + /// DependsOn = + /// { + /// valid, + /// snsTopic, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Webhooks can be imported using the {region}/{id}, e.g. + /// + /// bash + /// + /// ```sh + /// $ pulumi import scaleway:index/temWebhook:TemWebhook main fr-par/11111111-1111-1111-1111-111111111111 + /// ``` + /// + [ScalewayResourceType("scaleway:index/temWebhook:TemWebhook")] + public partial class TemWebhook : global::Pulumi.CustomResource + { + /// + /// The date and time of the webhook's creation (RFC 3339 format). + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The ID of the domain the webhook is associated with. + /// + [Output("domainId")] + public Output DomainId { get; private set; } = null!; + + /// + /// A list of event types that trigger the webhook. + /// + [Output("eventTypes")] + public Output> EventTypes { get; private set; } = null!; + + /// + /// The name of the webhook. Defaults to an autogenerated name if not provided. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The ID of the organization the webhook belongs to. + /// + [Output("organizationId")] + public Output OrganizationId { get; private set; } = null!; + + /// + /// The ID of the project the webhook is associated with. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// . The region in which the webhook should be created. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the SNS topic. + /// + [Output("snsArn")] + public Output SnsArn { get; private set; } = null!; + + /// + /// The date and time of the webhook's last update (RFC 3339 format). + /// + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a TemWebhook 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 TemWebhook(string name, TemWebhookArgs args, CustomResourceOptions? options = null) + : base("scaleway:index/temWebhook:TemWebhook", name, args ?? new TemWebhookArgs(), MakeResourceOptions(options, "")) + { + } + + private TemWebhook(string name, Input id, TemWebhookState? state = null, CustomResourceOptions? options = null) + : base("scaleway:index/temWebhook:TemWebhook", 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 TemWebhook 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 TemWebhook Get(string name, Input id, TemWebhookState? state = null, CustomResourceOptions? options = null) + { + return new TemWebhook(name, id, state, options); + } + } + + public sealed class TemWebhookArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the domain the webhook is associated with. + /// + [Input("domainId", required: true)] + public Input DomainId { get; set; } = null!; + + [Input("eventTypes", required: true)] + private InputList? _eventTypes; + + /// + /// A list of event types that trigger the webhook. + /// + public InputList EventTypes + { + get => _eventTypes ?? (_eventTypes = new InputList()); + set => _eventTypes = value; + } + + /// + /// The name of the webhook. Defaults to an autogenerated name if not provided. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The ID of the project the webhook is associated with. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// . The region in which the webhook should be created. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the SNS topic. + /// + [Input("snsArn", required: true)] + public Input SnsArn { get; set; } = null!; + + public TemWebhookArgs() + { + } + public static new TemWebhookArgs Empty => new TemWebhookArgs(); + } + + public sealed class TemWebhookState : global::Pulumi.ResourceArgs + { + /// + /// The date and time of the webhook's creation (RFC 3339 format). + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// The ID of the domain the webhook is associated with. + /// + [Input("domainId")] + public Input? DomainId { get; set; } + + [Input("eventTypes")] + private InputList? _eventTypes; + + /// + /// A list of event types that trigger the webhook. + /// + public InputList EventTypes + { + get => _eventTypes ?? (_eventTypes = new InputList()); + set => _eventTypes = value; + } + + /// + /// The name of the webhook. Defaults to an autogenerated name if not provided. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The ID of the organization the webhook belongs to. + /// + [Input("organizationId")] + public Input? OrganizationId { get; set; } + + /// + /// The ID of the project the webhook is associated with. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// . The region in which the webhook should be created. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the SNS topic. + /// + [Input("snsArn")] + public Input? SnsArn { get; set; } + + /// + /// The date and time of the webhook's last update (RFC 3339 format). + /// + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public TemWebhookState() + { + } + public static new TemWebhookState Empty => new TemWebhookState(); + } +} diff --git a/sdk/go/scaleway/blockSnapshot.go b/sdk/go/scaleway/blockSnapshot.go index 9b7e5b14..dfde6aa7 100644 --- a/sdk/go/scaleway/blockSnapshot.go +++ b/sdk/go/scaleway/blockSnapshot.go @@ -12,11 +12,16 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Block Snapshots. -// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). +// The `BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes. +// +// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. // // ## Example Usage // +// ### Create a snapshot of a Block Storage volume +// +// The following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID. +// // ```go // package main // @@ -52,7 +57,7 @@ import ( // // ## Import // -// Block Snapshots can be imported using the `{zone}/{id}`, e.g. +// This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`). // // bash // @@ -62,15 +67,15 @@ import ( type BlockSnapshot struct { pulumi.CustomResourceState - // The name of the snapshot. If not provided it will be randomly generated. + // The name of the snapshot. If not provided, a name will be randomly generated. Name pulumi.StringOutput `pulumi:"name"` - // `projectId`) The ID of the project the snapshot is associated with. + // ). The ID of the Scaleway Project the snapshot is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` // A list of tags to apply to the snapshot. Tags pulumi.StringArrayOutput `pulumi:"tags"` // The ID of the volume to take a snapshot from. VolumeId pulumi.StringOutput `pulumi:"volumeId"` - // `zone`) The zone in which the snapshot should be created. + // ). The zone in which the snapshot should be created. Zone pulumi.StringOutput `pulumi:"zone"` } @@ -107,28 +112,28 @@ func GetBlockSnapshot(ctx *pulumi.Context, // Input properties used for looking up and filtering BlockSnapshot resources. type blockSnapshotState struct { - // The name of the snapshot. If not provided it will be randomly generated. + // The name of the snapshot. If not provided, a name will be randomly generated. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the snapshot is associated with. + // ). The ID of the Scaleway Project the snapshot is associated with. ProjectId *string `pulumi:"projectId"` // A list of tags to apply to the snapshot. Tags []string `pulumi:"tags"` // The ID of the volume to take a snapshot from. VolumeId *string `pulumi:"volumeId"` - // `zone`) The zone in which the snapshot should be created. + // ). The zone in which the snapshot should be created. Zone *string `pulumi:"zone"` } type BlockSnapshotState struct { - // The name of the snapshot. If not provided it will be randomly generated. + // The name of the snapshot. If not provided, a name will be randomly generated. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the snapshot is associated with. + // ). The ID of the Scaleway Project the snapshot is associated with. ProjectId pulumi.StringPtrInput // A list of tags to apply to the snapshot. Tags pulumi.StringArrayInput // The ID of the volume to take a snapshot from. VolumeId pulumi.StringPtrInput - // `zone`) The zone in which the snapshot should be created. + // ). The zone in which the snapshot should be created. Zone pulumi.StringPtrInput } @@ -137,29 +142,29 @@ func (BlockSnapshotState) ElementType() reflect.Type { } type blockSnapshotArgs struct { - // The name of the snapshot. If not provided it will be randomly generated. + // The name of the snapshot. If not provided, a name will be randomly generated. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the snapshot is associated with. + // ). The ID of the Scaleway Project the snapshot is associated with. ProjectId *string `pulumi:"projectId"` // A list of tags to apply to the snapshot. Tags []string `pulumi:"tags"` // The ID of the volume to take a snapshot from. VolumeId string `pulumi:"volumeId"` - // `zone`) The zone in which the snapshot should be created. + // ). The zone in which the snapshot should be created. Zone *string `pulumi:"zone"` } // The set of arguments for constructing a BlockSnapshot resource. type BlockSnapshotArgs struct { - // The name of the snapshot. If not provided it will be randomly generated. + // The name of the snapshot. If not provided, a name will be randomly generated. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the snapshot is associated with. + // ). The ID of the Scaleway Project the snapshot is associated with. ProjectId pulumi.StringPtrInput // A list of tags to apply to the snapshot. Tags pulumi.StringArrayInput // The ID of the volume to take a snapshot from. VolumeId pulumi.StringInput - // `zone`) The zone in which the snapshot should be created. + // ). The zone in which the snapshot should be created. Zone pulumi.StringPtrInput } @@ -250,12 +255,12 @@ func (o BlockSnapshotOutput) ToBlockSnapshotOutputWithContext(ctx context.Contex return o } -// The name of the snapshot. If not provided it will be randomly generated. +// The name of the snapshot. If not provided, a name will be randomly generated. func (o BlockSnapshotOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *BlockSnapshot) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the snapshot is associated with. +// ). The ID of the Scaleway Project the snapshot is associated with. func (o BlockSnapshotOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *BlockSnapshot) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } @@ -270,7 +275,7 @@ func (o BlockSnapshotOutput) VolumeId() pulumi.StringOutput { return o.ApplyT(func(v *BlockSnapshot) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput) } -// `zone`) The zone in which the snapshot should be created. +// ). The zone in which the snapshot should be created. func (o BlockSnapshotOutput) Zone() pulumi.StringOutput { return o.ApplyT(func(v *BlockSnapshot) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/blockVolume.go b/sdk/go/scaleway/blockVolume.go index 2acccb60..8c7a6588 100644 --- a/sdk/go/scaleway/blockVolume.go +++ b/sdk/go/scaleway/blockVolume.go @@ -12,12 +12,15 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Block Volumes. -// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). +// The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes. +// +// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. // // ## Example Usage // -// ### Basic +// ### Create a Block Storage volume +// +// The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops). // // ```go // package main @@ -90,7 +93,7 @@ import ( // // ## Import // -// Block Volumes can be imported using the `{zone}/{id}`, e.g. +// This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format. // // bash // @@ -100,19 +103,19 @@ import ( type BlockVolume struct { pulumi.CustomResourceState - // The maximum IO/s expected, must match available options. + // The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. Iops pulumi.IntOutput `pulumi:"iops"` - // The name of the volume. If not provided it will be randomly generated. + // The name of the volume. If not provided, a name will be randomly generated. Name pulumi.StringOutput `pulumi:"name"` - // `projectId`) The ID of the project the volume is associated with. + // ). The ID of the Project the volume is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + // The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. SizeInGb pulumi.IntOutput `pulumi:"sizeInGb"` // If set, the new volume will be created from this snapshot. Only one of `sizeInGb`, `snapshotId` should be specified. SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"` // A list of tags to apply to the volume. Tags pulumi.StringArrayOutput `pulumi:"tags"` - // `zone`) The zone in which the volume should be created. + // ). The zone in which the volume should be created. Zone pulumi.StringOutput `pulumi:"zone"` } @@ -149,36 +152,36 @@ func GetBlockVolume(ctx *pulumi.Context, // Input properties used for looking up and filtering BlockVolume resources. type blockVolumeState struct { - // The maximum IO/s expected, must match available options. + // The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. Iops *int `pulumi:"iops"` - // The name of the volume. If not provided it will be randomly generated. + // The name of the volume. If not provided, a name will be randomly generated. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the volume is associated with. + // ). The ID of the Project the volume is associated with. ProjectId *string `pulumi:"projectId"` - // The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + // The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. SizeInGb *int `pulumi:"sizeInGb"` // If set, the new volume will be created from this snapshot. Only one of `sizeInGb`, `snapshotId` should be specified. SnapshotId *string `pulumi:"snapshotId"` // A list of tags to apply to the volume. Tags []string `pulumi:"tags"` - // `zone`) The zone in which the volume should be created. + // ). The zone in which the volume should be created. Zone *string `pulumi:"zone"` } type BlockVolumeState struct { - // The maximum IO/s expected, must match available options. + // The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. Iops pulumi.IntPtrInput - // The name of the volume. If not provided it will be randomly generated. + // The name of the volume. If not provided, a name will be randomly generated. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the volume is associated with. + // ). The ID of the Project the volume is associated with. ProjectId pulumi.StringPtrInput - // The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + // The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. SizeInGb pulumi.IntPtrInput // If set, the new volume will be created from this snapshot. Only one of `sizeInGb`, `snapshotId` should be specified. SnapshotId pulumi.StringPtrInput // A list of tags to apply to the volume. Tags pulumi.StringArrayInput - // `zone`) The zone in which the volume should be created. + // ). The zone in which the volume should be created. Zone pulumi.StringPtrInput } @@ -187,37 +190,37 @@ func (BlockVolumeState) ElementType() reflect.Type { } type blockVolumeArgs struct { - // The maximum IO/s expected, must match available options. + // The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. Iops int `pulumi:"iops"` - // The name of the volume. If not provided it will be randomly generated. + // The name of the volume. If not provided, a name will be randomly generated. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the volume is associated with. + // ). The ID of the Project the volume is associated with. ProjectId *string `pulumi:"projectId"` - // The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + // The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. SizeInGb *int `pulumi:"sizeInGb"` // If set, the new volume will be created from this snapshot. Only one of `sizeInGb`, `snapshotId` should be specified. SnapshotId *string `pulumi:"snapshotId"` // A list of tags to apply to the volume. Tags []string `pulumi:"tags"` - // `zone`) The zone in which the volume should be created. + // ). The zone in which the volume should be created. Zone *string `pulumi:"zone"` } // The set of arguments for constructing a BlockVolume resource. type BlockVolumeArgs struct { - // The maximum IO/s expected, must match available options. + // The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. Iops pulumi.IntInput - // The name of the volume. If not provided it will be randomly generated. + // The name of the volume. If not provided, a name will be randomly generated. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the volume is associated with. + // ). The ID of the Project the volume is associated with. ProjectId pulumi.StringPtrInput - // The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + // The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. SizeInGb pulumi.IntPtrInput // If set, the new volume will be created from this snapshot. Only one of `sizeInGb`, `snapshotId` should be specified. SnapshotId pulumi.StringPtrInput // A list of tags to apply to the volume. Tags pulumi.StringArrayInput - // `zone`) The zone in which the volume should be created. + // ). The zone in which the volume should be created. Zone pulumi.StringPtrInput } @@ -308,22 +311,22 @@ func (o BlockVolumeOutput) ToBlockVolumeOutputWithContext(ctx context.Context) B return o } -// The maximum IO/s expected, must match available options. +// The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. func (o BlockVolumeOutput) Iops() pulumi.IntOutput { return o.ApplyT(func(v *BlockVolume) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput) } -// The name of the volume. If not provided it will be randomly generated. +// The name of the volume. If not provided, a name will be randomly generated. func (o BlockVolumeOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *BlockVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the volume is associated with. +// ). The ID of the Project the volume is associated with. func (o BlockVolumeOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *BlockVolume) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. +// The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. func (o BlockVolumeOutput) SizeInGb() pulumi.IntOutput { return o.ApplyT(func(v *BlockVolume) pulumi.IntOutput { return v.SizeInGb }).(pulumi.IntOutput) } @@ -338,7 +341,7 @@ func (o BlockVolumeOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v *BlockVolume) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) } -// `zone`) The zone in which the volume should be created. +// ). The zone in which the volume should be created. func (o BlockVolumeOutput) Zone() pulumi.StringOutput { return o.ApplyT(func(v *BlockVolume) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/cockpit.go b/sdk/go/scaleway/cockpit.go index 60e057ae..0af39839 100644 --- a/sdk/go/scaleway/cockpit.go +++ b/sdk/go/scaleway/cockpit.go @@ -13,7 +13,7 @@ import ( // ## Import // -// Cockpits can be imported using the `{project_id}`, e.g. +// This section explains how to import a Cockpit using its `{project_id}`. // // bash // @@ -23,15 +23,21 @@ import ( type Cockpit struct { pulumi.CustomResourceState - // Endpoints. + // (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + // + // Deprecated: Please use `CockpitSource` instead Endpoints CockpitEndpointArrayOutput `pulumi:"endpoints"` - // Name or ID of the plan to use. + // Name of the plan to use. Available plans are: free, premium, and custom. Plan pulumi.StringPtrOutput `pulumi:"plan"` - // The ID of the current plan. + // (Deprecated) The ID of the current pricing plan. + // + // Deprecated: Please use Name only PlanId pulumi.StringOutput `pulumi:"planId"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` // Push_url + // + // Deprecated: Please use `CockpitSource` instead PushUrls CockpitPushUrlArrayOutput `pulumi:"pushUrls"` } @@ -65,28 +71,40 @@ func GetCockpit(ctx *pulumi.Context, // Input properties used for looking up and filtering Cockpit resources. type cockpitState struct { - // Endpoints. + // (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + // + // Deprecated: Please use `CockpitSource` instead Endpoints []CockpitEndpoint `pulumi:"endpoints"` - // Name or ID of the plan to use. + // Name of the plan to use. Available plans are: free, premium, and custom. Plan *string `pulumi:"plan"` - // The ID of the current plan. + // (Deprecated) The ID of the current pricing plan. + // + // Deprecated: Please use Name only PlanId *string `pulumi:"planId"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` // Push_url + // + // Deprecated: Please use `CockpitSource` instead PushUrls []CockpitPushUrl `pulumi:"pushUrls"` } type CockpitState struct { - // Endpoints. + // (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + // + // Deprecated: Please use `CockpitSource` instead Endpoints CockpitEndpointArrayInput - // Name or ID of the plan to use. + // Name of the plan to use. Available plans are: free, premium, and custom. Plan pulumi.StringPtrInput - // The ID of the current plan. + // (Deprecated) The ID of the current pricing plan. + // + // Deprecated: Please use Name only PlanId pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput // Push_url + // + // Deprecated: Please use `CockpitSource` instead PushUrls CockpitPushUrlArrayInput } @@ -95,17 +113,17 @@ func (CockpitState) ElementType() reflect.Type { } type cockpitArgs struct { - // Name or ID of the plan to use. + // Name of the plan to use. Available plans are: free, premium, and custom. Plan *string `pulumi:"plan"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` } // The set of arguments for constructing a Cockpit resource. type CockpitArgs struct { - // Name or ID of the plan to use. + // Name of the plan to use. Available plans are: free, premium, and custom. Plan pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput } @@ -196,27 +214,33 @@ func (o CockpitOutput) ToCockpitOutputWithContext(ctx context.Context) CockpitOu return o } -// Endpoints. +// (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: +// +// Deprecated: Please use `CockpitSource` instead func (o CockpitOutput) Endpoints() CockpitEndpointArrayOutput { return o.ApplyT(func(v *Cockpit) CockpitEndpointArrayOutput { return v.Endpoints }).(CockpitEndpointArrayOutput) } -// Name or ID of the plan to use. +// Name of the plan to use. Available plans are: free, premium, and custom. func (o CockpitOutput) Plan() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cockpit) pulumi.StringPtrOutput { return v.Plan }).(pulumi.StringPtrOutput) } -// The ID of the current plan. +// (Deprecated) The ID of the current pricing plan. +// +// Deprecated: Please use Name only func (o CockpitOutput) PlanId() pulumi.StringOutput { return o.ApplyT(func(v *Cockpit) pulumi.StringOutput { return v.PlanId }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the cockpit is associated with. +// ) The ID of the Project the Cockpit is associated with. func (o CockpitOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *Cockpit) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } // Push_url +// +// Deprecated: Please use `CockpitSource` instead func (o CockpitOutput) PushUrls() CockpitPushUrlArrayOutput { return o.ApplyT(func(v *Cockpit) CockpitPushUrlArrayOutput { return v.PushUrls }).(CockpitPushUrlArrayOutput) } diff --git a/sdk/go/scaleway/cockpitAlertManager.go b/sdk/go/scaleway/cockpitAlertManager.go index 09cf22a0..737e171f 100644 --- a/sdk/go/scaleway/cockpitAlertManager.go +++ b/sdk/go/scaleway/cockpitAlertManager.go @@ -11,13 +11,15 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Cockpit Alert Managers. +// The `CockpitAlertManager` resource allows you to enable and manage the Scaleway Cockpit [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). // -// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). +// Refer 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. +// +// ## Example Usage // // ## Import // -// Alert managers can be imported using the project ID, e.g. +// This section explains how to import alert managers using the ID of the Project associated with Cockpit. // // bash // @@ -27,15 +29,15 @@ import ( type CockpitAlertManager struct { pulumi.CustomResourceState - // Alert manager URL. + // The URL of the alert manager. AlertManagerUrl pulumi.StringOutput `pulumi:"alertManagerUrl"` - // A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + // A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. ContactPoints CockpitAlertManagerContactPointArrayOutput `pulumi:"contactPoints"` - // Indicates whether the alert manager should be enabled. Defaults to true. + // Specifies whether the alert manager should be enabled. Defaults to true. EnableManagedAlerts pulumi.BoolPtrOutput `pulumi:"enableManagedAlerts"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // `region`) The region in which alertManager should be created. + // ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. Region pulumi.StringOutput `pulumi:"region"` } @@ -69,28 +71,28 @@ func GetCockpitAlertManager(ctx *pulumi.Context, // Input properties used for looking up and filtering CockpitAlertManager resources. type cockpitAlertManagerState struct { - // Alert manager URL. + // The URL of the alert manager. AlertManagerUrl *string `pulumi:"alertManagerUrl"` - // A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + // A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. ContactPoints []CockpitAlertManagerContactPoint `pulumi:"contactPoints"` - // Indicates whether the alert manager should be enabled. Defaults to true. + // Specifies whether the alert manager should be enabled. Defaults to true. EnableManagedAlerts *bool `pulumi:"enableManagedAlerts"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region in which alertManager should be created. + // ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. Region *string `pulumi:"region"` } type CockpitAlertManagerState struct { - // Alert manager URL. + // The URL of the alert manager. AlertManagerUrl pulumi.StringPtrInput - // A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + // A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. ContactPoints CockpitAlertManagerContactPointArrayInput - // Indicates whether the alert manager should be enabled. Defaults to true. + // Specifies whether the alert manager should be enabled. Defaults to true. EnableManagedAlerts pulumi.BoolPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region in which alertManager should be created. + // ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. Region pulumi.StringPtrInput } @@ -99,25 +101,25 @@ func (CockpitAlertManagerState) ElementType() reflect.Type { } type cockpitAlertManagerArgs struct { - // A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + // A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. ContactPoints []CockpitAlertManagerContactPoint `pulumi:"contactPoints"` - // Indicates whether the alert manager should be enabled. Defaults to true. + // Specifies whether the alert manager should be enabled. Defaults to true. EnableManagedAlerts *bool `pulumi:"enableManagedAlerts"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region in which alertManager should be created. + // ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. Region *string `pulumi:"region"` } // The set of arguments for constructing a CockpitAlertManager resource. type CockpitAlertManagerArgs struct { - // A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + // A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. ContactPoints CockpitAlertManagerContactPointArrayInput - // Indicates whether the alert manager should be enabled. Defaults to true. + // Specifies whether the alert manager should be enabled. Defaults to true. EnableManagedAlerts pulumi.BoolPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region in which alertManager should be created. + // ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. Region pulumi.StringPtrInput } @@ -208,27 +210,27 @@ func (o CockpitAlertManagerOutput) ToCockpitAlertManagerOutputWithContext(ctx co return o } -// Alert manager URL. +// The URL of the alert manager. func (o CockpitAlertManagerOutput) AlertManagerUrl() pulumi.StringOutput { return o.ApplyT(func(v *CockpitAlertManager) pulumi.StringOutput { return v.AlertManagerUrl }).(pulumi.StringOutput) } -// A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. +// A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. func (o CockpitAlertManagerOutput) ContactPoints() CockpitAlertManagerContactPointArrayOutput { return o.ApplyT(func(v *CockpitAlertManager) CockpitAlertManagerContactPointArrayOutput { return v.ContactPoints }).(CockpitAlertManagerContactPointArrayOutput) } -// Indicates whether the alert manager should be enabled. Defaults to true. +// Specifies whether the alert manager should be enabled. Defaults to true. func (o CockpitAlertManagerOutput) EnableManagedAlerts() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitAlertManager) pulumi.BoolPtrOutput { return v.EnableManagedAlerts }).(pulumi.BoolPtrOutput) } -// `projectId`) The ID of the project the cockpit is associated with. +// ) The ID of the Project the Cockpit is associated with. func (o CockpitAlertManagerOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *CockpitAlertManager) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// `region`) The region in which alertManager should be created. +// ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. func (o CockpitAlertManagerOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *CockpitAlertManager) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/cockpitGrafanaUser.go b/sdk/go/scaleway/cockpitGrafanaUser.go index e43e1335..68e79742 100644 --- a/sdk/go/scaleway/cockpitGrafanaUser.go +++ b/sdk/go/scaleway/cockpitGrafanaUser.go @@ -12,12 +12,16 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Cockpit Grafana Users. +// The `CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit. // -// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). +// Refer 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. // // ## Example Usage // +// ### Create a Grafana user +// +// The following command allows you to create a Grafana user within a specific Scaleway Project. +// // ```go // package main // @@ -52,7 +56,7 @@ import ( // // ## Import // -// Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g. +// This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format. // // bash // @@ -62,13 +66,13 @@ import ( type CockpitGrafanaUser struct { pulumi.CustomResourceState - // The login of the grafana user. + // The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. Login pulumi.StringOutput `pulumi:"login"` - // The password of the grafana user + // The password of the Grafana user. Password pulumi.StringOutput `pulumi:"password"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The role of the grafana user. Must be `editor` or `viewer`. + // The role assigned to the Grafana user. Must be `editor` or `viewer`. Role pulumi.StringOutput `pulumi:"role"` } @@ -112,24 +116,24 @@ func GetCockpitGrafanaUser(ctx *pulumi.Context, // Input properties used for looking up and filtering CockpitGrafanaUser resources. type cockpitGrafanaUserState struct { - // The login of the grafana user. + // The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. Login *string `pulumi:"login"` - // The password of the grafana user + // The password of the Grafana user. Password *string `pulumi:"password"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // The role of the grafana user. Must be `editor` or `viewer`. + // The role assigned to the Grafana user. Must be `editor` or `viewer`. Role *string `pulumi:"role"` } type CockpitGrafanaUserState struct { - // The login of the grafana user. + // The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. Login pulumi.StringPtrInput - // The password of the grafana user + // The password of the Grafana user. Password pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // The role of the grafana user. Must be `editor` or `viewer`. + // The role assigned to the Grafana user. Must be `editor` or `viewer`. Role pulumi.StringPtrInput } @@ -138,21 +142,21 @@ func (CockpitGrafanaUserState) ElementType() reflect.Type { } type cockpitGrafanaUserArgs struct { - // The login of the grafana user. + // The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. Login string `pulumi:"login"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // The role of the grafana user. Must be `editor` or `viewer`. + // The role assigned to the Grafana user. Must be `editor` or `viewer`. Role string `pulumi:"role"` } // The set of arguments for constructing a CockpitGrafanaUser resource. type CockpitGrafanaUserArgs struct { - // The login of the grafana user. + // The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. Login pulumi.StringInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // The role of the grafana user. Must be `editor` or `viewer`. + // The role assigned to the Grafana user. Must be `editor` or `viewer`. Role pulumi.StringInput } @@ -243,22 +247,22 @@ func (o CockpitGrafanaUserOutput) ToCockpitGrafanaUserOutputWithContext(ctx cont return o } -// The login of the grafana user. +// The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. func (o CockpitGrafanaUserOutput) Login() pulumi.StringOutput { return o.ApplyT(func(v *CockpitGrafanaUser) pulumi.StringOutput { return v.Login }).(pulumi.StringOutput) } -// The password of the grafana user +// The password of the Grafana user. func (o CockpitGrafanaUserOutput) Password() pulumi.StringOutput { return o.ApplyT(func(v *CockpitGrafanaUser) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the cockpit is associated with. +// ) The ID of the Project the Cockpit is associated with. func (o CockpitGrafanaUserOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *CockpitGrafanaUser) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The role of the grafana user. Must be `editor` or `viewer`. +// The role assigned to the Grafana user. Must be `editor` or `viewer`. func (o CockpitGrafanaUserOutput) Role() pulumi.StringOutput { return o.ApplyT(func(v *CockpitGrafanaUser) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/cockpitSource.go b/sdk/go/scaleway/cockpitSource.go index 940f2635..07660cab 100644 --- a/sdk/go/scaleway/cockpitSource.go +++ b/sdk/go/scaleway/cockpitSource.go @@ -11,12 +11,16 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Cockpit Data Sources. +// The `CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit. // -// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources). +// Refer 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. // // ## Example Usage // +// ### Create a data source +// +// The following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project. +// // ```go // package main // @@ -51,7 +55,7 @@ import ( // // ## Import // -// Cockpits Data Sources can be imported using the `{region}/{id}`, e.g. +// This section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format. // // bash // @@ -61,23 +65,25 @@ import ( type CockpitSource struct { pulumi.CustomResourceState - // Date and time of the cockpit data source's creation (RFC 3339 format). + // The date and time the data source was created (in RFC 3339 format). CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // The name of the cockpit data source. + // The name of the data source. Name pulumi.StringOutput `pulumi:"name"` - // The origin of the cockpit data source. + // The origin of the Cockpit data source. Origin pulumi.StringOutput `pulumi:"origin"` - // `projectId`) The ID of the project the cockpit data source is associated with. + // ) The ID of the Project the data source is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // `region`) The region of the cockpit datasource. + // The URL endpoint used for pushing data to the Cockpit data source. + PushUrl pulumi.StringOutput `pulumi:"pushUrl"` + // ) The region where the data source is located. Region pulumi.StringOutput `pulumi:"region"` // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana pulumi.BoolOutput `pulumi:"synchronizedWithGrafana"` - // The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. Type pulumi.StringPtrOutput `pulumi:"type"` - // Date and time of the cockpit datas ource's last update (RFC 3339 format). + // The date and time the data source was last updated (in RFC 3339 format). UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` - // The URL of the cockpit data source. + // The URL of the Cockpit data source. Url pulumi.StringOutput `pulumi:"url"` } @@ -111,44 +117,48 @@ func GetCockpitSource(ctx *pulumi.Context, // Input properties used for looking up and filtering CockpitSource resources. type cockpitSourceState struct { - // Date and time of the cockpit data source's creation (RFC 3339 format). + // The date and time the data source was created (in RFC 3339 format). CreatedAt *string `pulumi:"createdAt"` - // The name of the cockpit data source. + // The name of the data source. Name *string `pulumi:"name"` - // The origin of the cockpit data source. + // The origin of the Cockpit data source. Origin *string `pulumi:"origin"` - // `projectId`) The ID of the project the cockpit data source is associated with. + // ) The ID of the Project the data source is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region of the cockpit datasource. + // The URL endpoint used for pushing data to the Cockpit data source. + PushUrl *string `pulumi:"pushUrl"` + // ) The region where the data source is located. Region *string `pulumi:"region"` // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana *bool `pulumi:"synchronizedWithGrafana"` - // The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. Type *string `pulumi:"type"` - // Date and time of the cockpit datas ource's last update (RFC 3339 format). + // The date and time the data source was last updated (in RFC 3339 format). UpdatedAt *string `pulumi:"updatedAt"` - // The URL of the cockpit data source. + // The URL of the Cockpit data source. Url *string `pulumi:"url"` } type CockpitSourceState struct { - // Date and time of the cockpit data source's creation (RFC 3339 format). + // The date and time the data source was created (in RFC 3339 format). CreatedAt pulumi.StringPtrInput - // The name of the cockpit data source. + // The name of the data source. Name pulumi.StringPtrInput - // The origin of the cockpit data source. + // The origin of the Cockpit data source. Origin pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit data source is associated with. + // ) The ID of the Project the data source is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region of the cockpit datasource. + // The URL endpoint used for pushing data to the Cockpit data source. + PushUrl pulumi.StringPtrInput + // ) The region where the data source is located. Region pulumi.StringPtrInput // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana pulumi.BoolPtrInput - // The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. Type pulumi.StringPtrInput - // Date and time of the cockpit datas ource's last update (RFC 3339 format). + // The date and time the data source was last updated (in RFC 3339 format). UpdatedAt pulumi.StringPtrInput - // The URL of the cockpit data source. + // The URL of the Cockpit data source. Url pulumi.StringPtrInput } @@ -157,25 +167,25 @@ func (CockpitSourceState) ElementType() reflect.Type { } type cockpitSourceArgs struct { - // The name of the cockpit data source. + // The name of the data source. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the cockpit data source is associated with. + // ) The ID of the Project the data source is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region of the cockpit datasource. + // ) The region where the data source is located. Region *string `pulumi:"region"` - // The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. Type *string `pulumi:"type"` } // The set of arguments for constructing a CockpitSource resource. type CockpitSourceArgs struct { - // The name of the cockpit data source. + // The name of the data source. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit data source is associated with. + // ) The ID of the Project the data source is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region of the cockpit datasource. + // ) The region where the data source is located. Region pulumi.StringPtrInput - // The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. Type pulumi.StringPtrInput } @@ -266,27 +276,32 @@ func (o CockpitSourceOutput) ToCockpitSourceOutputWithContext(ctx context.Contex return o } -// Date and time of the cockpit data source's creation (RFC 3339 format). +// The date and time the data source was created (in RFC 3339 format). func (o CockpitSourceOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } -// The name of the cockpit data source. +// The name of the data source. func (o CockpitSourceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The origin of the cockpit data source. +// The origin of the Cockpit data source. func (o CockpitSourceOutput) Origin() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.Origin }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the cockpit data source is associated with. +// ) The ID of the Project the data source is associated with. func (o CockpitSourceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// `region`) The region of the cockpit datasource. +// The URL endpoint used for pushing data to the Cockpit data source. +func (o CockpitSourceOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.PushUrl }).(pulumi.StringOutput) +} + +// ) The region where the data source is located. func (o CockpitSourceOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } @@ -296,17 +311,17 @@ func (o CockpitSourceOutput) SynchronizedWithGrafana() pulumi.BoolOutput { return o.ApplyT(func(v *CockpitSource) pulumi.BoolOutput { return v.SynchronizedWithGrafana }).(pulumi.BoolOutput) } -// The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. +// The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. func (o CockpitSourceOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) } -// Date and time of the cockpit datas ource's last update (RFC 3339 format). +// The date and time the data source was last updated (in RFC 3339 format). func (o CockpitSourceOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } -// The URL of the cockpit data source. +// The URL of the Cockpit data source. func (o CockpitSourceOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/cockpitToken.go b/sdk/go/scaleway/cockpitToken.go index fa0ed286..92486b3d 100644 --- a/sdk/go/scaleway/cockpitToken.go +++ b/sdk/go/scaleway/cockpitToken.go @@ -11,12 +11,21 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Cockpit Tokens. +// The `CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). // -// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). +// Refer 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. // // ## Example Usage // +// ### Use a Cockpit token +// +// The following commands allow you to: +// +// - create a Scaleway Project named `my-project` +// - create a Cockpit token named `my-awesome-token` inside the Project +// - assign `read` permissions to the token for metrics and logs +// - disable `write` permissions for metrics and logs +// // ```go // package main // @@ -88,7 +97,7 @@ import ( // // ## Import // -// Cockpits tokens can be imported using the `{region}/{id}`, e.g. +// This section explains how to import a Cockpit token using the `{region}/{id}` format. // // bash // @@ -102,11 +111,11 @@ type CockpitToken struct { CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // The name of the token. Name pulumi.StringOutput `pulumi:"name"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // `region`) The region of the cockpit token. + // ) The region where the Cockpit token is located. Region pulumi.StringOutput `pulumi:"region"` - // Allowed scopes. + // Scopes allowed, each with default values: Scopes CockpitTokenScopesOutput `pulumi:"scopes"` // The secret key of the token. SecretKey pulumi.StringOutput `pulumi:"secretKey"` @@ -152,11 +161,11 @@ type cockpitTokenState struct { CreatedAt *string `pulumi:"createdAt"` // The name of the token. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region of the cockpit token. + // ) The region where the Cockpit token is located. Region *string `pulumi:"region"` - // Allowed scopes. + // Scopes allowed, each with default values: Scopes *CockpitTokenScopes `pulumi:"scopes"` // The secret key of the token. SecretKey *string `pulumi:"secretKey"` @@ -169,11 +178,11 @@ type CockpitTokenState struct { CreatedAt pulumi.StringPtrInput // The name of the token. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region of the cockpit token. + // ) The region where the Cockpit token is located. Region pulumi.StringPtrInput - // Allowed scopes. + // Scopes allowed, each with default values: Scopes CockpitTokenScopesPtrInput // The secret key of the token. SecretKey pulumi.StringPtrInput @@ -188,11 +197,11 @@ func (CockpitTokenState) ElementType() reflect.Type { type cockpitTokenArgs struct { // The name of the token. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region of the cockpit token. + // ) The region where the Cockpit token is located. Region *string `pulumi:"region"` - // Allowed scopes. + // Scopes allowed, each with default values: Scopes *CockpitTokenScopes `pulumi:"scopes"` } @@ -200,11 +209,11 @@ type cockpitTokenArgs struct { type CockpitTokenArgs struct { // The name of the token. Name pulumi.StringPtrInput - // `projectId`) The ID of the project the cockpit is associated with. + // ) The ID of the Project the Cockpit is associated with. ProjectId pulumi.StringPtrInput - // `region`) The region of the cockpit token. + // ) The region where the Cockpit token is located. Region pulumi.StringPtrInput - // Allowed scopes. + // Scopes allowed, each with default values: Scopes CockpitTokenScopesPtrInput } @@ -305,17 +314,17 @@ func (o CockpitTokenOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *CockpitToken) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// `projectId`) The ID of the project the cockpit is associated with. +// ) The ID of the Project the Cockpit is associated with. func (o CockpitTokenOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *CockpitToken) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// `region`) The region of the cockpit token. +// ) The region where the Cockpit token is located. func (o CockpitTokenOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *CockpitToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// Allowed scopes. +// Scopes allowed, each with default values: func (o CockpitTokenOutput) Scopes() CockpitTokenScopesOutput { return o.ApplyT(func(v *CockpitToken) CockpitTokenScopesOutput { return v.Scopes }).(CockpitTokenScopesOutput) } diff --git a/sdk/go/scaleway/databaseInstance.go b/sdk/go/scaleway/databaseInstance.go index 0455757b..ee27c99a 100644 --- a/sdk/go/scaleway/databaseInstance.go +++ b/sdk/go/scaleway/databaseInstance.go @@ -295,11 +295,13 @@ type DatabaseInstance struct { DisableBackup pulumi.BoolPtrOutput `pulumi:"disableBackup"` // Enable or disable encryption at rest for the Database Instance. EncryptionAtRest pulumi.BoolPtrOutput `pulumi:"encryptionAtRest"` - // (Deprecated) The IP of the Database Instance. + // (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. // // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointIp pulumi.StringOutput `pulumi:"endpointIp"` - // (Deprecated) The port of the Database Instance. + // (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. + // + // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointPort pulumi.IntOutput `pulumi:"endpointPort"` // Database Instance's engine version (e.g. `PostgreSQL-11`). // @@ -409,11 +411,13 @@ type databaseInstanceState struct { DisableBackup *bool `pulumi:"disableBackup"` // Enable or disable encryption at rest for the Database Instance. EncryptionAtRest *bool `pulumi:"encryptionAtRest"` - // (Deprecated) The IP of the Database Instance. + // (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. // // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointIp *string `pulumi:"endpointIp"` - // (Deprecated) The port of the Database Instance. + // (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. + // + // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointPort *int `pulumi:"endpointPort"` // Database Instance's engine version (e.g. `PostgreSQL-11`). // @@ -481,11 +485,13 @@ type DatabaseInstanceState struct { DisableBackup pulumi.BoolPtrInput // Enable or disable encryption at rest for the Database Instance. EncryptionAtRest pulumi.BoolPtrInput - // (Deprecated) The IP of the Database Instance. + // (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. // // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointIp pulumi.StringPtrInput - // (Deprecated) The port of the Database Instance. + // (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. + // + // Deprecated: Please use the privateNetwork or the loadBalancer attribute EndpointPort pulumi.IntPtrInput // Database Instance's engine version (e.g. `PostgreSQL-11`). // @@ -782,14 +788,16 @@ func (o DatabaseInstanceOutput) EncryptionAtRest() pulumi.BoolPtrOutput { return o.ApplyT(func(v *DatabaseInstance) pulumi.BoolPtrOutput { return v.EncryptionAtRest }).(pulumi.BoolPtrOutput) } -// (Deprecated) The IP of the Database Instance. +// (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. // // Deprecated: Please use the privateNetwork or the loadBalancer attribute func (o DatabaseInstanceOutput) EndpointIp() pulumi.StringOutput { return o.ApplyT(func(v *DatabaseInstance) pulumi.StringOutput { return v.EndpointIp }).(pulumi.StringOutput) } -// (Deprecated) The port of the Database Instance. +// (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. +// +// Deprecated: Please use the privateNetwork or the loadBalancer attribute func (o DatabaseInstanceOutput) EndpointPort() pulumi.IntOutput { return o.ApplyT(func(v *DatabaseInstance) pulumi.IntOutput { return v.EndpointPort }).(pulumi.IntOutput) } diff --git a/sdk/go/scaleway/domainRecord.go b/sdk/go/scaleway/domainRecord.go index 6dbe2f65..34702746 100644 --- a/sdk/go/scaleway/domainRecord.go +++ b/sdk/go/scaleway/domainRecord.go @@ -12,12 +12,19 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Domain record.\ -// For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/). +// The `DomainRecord` resource allows you to create and manage DNS records for Scaleway domains. +// +// Refer 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. // // ## Example Usage // -// ### Basic +// ### Create basic DNS records +// +// The folllowing commands allow you to: +// +// - 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` +// +// - 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 // // ```go // package main @@ -79,7 +86,17 @@ import ( // // ``` // -// ### With dynamic records +// ### Create dynamic records +// +// The folllowing commands allow you to: +// +// - 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) +// +// - create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status. +// +// - create view-based records for `db.domain.tld` that resolve differently based on the client's subnet. +// +// - create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights. // // ```go // package main @@ -188,7 +205,12 @@ import ( // // ``` // -// ### Create an instance and add records with the new instance IP +// ### Create an Instance and add records with the new Instance IP +// +// The following commands allow you to: +// +// - create a Scaleway Instance +// - assign The Instance's IP address to various DNS records for a specified DNS zone // // ```go // package main @@ -270,14 +292,13 @@ import ( // // ## Multiple records // -// Some record types can have multiple `data` with the same `name` (eg: `A`, `AAAA`, `MX`, `NS`...).\ -// You can duplicate a resource `DomainRecord` with the same `name`, the records will be added. +// Some record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `DomainRecord` resource with the same `name`, and the records will be added. // -// Please note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique. +// Note however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique. // // ## Import // -// Record can be imported using the `{dns_zone}/{id}`, e.g. +// This section explains how to import a record using the `{dns_zone}/{id}` format. // // bash // @@ -287,9 +308,9 @@ import ( type DomainRecord struct { pulumi.CustomResourceState - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data pulumi.StringOutput `pulumi:"data"` - // The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + // The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. DnsZone pulumi.StringOutput `pulumi:"dnsZone"` // The FQDN of the record. Fqdn pulumi.StringOutput `pulumi:"fqdn"` @@ -297,11 +318,11 @@ type DomainRecord struct { GeoIp DomainRecordGeoIpPtrOutput `pulumi:"geoIp"` // Return record based on client localisation HttpService DomainRecordHttpServicePtrOutput `pulumi:"httpService"` - // When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + // 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/). KeepEmptyZone pulumi.BoolPtrOutput `pulumi:"keepEmptyZone"` // The name of the record (can be an empty string for a root record). Name pulumi.StringOutput `pulumi:"name"` - // The priority of the record (mostly used with an `MX` record) + // The priority of the record (mostly used with an `MX` record). Priority pulumi.IntOutput `pulumi:"priority"` // The projectId you want to attach the resource to ProjectId pulumi.StringOutput `pulumi:"projectId"` @@ -356,9 +377,9 @@ func GetDomainRecord(ctx *pulumi.Context, // Input properties used for looking up and filtering DomainRecord resources. type domainRecordState struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data *string `pulumi:"data"` - // The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + // The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. DnsZone *string `pulumi:"dnsZone"` // The FQDN of the record. Fqdn *string `pulumi:"fqdn"` @@ -366,11 +387,11 @@ type domainRecordState struct { GeoIp *DomainRecordGeoIp `pulumi:"geoIp"` // Return record based on client localisation HttpService *DomainRecordHttpService `pulumi:"httpService"` - // When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + // 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/). KeepEmptyZone *bool `pulumi:"keepEmptyZone"` // The name of the record (can be an empty string for a root record). Name *string `pulumi:"name"` - // The priority of the record (mostly used with an `MX` record) + // The priority of the record (mostly used with an `MX` record). Priority *int `pulumi:"priority"` // The projectId you want to attach the resource to ProjectId *string `pulumi:"projectId"` @@ -387,9 +408,9 @@ type domainRecordState struct { } type DomainRecordState struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data pulumi.StringPtrInput - // The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + // The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. DnsZone pulumi.StringPtrInput // The FQDN of the record. Fqdn pulumi.StringPtrInput @@ -397,11 +418,11 @@ type DomainRecordState struct { GeoIp DomainRecordGeoIpPtrInput // Return record based on client localisation HttpService DomainRecordHttpServicePtrInput - // When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + // 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/). KeepEmptyZone pulumi.BoolPtrInput // The name of the record (can be an empty string for a root record). Name pulumi.StringPtrInput - // The priority of the record (mostly used with an `MX` record) + // The priority of the record (mostly used with an `MX` record). Priority pulumi.IntPtrInput // The projectId you want to attach the resource to ProjectId pulumi.StringPtrInput @@ -422,19 +443,19 @@ func (DomainRecordState) ElementType() reflect.Type { } type domainRecordArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data string `pulumi:"data"` - // The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + // The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. DnsZone string `pulumi:"dnsZone"` // Return record based on client localisation GeoIp *DomainRecordGeoIp `pulumi:"geoIp"` // Return record based on client localisation HttpService *DomainRecordHttpService `pulumi:"httpService"` - // When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + // 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/). KeepEmptyZone *bool `pulumi:"keepEmptyZone"` // The name of the record (can be an empty string for a root record). Name *string `pulumi:"name"` - // The priority of the record (mostly used with an `MX` record) + // The priority of the record (mostly used with an `MX` record). Priority *int `pulumi:"priority"` // The projectId you want to attach the resource to ProjectId *string `pulumi:"projectId"` @@ -450,19 +471,19 @@ type domainRecordArgs struct { // The set of arguments for constructing a DomainRecord resource. type DomainRecordArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data pulumi.StringInput - // The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + // The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. DnsZone pulumi.StringInput // Return record based on client localisation GeoIp DomainRecordGeoIpPtrInput // Return record based on client localisation HttpService DomainRecordHttpServicePtrInput - // When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + // 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/). KeepEmptyZone pulumi.BoolPtrInput // The name of the record (can be an empty string for a root record). Name pulumi.StringPtrInput - // The priority of the record (mostly used with an `MX` record) + // The priority of the record (mostly used with an `MX` record). Priority pulumi.IntPtrInput // The projectId you want to attach the resource to ProjectId pulumi.StringPtrInput @@ -563,12 +584,12 @@ func (o DomainRecordOutput) ToDomainRecordOutputWithContext(ctx context.Context) return o } -// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). +// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). func (o DomainRecordOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v *DomainRecord) pulumi.StringOutput { return v.Data }).(pulumi.StringOutput) } -// The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. +// The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. func (o DomainRecordOutput) DnsZone() pulumi.StringOutput { return o.ApplyT(func(v *DomainRecord) pulumi.StringOutput { return v.DnsZone }).(pulumi.StringOutput) } @@ -588,7 +609,7 @@ func (o DomainRecordOutput) HttpService() DomainRecordHttpServicePtrOutput { return o.ApplyT(func(v *DomainRecord) DomainRecordHttpServicePtrOutput { return v.HttpService }).(DomainRecordHttpServicePtrOutput) } -// When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) +// 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/). func (o DomainRecordOutput) KeepEmptyZone() pulumi.BoolPtrOutput { return o.ApplyT(func(v *DomainRecord) pulumi.BoolPtrOutput { return v.KeepEmptyZone }).(pulumi.BoolPtrOutput) } @@ -598,7 +619,7 @@ func (o DomainRecordOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DomainRecord) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The priority of the record (mostly used with an `MX` record) +// The priority of the record (mostly used with an `MX` record). func (o DomainRecordOutput) Priority() pulumi.IntOutput { return o.ApplyT(func(v *DomainRecord) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput) } diff --git a/sdk/go/scaleway/domainZone.go b/sdk/go/scaleway/domainZone.go index bd319f09..a3658a4a 100644 --- a/sdk/go/scaleway/domainZone.go +++ b/sdk/go/scaleway/domainZone.go @@ -12,39 +12,9 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Domain zone.\ -// For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/). -// -// ## 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 { -// _, err := scaleway.NewDomainZone(ctx, "test", &scaleway.DomainZoneArgs{ -// Domain: pulumi.String("scaleway-terraform.com"), -// Subdomain: pulumi.String("test"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // -// Zone can be imported using the `{subdomain}.{domain}`, e.g. +// This section explains how to import a zone using the `{subdomain}.{domain}` format. // // bash // @@ -54,23 +24,23 @@ import ( type DomainZone struct { pulumi.CustomResourceState - // The domain where the DNS zone will be created. + // The main domain where the DNS zone will be created. Domain pulumi.StringOutput `pulumi:"domain"` - // Message + // Message. Message pulumi.StringOutput `pulumi:"message"` - // NameServer list for zone. + // The list of same servers for the zone. Ns pulumi.StringArrayOutput `pulumi:"ns"` - // NameServer default list for zone. + // The default list of same servers for the zone. NsDefaults pulumi.StringArrayOutput `pulumi:"nsDefaults"` - // NameServer master list for zone. + // The master list of same servers for the zone. NsMasters pulumi.StringArrayOutput `pulumi:"nsMasters"` - // `projectId`) The ID of the project the domain is associated with. + // `projectId`) The ID of the Project associated with the domain. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The domain zone status. + // The status of the domain zone. Status pulumi.StringOutput `pulumi:"status"` - // The subdomain(zone name) to create in the domain. + // The name of the subdomain (zone name) to create within the domain. Subdomain pulumi.StringOutput `pulumi:"subdomain"` - // The date and time of the last update of the DNS zone. + // The date and time at which the DNS zone was last updated. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` } @@ -110,44 +80,44 @@ func GetDomainZone(ctx *pulumi.Context, // Input properties used for looking up and filtering DomainZone resources. type domainZoneState struct { - // The domain where the DNS zone will be created. + // The main domain where the DNS zone will be created. Domain *string `pulumi:"domain"` - // Message + // Message. Message *string `pulumi:"message"` - // NameServer list for zone. + // The list of same servers for the zone. Ns []string `pulumi:"ns"` - // NameServer default list for zone. + // The default list of same servers for the zone. NsDefaults []string `pulumi:"nsDefaults"` - // NameServer master list for zone. + // The master list of same servers for the zone. NsMasters []string `pulumi:"nsMasters"` - // `projectId`) The ID of the project the domain is associated with. + // `projectId`) The ID of the Project associated with the domain. ProjectId *string `pulumi:"projectId"` - // The domain zone status. + // The status of the domain zone. Status *string `pulumi:"status"` - // The subdomain(zone name) to create in the domain. + // The name of the subdomain (zone name) to create within the domain. Subdomain *string `pulumi:"subdomain"` - // The date and time of the last update of the DNS zone. + // The date and time at which the DNS zone was last updated. UpdatedAt *string `pulumi:"updatedAt"` } type DomainZoneState struct { - // The domain where the DNS zone will be created. + // The main domain where the DNS zone will be created. Domain pulumi.StringPtrInput - // Message + // Message. Message pulumi.StringPtrInput - // NameServer list for zone. + // The list of same servers for the zone. Ns pulumi.StringArrayInput - // NameServer default list for zone. + // The default list of same servers for the zone. NsDefaults pulumi.StringArrayInput - // NameServer master list for zone. + // The master list of same servers for the zone. NsMasters pulumi.StringArrayInput - // `projectId`) The ID of the project the domain is associated with. + // `projectId`) The ID of the Project associated with the domain. ProjectId pulumi.StringPtrInput - // The domain zone status. + // The status of the domain zone. Status pulumi.StringPtrInput - // The subdomain(zone name) to create in the domain. + // The name of the subdomain (zone name) to create within the domain. Subdomain pulumi.StringPtrInput - // The date and time of the last update of the DNS zone. + // The date and time at which the DNS zone was last updated. UpdatedAt pulumi.StringPtrInput } @@ -156,21 +126,21 @@ func (DomainZoneState) ElementType() reflect.Type { } type domainZoneArgs struct { - // The domain where the DNS zone will be created. + // The main domain where the DNS zone will be created. Domain string `pulumi:"domain"` - // `projectId`) The ID of the project the domain is associated with. + // `projectId`) The ID of the Project associated with the domain. ProjectId *string `pulumi:"projectId"` - // The subdomain(zone name) to create in the domain. + // The name of the subdomain (zone name) to create within the domain. Subdomain string `pulumi:"subdomain"` } // The set of arguments for constructing a DomainZone resource. type DomainZoneArgs struct { - // The domain where the DNS zone will be created. + // The main domain where the DNS zone will be created. Domain pulumi.StringInput - // `projectId`) The ID of the project the domain is associated with. + // `projectId`) The ID of the Project associated with the domain. ProjectId pulumi.StringPtrInput - // The subdomain(zone name) to create in the domain. + // The name of the subdomain (zone name) to create within the domain. Subdomain pulumi.StringInput } @@ -261,47 +231,47 @@ func (o DomainZoneOutput) ToDomainZoneOutputWithContext(ctx context.Context) Dom return o } -// The domain where the DNS zone will be created. +// The main domain where the DNS zone will be created. func (o DomainZoneOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) } -// Message +// Message. func (o DomainZoneOutput) Message() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.Message }).(pulumi.StringOutput) } -// NameServer list for zone. +// The list of same servers for the zone. func (o DomainZoneOutput) Ns() pulumi.StringArrayOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringArrayOutput { return v.Ns }).(pulumi.StringArrayOutput) } -// NameServer default list for zone. +// The default list of same servers for the zone. func (o DomainZoneOutput) NsDefaults() pulumi.StringArrayOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringArrayOutput { return v.NsDefaults }).(pulumi.StringArrayOutput) } -// NameServer master list for zone. +// The master list of same servers for the zone. func (o DomainZoneOutput) NsMasters() pulumi.StringArrayOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringArrayOutput { return v.NsMasters }).(pulumi.StringArrayOutput) } -// `projectId`) The ID of the project the domain is associated with. +// `projectId`) The ID of the Project associated with the domain. func (o DomainZoneOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The domain zone status. +// The status of the domain zone. func (o DomainZoneOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } -// The subdomain(zone name) to create in the domain. +// The name of the subdomain (zone name) to create within the domain. func (o DomainZoneOutput) Subdomain() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.Subdomain }).(pulumi.StringOutput) } -// The date and time of the last update of the DNS zone. +// The date and time at which the DNS zone was last updated. func (o DomainZoneOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *DomainZone) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/getBlockSnapshot.go b/sdk/go/scaleway/getBlockSnapshot.go index e1b4bb41..4e923a72 100644 --- a/sdk/go/scaleway/getBlockSnapshot.go +++ b/sdk/go/scaleway/getBlockSnapshot.go @@ -11,7 +11,9 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about a Block Snapshot. +// The `BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. +// +// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. func LookupBlockSnapshot(ctx *pulumi.Context, args *LookupBlockSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupBlockSnapshotResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupBlockSnapshotResult @@ -24,15 +26,15 @@ func LookupBlockSnapshot(ctx *pulumi.Context, args *LookupBlockSnapshotArgs, opt // A collection of arguments for invoking getBlockSnapshot. type LookupBlockSnapshotArgs struct { - // The name of the snapshot. Only one of `name` and `snapshotId` should be specified. + // The name of the snapshot. Only one of name or snapshotId should be specified. Name *string `pulumi:"name"` - // The ID of the project the snapshot is associated with. + // The unique identifier of the Project to which the snapshot is associated. ProjectId *string `pulumi:"projectId"` - // The ID of the snapshot. Only one of `name` and `snapshotId` should be specified. + // The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified. SnapshotId *string `pulumi:"snapshotId"` - // The ID of the volume from which the snapshot has been created. + // The unique identifier of the volume from which the snapshot was created. VolumeId *string `pulumi:"volumeId"` - // `zone`) The zone in which the snapshot exists. + // ) The zone in which the snapshot exists. Zone *string `pulumi:"zone"` } @@ -69,15 +71,15 @@ func LookupBlockSnapshotOutput(ctx *pulumi.Context, args LookupBlockSnapshotOutp // A collection of arguments for invoking getBlockSnapshot. type LookupBlockSnapshotOutputArgs struct { - // The name of the snapshot. Only one of `name` and `snapshotId` should be specified. + // The name of the snapshot. Only one of name or snapshotId should be specified. Name pulumi.StringPtrInput `pulumi:"name"` - // The ID of the project the snapshot is associated with. + // The unique identifier of the Project to which the snapshot is associated. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // The ID of the snapshot. Only one of `name` and `snapshotId` should be specified. + // The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified. SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - // The ID of the volume from which the snapshot has been created. + // The unique identifier of the volume from which the snapshot was created. VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` - // `zone`) The zone in which the snapshot exists. + // ) The zone in which the snapshot exists. Zone pulumi.StringPtrInput `pulumi:"zone"` } diff --git a/sdk/go/scaleway/getBlockVolume.go b/sdk/go/scaleway/getBlockVolume.go index 561bc2d8..3702ef62 100644 --- a/sdk/go/scaleway/getBlockVolume.go +++ b/sdk/go/scaleway/getBlockVolume.go @@ -11,7 +11,8 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about a Block Volume. +// The `BlockVolume` data source is used to retrieve information about a Block Storage volume. +// Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. func LookupBlockVolume(ctx *pulumi.Context, args *LookupBlockVolumeArgs, opts ...pulumi.InvokeOption) (*LookupBlockVolumeResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupBlockVolumeResult @@ -26,11 +27,11 @@ func LookupBlockVolume(ctx *pulumi.Context, args *LookupBlockVolumeArgs, opts .. type LookupBlockVolumeArgs struct { // The name of the volume. Only one of `name` and `volumeId` should be specified. Name *string `pulumi:"name"` - // The ID of the project the volume is associated with. + // The unique identifier of the Project to which the volume is associated. ProjectId *string `pulumi:"projectId"` - // The ID of the volume. Only one of `name` and `volumeId` should be specified. + // The unique identifier of the volume. Only one of `name` and `volumeId` should be specified. VolumeId *string `pulumi:"volumeId"` - // `zone`) The zone in which the volume exists. + // ). The zone in which the volume exists. Zone *string `pulumi:"zone"` } @@ -71,11 +72,11 @@ func LookupBlockVolumeOutput(ctx *pulumi.Context, args LookupBlockVolumeOutputAr type LookupBlockVolumeOutputArgs struct { // The name of the volume. Only one of `name` and `volumeId` should be specified. Name pulumi.StringPtrInput `pulumi:"name"` - // The ID of the project the volume is associated with. + // The unique identifier of the Project to which the volume is associated. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // The ID of the volume. Only one of `name` and `volumeId` should be specified. + // The unique identifier of the volume. Only one of `name` and `volumeId` should be specified. VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` - // `zone`) The zone in which the volume exists. + // ). The zone in which the volume exists. Zone pulumi.StringPtrInput `pulumi:"zone"` } diff --git a/sdk/go/scaleway/getCockpit.go b/sdk/go/scaleway/getCockpit.go index cd31be92..02ef3c13 100644 --- a/sdk/go/scaleway/getCockpit.go +++ b/sdk/go/scaleway/getCockpit.go @@ -11,15 +11,22 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) +// > **Important:** The data source `Cockpit` has been deprecated and will no longer be supported. Instead, use resource `Cockpit`. +// // > **Note:** -// As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. -// If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. +// As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. +// If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. +// +// The `Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. +// +// Refer 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. // -// Gets information about the Scaleway Cockpit. +// ## Retrieve a Cockpit // -// For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). +// The following commands allow you to: // -// ## Example Usage +// - get information on the Cockpit associated with your Scaleway default Project +// - get information on the Cockpit associated with a specific Scaleway Project // // ```go // package main @@ -33,7 +40,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// // Get default project's cockpit +// // Get the default Project's Cockpit // _, err := scaleway.LookupCockpit(ctx, &scaleway.LookupCockpitArgs{}, nil) // if err != nil { // return err @@ -56,7 +63,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// // Get a specific project's cockpit +// // Get a specific Project's Cockpit // _, err := scaleway.LookupCockpit(ctx, &scaleway.LookupCockpitArgs{ // ProjectId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"), // }, nil) @@ -80,17 +87,18 @@ func LookupCockpit(ctx *pulumi.Context, args *LookupCockpitArgs, opts ...pulumi. // A collection of arguments for invoking getCockpit. type LookupCockpitArgs struct { - // `projectId`) The ID of the project the cockpit is associated with. + // Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. ProjectId *string `pulumi:"projectId"` } // A collection of values returned by getCockpit. type LookupCockpitResult struct { - // Endpoints + // (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: Endpoints []GetCockpitEndpoint `pulumi:"endpoints"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - // The ID of the current plan + Id string `pulumi:"id"` + Plan string `pulumi:"plan"` + // (Deprecated) ID of the current pricing plan PlanId string `pulumi:"planId"` ProjectId *string `pulumi:"projectId"` PushUrls []GetCockpitPushUrl `pulumi:"pushUrls"` @@ -117,7 +125,7 @@ func LookupCockpitOutput(ctx *pulumi.Context, args LookupCockpitOutputArgs, opts // A collection of arguments for invoking getCockpit. type LookupCockpitOutputArgs struct { - // `projectId`) The ID of the project the cockpit is associated with. + // Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` } @@ -140,7 +148,7 @@ func (o LookupCockpitResultOutput) ToLookupCockpitResultOutputWithContext(ctx co return o } -// Endpoints +// (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: func (o LookupCockpitResultOutput) Endpoints() GetCockpitEndpointArrayOutput { return o.ApplyT(func(v LookupCockpitResult) []GetCockpitEndpoint { return v.Endpoints }).(GetCockpitEndpointArrayOutput) } @@ -150,7 +158,11 @@ func (o LookupCockpitResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupCockpitResult) string { return v.Id }).(pulumi.StringOutput) } -// The ID of the current plan +func (o LookupCockpitResultOutput) Plan() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitResult) string { return v.Plan }).(pulumi.StringOutput) +} + +// (Deprecated) ID of the current pricing plan func (o LookupCockpitResultOutput) PlanId() pulumi.StringOutput { return o.ApplyT(func(v LookupCockpitResult) string { return v.PlanId }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/getCockpitPlan.go b/sdk/go/scaleway/getCockpitPlan.go index 04148dee..8e7acaf3 100644 --- a/sdk/go/scaleway/getCockpitPlan.go +++ b/sdk/go/scaleway/getCockpitPlan.go @@ -11,9 +11,15 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about a Scaleway Cockpit plan. +// The `getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `Cockpit`. // -// ## Example Usage +// Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. +// +// Refer 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. +// +// ## Fetch and associate a pricing plan to a Cockpit +// +// The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. // // ```go // package main @@ -56,7 +62,7 @@ func GetCockpitPlan(ctx *pulumi.Context, args *GetCockpitPlanArgs, opts ...pulum // A collection of arguments for invoking getCockpitPlan. type GetCockpitPlanArgs struct { - // The name of the plan. + // Name of the pricing plan you want to retrieve information about. Name string `pulumi:"name"` } @@ -88,7 +94,7 @@ func GetCockpitPlanOutput(ctx *pulumi.Context, args GetCockpitPlanOutputArgs, op // A collection of arguments for invoking getCockpitPlan. type GetCockpitPlanOutputArgs struct { - // The name of the plan. + // Name of the pricing plan you want to retrieve information about. Name pulumi.StringInput `pulumi:"name"` } diff --git a/sdk/go/scaleway/getDomainRecord.go b/sdk/go/scaleway/getDomainRecord.go index 27604f9e..c3e6a130 100644 --- a/sdk/go/scaleway/getDomainRecord.go +++ b/sdk/go/scaleway/getDomainRecord.go @@ -11,9 +11,16 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about a domain record. +// The `DomainRecord` data source is used to get information about an existing domain record. // -// ## Example Usage +// Refer 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. +// +// ## Query domain records +// +// The following commands allow you to: +// +// - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). +// - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). // // ```go // package main @@ -27,7 +34,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// // Get record by name, type and data +// // Query record by DNS zone, record name, type and content // _, err := scaleway.LookupDomainRecord(ctx, &scaleway.LookupDomainRecordArgs{ // DnsZone: pulumi.StringRef("domain.tld"), // Name: pulumi.StringRef("www"), @@ -37,7 +44,7 @@ import ( // if err != nil { // return err // } -// // Get info by ID +// // Query record by DNS zone and record ID // _, err = scaleway.LookupDomainRecord(ctx, &scaleway.LookupDomainRecordArgs{ // DnsZone: pulumi.StringRef("domain.tld"), // RecordId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"), @@ -62,21 +69,17 @@ func LookupDomainRecord(ctx *pulumi.Context, args *LookupDomainRecordArgs, opts // A collection of arguments for invoking getDomainRecord. type LookupDomainRecordArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data *string `pulumi:"data"` - // The IP address. + // The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. DnsZone *string `pulumi:"dnsZone"` - // The name of the record (can be an empty string for a root record). - // Cannot be used with `recordId`. + // The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. Name *string `pulumi:"name"` - // `projectId`) The ID of the project the domain is associated with. + // ). The ID of the Project associated with the domain. ProjectId *string `pulumi:"projectId"` - // The record ID. - // Cannot be used with `name`, `type` and `data`. + // The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. RecordId *string `pulumi:"recordId"` - // The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - // Cannot be used with `recordId`. + // The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. Type *string `pulumi:"type"` } @@ -85,25 +88,25 @@ type LookupDomainRecordResult struct { Data *string `pulumi:"data"` DnsZone *string `pulumi:"dnsZone"` Fqdn string `pulumi:"fqdn"` - // Dynamic record base on user geolocalisation (More information about dynamic records) + // Information about dynamic records based on user geolocation. Find out more about dynamic records. GeoIps []GetDomainRecordGeoIp `pulumi:"geoIps"` - // Dynamic record base on URL resolve (More information about dynamic records) + // Information about dynamic records based on URL resolution. Find out more about dynamic records. HttpServices []GetDomainRecordHttpService `pulumi:"httpServices"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` KeepEmptyZone bool `pulumi:"keepEmptyZone"` Name *string `pulumi:"name"` - // The priority of the record (mostly used with an `MX` record) + // The priority of the record, mainly used with `MX` records. Priority int `pulumi:"priority"` ProjectId *string `pulumi:"projectId"` RecordId *string `pulumi:"recordId"` RootZone bool `pulumi:"rootZone"` - // Time To Live of the record in seconds. + // The Time To Live (TTL) of the record in seconds. Ttl int `pulumi:"ttl"` Type *string `pulumi:"type"` - // Dynamic record based on the client’s (resolver) subnet (More information about dynamic records) + // Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. Views []GetDomainRecordView `pulumi:"views"` - // Dynamic record base on IP weights (More information about dynamic records) + // Information about dynamic records based on IP weights. Find out more about dynamic records. Weighteds []GetDomainRecordWeighted `pulumi:"weighteds"` } @@ -128,21 +131,17 @@ func LookupDomainRecordOutput(ctx *pulumi.Context, args LookupDomainRecordOutput // A collection of arguments for invoking getDomainRecord. type LookupDomainRecordOutputArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data pulumi.StringPtrInput `pulumi:"data"` - // The IP address. + // The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. DnsZone pulumi.StringPtrInput `pulumi:"dnsZone"` - // The name of the record (can be an empty string for a root record). - // Cannot be used with `recordId`. + // The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. Name pulumi.StringPtrInput `pulumi:"name"` - // `projectId`) The ID of the project the domain is associated with. + // ). The ID of the Project associated with the domain. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // The record ID. - // Cannot be used with `name`, `type` and `data`. + // The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. RecordId pulumi.StringPtrInput `pulumi:"recordId"` - // The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - // Cannot be used with `recordId`. + // The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -177,12 +176,12 @@ func (o LookupDomainRecordResultOutput) Fqdn() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainRecordResult) string { return v.Fqdn }).(pulumi.StringOutput) } -// Dynamic record base on user geolocalisation (More information about dynamic records) +// Information about dynamic records based on user geolocation. Find out more about dynamic records. func (o LookupDomainRecordResultOutput) GeoIps() GetDomainRecordGeoIpArrayOutput { return o.ApplyT(func(v LookupDomainRecordResult) []GetDomainRecordGeoIp { return v.GeoIps }).(GetDomainRecordGeoIpArrayOutput) } -// Dynamic record base on URL resolve (More information about dynamic records) +// Information about dynamic records based on URL resolution. Find out more about dynamic records. func (o LookupDomainRecordResultOutput) HttpServices() GetDomainRecordHttpServiceArrayOutput { return o.ApplyT(func(v LookupDomainRecordResult) []GetDomainRecordHttpService { return v.HttpServices }).(GetDomainRecordHttpServiceArrayOutput) } @@ -200,7 +199,7 @@ func (o LookupDomainRecordResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainRecordResult) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The priority of the record (mostly used with an `MX` record) +// The priority of the record, mainly used with `MX` records. func (o LookupDomainRecordResultOutput) Priority() pulumi.IntOutput { return o.ApplyT(func(v LookupDomainRecordResult) int { return v.Priority }).(pulumi.IntOutput) } @@ -217,7 +216,7 @@ func (o LookupDomainRecordResultOutput) RootZone() pulumi.BoolOutput { return o.ApplyT(func(v LookupDomainRecordResult) bool { return v.RootZone }).(pulumi.BoolOutput) } -// Time To Live of the record in seconds. +// The Time To Live (TTL) of the record in seconds. func (o LookupDomainRecordResultOutput) Ttl() pulumi.IntOutput { return o.ApplyT(func(v LookupDomainRecordResult) int { return v.Ttl }).(pulumi.IntOutput) } @@ -226,12 +225,12 @@ func (o LookupDomainRecordResultOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainRecordResult) *string { return v.Type }).(pulumi.StringPtrOutput) } -// Dynamic record based on the client’s (resolver) subnet (More information about dynamic records) +// Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. func (o LookupDomainRecordResultOutput) Views() GetDomainRecordViewArrayOutput { return o.ApplyT(func(v LookupDomainRecordResult) []GetDomainRecordView { return v.Views }).(GetDomainRecordViewArrayOutput) } -// Dynamic record base on IP weights (More information about dynamic records) +// Information about dynamic records based on IP weights. Find out more about dynamic records. func (o LookupDomainRecordResultOutput) Weighteds() GetDomainRecordWeightedArrayOutput { return o.ApplyT(func(v LookupDomainRecordResult) []GetDomainRecordWeighted { return v.Weighteds }).(GetDomainRecordWeightedArrayOutput) } diff --git a/sdk/go/scaleway/getDomainZone.go b/sdk/go/scaleway/getDomainZone.go index 0c2d110a..835a399e 100644 --- a/sdk/go/scaleway/getDomainZone.go +++ b/sdk/go/scaleway/getDomainZone.go @@ -11,35 +11,6 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about a domain zone. -// -// ## 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 zone -// _, err := scaleway.LookupDomainZone(ctx, &scaleway.LookupDomainZoneArgs{ -// Domain: pulumi.StringRef("scaleway-terraform.com"), -// Subdomain: pulumi.StringRef("test"), -// }, nil) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` func LookupDomainZone(ctx *pulumi.Context, args *LookupDomainZoneArgs, opts ...pulumi.InvokeOption) (*LookupDomainZoneResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupDomainZoneResult @@ -52,9 +23,9 @@ func LookupDomainZone(ctx *pulumi.Context, args *LookupDomainZoneArgs, opts ...p // A collection of arguments for invoking getDomainZone. type LookupDomainZoneArgs struct { - // The domain where the DNS zone will be created. + // The primary domain name where the DNS zone is located. This is a mandatory field. Domain *string `pulumi:"domain"` - // The subdomain(zone name) to create in the domain. + // The subdomain (or zone name) within the primary domain. This is a mandatory field. Subdomain *string `pulumi:"subdomain"` } @@ -63,19 +34,19 @@ type LookupDomainZoneResult struct { Domain *string `pulumi:"domain"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` - // Message + // Message associated with the domain zone (typically used for status or error messages). Message string `pulumi:"message"` - // NameServer list for zone. + // The list of name servers for the zone. Ns []string `pulumi:"ns"` - // NameServer default list for zone. + // The default list of name servers for the zone. NsDefaults []string `pulumi:"nsDefaults"` - // NameServer master list for zone. + // The master list of name servers for the zone. NsMasters []string `pulumi:"nsMasters"` ProjectId string `pulumi:"projectId"` - // The domain zone status. + // The status of the domain zone. Status string `pulumi:"status"` Subdomain *string `pulumi:"subdomain"` - // The date and time of the last update of the DNS zone. + // The date and time of the last update to the DNS zone. UpdatedAt string `pulumi:"updatedAt"` } @@ -100,9 +71,9 @@ func LookupDomainZoneOutput(ctx *pulumi.Context, args LookupDomainZoneOutputArgs // A collection of arguments for invoking getDomainZone. type LookupDomainZoneOutputArgs struct { - // The domain where the DNS zone will be created. + // The primary domain name where the DNS zone is located. This is a mandatory field. Domain pulumi.StringPtrInput `pulumi:"domain"` - // The subdomain(zone name) to create in the domain. + // The subdomain (or zone name) within the primary domain. This is a mandatory field. Subdomain pulumi.StringPtrInput `pulumi:"subdomain"` } @@ -134,22 +105,22 @@ func (o LookupDomainZoneResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainZoneResult) string { return v.Id }).(pulumi.StringOutput) } -// Message +// Message associated with the domain zone (typically used for status or error messages). func (o LookupDomainZoneResultOutput) Message() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainZoneResult) string { return v.Message }).(pulumi.StringOutput) } -// NameServer list for zone. +// The list of name servers for the zone. func (o LookupDomainZoneResultOutput) Ns() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupDomainZoneResult) []string { return v.Ns }).(pulumi.StringArrayOutput) } -// NameServer default list for zone. +// The default list of name servers for the zone. func (o LookupDomainZoneResultOutput) NsDefaults() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupDomainZoneResult) []string { return v.NsDefaults }).(pulumi.StringArrayOutput) } -// NameServer master list for zone. +// The master list of name servers for the zone. func (o LookupDomainZoneResultOutput) NsMasters() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupDomainZoneResult) []string { return v.NsMasters }).(pulumi.StringArrayOutput) } @@ -158,7 +129,7 @@ func (o LookupDomainZoneResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainZoneResult) string { return v.ProjectId }).(pulumi.StringOutput) } -// The domain zone status. +// The status of the domain zone. func (o LookupDomainZoneResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainZoneResult) string { return v.Status }).(pulumi.StringOutput) } @@ -167,7 +138,7 @@ func (o LookupDomainZoneResultOutput) Subdomain() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainZoneResult) *string { return v.Subdomain }).(pulumi.StringPtrOutput) } -// The date and time of the last update of the DNS zone. +// The date and time of the last update to the DNS zone. func (o LookupDomainZoneResultOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainZoneResult) string { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/getMnqSns.go b/sdk/go/scaleway/getMnqSns.go new file mode 100644 index 00000000..e407c857 --- /dev/null +++ b/sdk/go/scaleway/getMnqSns.go @@ -0,0 +1,143 @@ +// 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 SNS for a Project +// +// ## Examples +// +// ### 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 { +// // For default project +// _, err := scaleway.LookupMnqSns(ctx, &scaleway.LookupMnqSnsArgs{}, nil) +// if err != nil { +// return err +// } +// // For specific project +// _, err = scaleway.LookupMnqSns(ctx, &scaleway.LookupMnqSnsArgs{ +// ProjectId: pulumi.StringRef(mainScalewayAccountProject.Id), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupMnqSns(ctx *pulumi.Context, args *LookupMnqSnsArgs, opts ...pulumi.InvokeOption) (*LookupMnqSnsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupMnqSnsResult + err := ctx.Invoke("scaleway:index/getMnqSns:getMnqSns", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getMnqSns. +type LookupMnqSnsArgs struct { + // `projectId`) The ID of the Project in which sns is enabled. + ProjectId *string `pulumi:"projectId"` + // `region`). The region in which sns is enabled. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getMnqSns. +type LookupMnqSnsResult struct { + // The endpoint of the SNS service for this Project. + Endpoint string `pulumi:"endpoint"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ProjectId *string `pulumi:"projectId"` + Region *string `pulumi:"region"` +} + +func LookupMnqSnsOutput(ctx *pulumi.Context, args LookupMnqSnsOutputArgs, opts ...pulumi.InvokeOption) LookupMnqSnsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupMnqSnsResultOutput, error) { + args := v.(LookupMnqSnsArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupMnqSnsResult + secret, err := ctx.InvokePackageRaw("scaleway:index/getMnqSns:getMnqSns", args, &rv, "", opts...) + if err != nil { + return LookupMnqSnsResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupMnqSnsResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupMnqSnsResultOutput), nil + } + return output, nil + }).(LookupMnqSnsResultOutput) +} + +// A collection of arguments for invoking getMnqSns. +type LookupMnqSnsOutputArgs struct { + // `projectId`) The ID of the Project in which sns is enabled. + ProjectId pulumi.StringPtrInput `pulumi:"projectId"` + // `region`). The region in which sns is enabled. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupMnqSnsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMnqSnsArgs)(nil)).Elem() +} + +// A collection of values returned by getMnqSns. +type LookupMnqSnsResultOutput struct{ *pulumi.OutputState } + +func (LookupMnqSnsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMnqSnsResult)(nil)).Elem() +} + +func (o LookupMnqSnsResultOutput) ToLookupMnqSnsResultOutput() LookupMnqSnsResultOutput { + return o +} + +func (o LookupMnqSnsResultOutput) ToLookupMnqSnsResultOutputWithContext(ctx context.Context) LookupMnqSnsResultOutput { + return o +} + +// The endpoint of the SNS service for this Project. +func (o LookupMnqSnsResultOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupMnqSnsResult) string { return v.Endpoint }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupMnqSnsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupMnqSnsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupMnqSnsResultOutput) ProjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMnqSnsResult) *string { return v.ProjectId }).(pulumi.StringPtrOutput) +} + +func (o LookupMnqSnsResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMnqSnsResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupMnqSnsResultOutput{}) +} diff --git a/sdk/go/scaleway/getSecret.go b/sdk/go/scaleway/getSecret.go index 3be33f95..8c103b53 100644 --- a/sdk/go/scaleway/getSecret.go +++ b/sdk/go/scaleway/getSecret.go @@ -11,12 +11,19 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about Scaleway Secrets. -// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). +// The `Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. // -// ## Examples +// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. // -// ### Basic +// ## Example Usage +// +// ### Create a secret and get its information +// +// The following commands allow you to: +// +// - create a secret named `foo` with the description `barr` +// - retrieve the secret's information using the secret's ID +// - retrieve the secret's information using the secret's name // // ```go // package main @@ -30,6 +37,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a secret // _, err := scaleway.NewSecret(ctx, "main", &scaleway.SecretArgs{ // Name: pulumi.String("foo"), // Description: pulumi.String("barr"), @@ -37,14 +45,14 @@ import ( // if err != nil { // return err // } -// // Get info by secret ID +// // Get the secret information specified by the secret ID // _, err = scaleway.LookupSecret(ctx, &scaleway.LookupSecretArgs{ // SecretId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"), // }, nil) // if err != nil { // return err // } -// // Get info by secret Name +// // Get the secret information specified by the secret name // _, err = scaleway.LookupSecret(ctx, &scaleway.LookupSecretArgs{ // Name: pulumi.StringRef("your_secret_name"), // }, nil) @@ -68,39 +76,41 @@ func LookupSecret(ctx *pulumi.Context, args *LookupSecretArgs, opts ...pulumi.In // A collection of arguments for invoking getSecret. type LookupSecretArgs struct { - // The secret name. + // The name of the secret. // Only one of `name` and `secretId` should be specified. Name *string `pulumi:"name"` - // The organization ID the Project is associated with. - // If no default organizationId is set, one must be set explicitly in this datasource + // The ID of the Scaleway Organization the Project is associated with. If no default `organizationId` is set, it must be set explicitly in this data source. OrganizationId *string `pulumi:"organizationId"` - // The secret path. + // The path of the secret. // Conflicts with `secretId`. Path *string `pulumi:"path"` - // `projectId`) The ID of the - // project the secret is associated with. + // ). The ID of the + // Project the secret is associated with. ProjectId *string `pulumi:"projectId"` - // `region`) The region in which the secret exists. + // ). The region in which the secret exists. Region *string `pulumi:"region"` - // The secret id. + // The ID of the secret. // Only one of `name` and `secretId` should be specified. SecretId *string `pulumi:"secretId"` } // A collection of values returned by getSecret. type LookupSecretResult struct { - CreatedAt string `pulumi:"createdAt"` - Description string `pulumi:"description"` + CreatedAt string `pulumi:"createdAt"` + Description string `pulumi:"description"` + EphemeralPolicies []GetSecretEphemeralPolicy `pulumi:"ephemeralPolicies"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` Name *string `pulumi:"name"` OrganizationId string `pulumi:"organizationId"` Path *string `pulumi:"path"` ProjectId *string `pulumi:"projectId"` + Protected bool `pulumi:"protected"` Region *string `pulumi:"region"` SecretId *string `pulumi:"secretId"` Status string `pulumi:"status"` Tags []string `pulumi:"tags"` + Type string `pulumi:"type"` UpdatedAt string `pulumi:"updatedAt"` VersionCount int `pulumi:"versionCount"` } @@ -126,21 +136,20 @@ func LookupSecretOutput(ctx *pulumi.Context, args LookupSecretOutputArgs, opts . // A collection of arguments for invoking getSecret. type LookupSecretOutputArgs struct { - // The secret name. + // The name of the secret. // Only one of `name` and `secretId` should be specified. Name pulumi.StringPtrInput `pulumi:"name"` - // The organization ID the Project is associated with. - // If no default organizationId is set, one must be set explicitly in this datasource + // The ID of the Scaleway Organization the Project is associated with. If no default `organizationId` is set, it must be set explicitly in this data source. OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"` - // The secret path. + // The path of the secret. // Conflicts with `secretId`. Path pulumi.StringPtrInput `pulumi:"path"` - // `projectId`) The ID of the - // project the secret is associated with. + // ). The ID of the + // Project the secret is associated with. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // `region`) The region in which the secret exists. + // ). The region in which the secret exists. Region pulumi.StringPtrInput `pulumi:"region"` - // The secret id. + // The ID of the secret. // Only one of `name` and `secretId` should be specified. SecretId pulumi.StringPtrInput `pulumi:"secretId"` } @@ -172,6 +181,10 @@ func (o LookupSecretResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretResult) string { return v.Description }).(pulumi.StringOutput) } +func (o LookupSecretResultOutput) EphemeralPolicies() GetSecretEphemeralPolicyArrayOutput { + return o.ApplyT(func(v LookupSecretResult) []GetSecretEphemeralPolicy { return v.EphemeralPolicies }).(GetSecretEphemeralPolicyArrayOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupSecretResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretResult) string { return v.Id }).(pulumi.StringOutput) @@ -193,6 +206,10 @@ func (o LookupSecretResultOutput) ProjectId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecretResult) *string { return v.ProjectId }).(pulumi.StringPtrOutput) } +func (o LookupSecretResultOutput) Protected() pulumi.BoolOutput { + return o.ApplyT(func(v LookupSecretResult) bool { return v.Protected }).(pulumi.BoolOutput) +} + func (o LookupSecretResultOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecretResult) *string { return v.Region }).(pulumi.StringPtrOutput) } @@ -209,6 +226,10 @@ func (o LookupSecretResultOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupSecretResult) []string { return v.Tags }).(pulumi.StringArrayOutput) } +func (o LookupSecretResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupSecretResult) string { return v.Type }).(pulumi.StringOutput) +} + func (o LookupSecretResultOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretResult) string { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/getSecretVersion.go b/sdk/go/scaleway/getSecretVersion.go index 23cf1e85..56f17a37 100644 --- a/sdk/go/scaleway/getSecretVersion.go +++ b/sdk/go/scaleway/getSecretVersion.go @@ -11,12 +11,22 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Gets information about Scaleway a Secret Version. -// For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). +// The `SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. // -// ## Examples +// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. // -// ### Basic +// ## Example Usage +// +// ### Use Secret Manager +// +// The following commands allow you to: +// +// - create a secret named `fooii` +// - create a new version of `fooii` containing data (`yourSecret`) +// - retrieve the secret version specified by the secret ID and the desired version +// - retrieve the secret version specified by the secret name and the desired version +// +// The output blocks display the sensitive data contained in your secret version. // // ```go // package main @@ -30,6 +40,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // Create a secret named fooii // main, err := scaleway.NewSecret(ctx, "main", &scaleway.SecretArgs{ // Name: pulumi.String("fooii"), // Description: pulumi.String("barr"), @@ -37,6 +48,7 @@ import ( // if err != nil { // return err // } +// // Create a version of fooii containing data // _, err = scaleway.NewSecretVersion(ctx, "main", &scaleway.SecretVersionArgs{ // Description: pulumi.String("your description"), // SecretId: main.ID(), @@ -45,10 +57,12 @@ import ( // if err != nil { // return err // } +// // Retrieve the secret version specified by the secret ID and the desired version // dataBySecretId := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{ // SecretId: main.ID(), // Revision: pulumi.String("1"), // }, nil) +// // Retrieve the secret version specified by the secret name and the desired version // dataBySecretName := scaleway.LookupSecretVersionOutput(ctx, scaleway.GetSecretVersionOutputArgs{ // SecretName: main.Name, // Revision: pulumi.String("1"), @@ -65,14 +79,14 @@ import ( // // ``` // -// ## Data +// ## Data information // -// Note: This Data Source give you **access** to the secret payload encoded en base64. +// Note: This data source provides you with access to the secret payload, which is encoded in base64. // -// Be aware that this is a sensitive attribute. For more information, +// Keep in mind that this is a sensitive attribute. For more information, // see Sensitive Data in State. // -// > **Important:** This property is sensitive and will not be displayed in the plan. +// > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. func LookupSecretVersion(ctx *pulumi.Context, args *LookupSecretVersionArgs, opts ...pulumi.InvokeOption) (*LookupSecretVersionResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupSecretVersionResult @@ -85,39 +99,38 @@ func LookupSecretVersion(ctx *pulumi.Context, args *LookupSecretVersionArgs, opt // A collection of arguments for invoking getSecretVersion. type LookupSecretVersionArgs struct { - // The ID of the project the Secret version is associated with. + OrganizationId *string `pulumi:"organizationId"` + // The ID of the Scaleway Project associated with the secret version. ProjectId *string `pulumi:"projectId"` - // `region`) The region - // in which the resource exists. - Region *string `pulumi:"region"` - // The revision for this Secret Version. + Region *string `pulumi:"region"` + // The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) Revision *string `pulumi:"revision"` - // The Secret ID associated wit the secret version. - // Only one of `secretId` and `secretName` should be specified. + // The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified. SecretId *string `pulumi:"secretId"` - // The Name of Secret associated wit the secret version. + // The name of the secret associated with the secret version. // Only one of `secretId` and `secretName` should be specified. SecretName *string `pulumi:"secretName"` } // A collection of values returned by getSecretVersion. type LookupSecretVersionResult struct { - // Date and time of secret version's creation (RFC 3339 format). + // The date and time of the secret version's creation in RFC 3339 format. CreatedAt string `pulumi:"createdAt"` - // The data payload of the secret version. more on the data section + // The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information). Data string `pulumi:"data"` - // (Optional) Description of the secret version (e.g. `my-new-description`). + // (Optional) The description of the secret version (e.g. `my-new-description`). Description string `pulumi:"description"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - ProjectId *string `pulumi:"projectId"` - Region *string `pulumi:"region"` - Revision *string `pulumi:"revision"` - SecretId *string `pulumi:"secretId"` - SecretName *string `pulumi:"secretName"` - // The status of the Secret Version. + Id string `pulumi:"id"` + OrganizationId string `pulumi:"organizationId"` + ProjectId *string `pulumi:"projectId"` + Region *string `pulumi:"region"` + Revision *string `pulumi:"revision"` + SecretId *string `pulumi:"secretId"` + SecretName *string `pulumi:"secretName"` + // The status of the secret version. Status string `pulumi:"status"` - // Date and time of secret version's last update (RFC 3339 format). + // The date and time of the secret version's last update in RFC 3339 format. UpdatedAt string `pulumi:"updatedAt"` } @@ -142,17 +155,15 @@ func LookupSecretVersionOutput(ctx *pulumi.Context, args LookupSecretVersionOutp // A collection of arguments for invoking getSecretVersion. type LookupSecretVersionOutputArgs struct { - // The ID of the project the Secret version is associated with. + OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"` + // The ID of the Scaleway Project associated with the secret version. ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // `region`) The region - // in which the resource exists. - Region pulumi.StringPtrInput `pulumi:"region"` - // The revision for this Secret Version. + Region pulumi.StringPtrInput `pulumi:"region"` + // The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) Revision pulumi.StringPtrInput `pulumi:"revision"` - // The Secret ID associated wit the secret version. - // Only one of `secretId` and `secretName` should be specified. + // The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified. SecretId pulumi.StringPtrInput `pulumi:"secretId"` - // The Name of Secret associated wit the secret version. + // The name of the secret associated with the secret version. // Only one of `secretId` and `secretName` should be specified. SecretName pulumi.StringPtrInput `pulumi:"secretName"` } @@ -176,17 +187,17 @@ func (o LookupSecretVersionResultOutput) ToLookupSecretVersionResultOutputWithCo return o } -// Date and time of secret version's creation (RFC 3339 format). +// The date and time of the secret version's creation in RFC 3339 format. func (o LookupSecretVersionResultOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The data payload of the secret version. more on the data section +// The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information). func (o LookupSecretVersionResultOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.Data }).(pulumi.StringOutput) } -// (Optional) Description of the secret version (e.g. `my-new-description`). +// (Optional) The description of the secret version (e.g. `my-new-description`). func (o LookupSecretVersionResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.Description }).(pulumi.StringOutput) } @@ -196,6 +207,10 @@ func (o LookupSecretVersionResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.Id }).(pulumi.StringOutput) } +func (o LookupSecretVersionResultOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSecretVersionResult) string { return v.OrganizationId }).(pulumi.StringOutput) +} + func (o LookupSecretVersionResultOutput) ProjectId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecretVersionResult) *string { return v.ProjectId }).(pulumi.StringPtrOutput) } @@ -216,12 +231,12 @@ func (o LookupSecretVersionResultOutput) SecretName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecretVersionResult) *string { return v.SecretName }).(pulumi.StringPtrOutput) } -// The status of the Secret Version. +// The status of the secret version. func (o LookupSecretVersionResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.Status }).(pulumi.StringOutput) } -// Date and time of secret version's last update (RFC 3339 format). +// The date and time of the secret version's last update in RFC 3339 format. func (o LookupSecretVersionResultOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupSecretVersionResult) string { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/iamPolicy.go b/sdk/go/scaleway/iamPolicy.go index 87d01849..62ccd2af 100644 --- a/sdk/go/scaleway/iamPolicy.go +++ b/sdk/go/scaleway/iamPolicy.go @@ -110,6 +110,49 @@ import ( // // ``` // +// ### Create a policy with a particular condition +// +// IAM policy rule can use a condition to be applied. +// The following variables are available: +// +// - `request.ip` +// - `request.user_agent` +// - `request.time` +// +// ```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.NewIamPolicy(ctx, "main", &scaleway.IamPolicyArgs{ +// Name: pulumi.String("tf_tests_policy_condition"), +// NoPrincipal: pulumi.Bool(true), +// Rules: scaleway.IamPolicyRuleArray{ +// &scaleway.IamPolicyRuleArgs{ +// OrganizationId: pulumi.String("%s"), +// PermissionSetNames: pulumi.StringArray{ +// pulumi.String("AllProductsFullAccess"), +// }, +// Condition: pulumi.String("request.user_agent == 'My User Agent'"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Policies can be imported using the `{id}`, e.g. diff --git a/sdk/go/scaleway/init.go b/sdk/go/scaleway/init.go index c815f388..fe7da254 100644 --- a/sdk/go/scaleway/init.go +++ b/sdk/go/scaleway/init.go @@ -213,6 +213,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &TemDomain{} case "scaleway:index/temDomainValidation:TemDomainValidation": r = &TemDomainValidation{} + case "scaleway:index/temWebhook:TemWebhook": + r = &TemWebhook{} case "scaleway:index/vpc:Vpc": r = &Vpc{} case "scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork": @@ -744,6 +746,11 @@ func init() { "index/temDomainValidation", &module{version}, ) + pulumi.RegisterResourceModule( + "scaleway", + "index/temWebhook", + &module{version}, + ) pulumi.RegisterResourceModule( "scaleway", "index/vpc", diff --git a/sdk/go/scaleway/instanceServer.go b/sdk/go/scaleway/instanceServer.go index 49514237..31603659 100644 --- a/sdk/go/scaleway/instanceServer.go +++ b/sdk/go/scaleway/instanceServer.go @@ -335,12 +335,17 @@ type InstanceServer struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType pulumi.StringPtrOutput `pulumi:"bootType"` // The ID of the bootscript to use (set bootType to `bootscript`). + // + // Deprecated: bootscript is not supported anymore. BootscriptId pulumi.StringOutput `pulumi:"bootscriptId"` // The cloud init script associated with this server CloudInit pulumi.StringOutput `pulumi:"cloudInit"` // If true a dynamic IP will be attached to the server. EnableDynamicIp pulumi.BoolPtrOutput `pulumi:"enableDynamicIp"` // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type EnableIpv6 pulumi.BoolPtrOutput `pulumi:"enableIpv6"` // The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) // to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -356,10 +361,17 @@ type InstanceServer struct { // > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip. IpIds pulumi.StringArrayOutput `pulumi:"ipIds"` // The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"` // The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Gateway pulumi.StringOutput `pulumi:"ipv6Gateway"` // The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. Ipv6PrefixLength pulumi.IntOutput `pulumi:"ipv6PrefixLength"` // The name of the server. Name pulumi.StringOutput `pulumi:"name"` @@ -378,7 +390,9 @@ type InstanceServer struct { PrivateNetworks InstanceServerPrivateNetworkArrayOutput `pulumi:"privateNetworks"` // `projectId`) The ID of the project the server is associated with. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The public IP address of the server. + // The public IP address of the server (Deprecated use `publicIps` instead). + // + // Deprecated: Use publicIps instead PublicIp pulumi.StringOutput `pulumi:"publicIp"` // The list of public IPs of the server. PublicIps InstanceServerPublicIpArrayOutput `pulumi:"publicIps"` @@ -457,12 +471,17 @@ type instanceServerState struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType *string `pulumi:"bootType"` // The ID of the bootscript to use (set bootType to `bootscript`). + // + // Deprecated: bootscript is not supported anymore. BootscriptId *string `pulumi:"bootscriptId"` // The cloud init script associated with this server CloudInit *string `pulumi:"cloudInit"` // If true a dynamic IP will be attached to the server. EnableDynamicIp *bool `pulumi:"enableDynamicIp"` // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type EnableIpv6 *bool `pulumi:"enableIpv6"` // The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) // to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -478,10 +497,17 @@ type instanceServerState struct { // > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip. IpIds []string `pulumi:"ipIds"` // The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Address *string `pulumi:"ipv6Address"` // The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Gateway *string `pulumi:"ipv6Gateway"` // The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. Ipv6PrefixLength *int `pulumi:"ipv6PrefixLength"` // The name of the server. Name *string `pulumi:"name"` @@ -500,7 +526,9 @@ type instanceServerState struct { PrivateNetworks []InstanceServerPrivateNetwork `pulumi:"privateNetworks"` // `projectId`) The ID of the project the server is associated with. ProjectId *string `pulumi:"projectId"` - // The public IP address of the server. + // The public IP address of the server (Deprecated use `publicIps` instead). + // + // Deprecated: Use publicIps instead PublicIp *string `pulumi:"publicIp"` // The list of public IPs of the server. PublicIps []InstanceServerPublicIp `pulumi:"publicIps"` @@ -547,12 +575,17 @@ type InstanceServerState struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType pulumi.StringPtrInput // The ID of the bootscript to use (set bootType to `bootscript`). + // + // Deprecated: bootscript is not supported anymore. BootscriptId pulumi.StringPtrInput // The cloud init script associated with this server CloudInit pulumi.StringPtrInput // If true a dynamic IP will be attached to the server. EnableDynamicIp pulumi.BoolPtrInput // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type EnableIpv6 pulumi.BoolPtrInput // The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) // to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -568,10 +601,17 @@ type InstanceServerState struct { // > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip. IpIds pulumi.StringArrayInput // The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Address pulumi.StringPtrInput // The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type Ipv6Gateway pulumi.StringPtrInput // The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. Ipv6PrefixLength pulumi.IntPtrInput // The name of the server. Name pulumi.StringPtrInput @@ -590,7 +630,9 @@ type InstanceServerState struct { PrivateNetworks InstanceServerPrivateNetworkArrayInput // `projectId`) The ID of the project the server is associated with. ProjectId pulumi.StringPtrInput - // The public IP address of the server. + // The public IP address of the server (Deprecated use `publicIps` instead). + // + // Deprecated: Use publicIps instead PublicIp pulumi.StringPtrInput // The list of public IPs of the server. PublicIps InstanceServerPublicIpArrayInput @@ -641,12 +683,17 @@ type instanceServerArgs struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType *string `pulumi:"bootType"` // The ID of the bootscript to use (set bootType to `bootscript`). + // + // Deprecated: bootscript is not supported anymore. BootscriptId *string `pulumi:"bootscriptId"` // The cloud init script associated with this server CloudInit *string `pulumi:"cloudInit"` // If true a dynamic IP will be attached to the server. EnableDynamicIp *bool `pulumi:"enableDynamicIp"` // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type EnableIpv6 *bool `pulumi:"enableIpv6"` // The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) // to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -718,12 +765,17 @@ type InstanceServerArgs struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType pulumi.StringPtrInput // The ID of the bootscript to use (set bootType to `bootscript`). + // + // Deprecated: bootscript is not supported anymore. BootscriptId pulumi.StringPtrInput // The cloud init script associated with this server CloudInit pulumi.StringPtrInput // If true a dynamic IP will be attached to the server. EnableDynamicIp pulumi.BoolPtrInput // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + // Deprecated: Please use a InstanceIp with a `routedIpv6` type. + // + // Deprecated: Please use a InstanceIp with a `routedIpv6` type EnableIpv6 pulumi.BoolPtrInput // The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) // to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -886,6 +938,8 @@ func (o InstanceServerOutput) BootType() pulumi.StringPtrOutput { } // The ID of the bootscript to use (set bootType to `bootscript`). +// +// Deprecated: bootscript is not supported anymore. func (o InstanceServerOutput) BootscriptId() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.BootscriptId }).(pulumi.StringOutput) } @@ -901,6 +955,9 @@ func (o InstanceServerOutput) EnableDynamicIp() pulumi.BoolPtrOutput { } // Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. +// Deprecated: Please use a InstanceIp with a `routedIpv6` type. +// +// Deprecated: Please use a InstanceIp with a `routedIpv6` type func (o InstanceServerOutput) EnableIpv6() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstanceServer) pulumi.BoolPtrOutput { return v.EnableIpv6 }).(pulumi.BoolPtrOutput) } @@ -928,16 +985,23 @@ func (o InstanceServerOutput) IpIds() pulumi.StringArrayOutput { } // The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) +// Deprecated: Please use a InstanceIp with a `routedIpv6` type. +// +// Deprecated: Please use a InstanceIp with a `routedIpv6` type func (o InstanceServerOutput) Ipv6Address() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.Ipv6Address }).(pulumi.StringOutput) } // The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) +// Deprecated: Please use a InstanceIp with a `routedIpv6` type. +// +// Deprecated: Please use a InstanceIp with a `routedIpv6` type func (o InstanceServerOutput) Ipv6Gateway() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.Ipv6Gateway }).(pulumi.StringOutput) } // The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) +// Deprecated: Please use a InstanceIp with a `routedIpv6` type. func (o InstanceServerOutput) Ipv6PrefixLength() pulumi.IntOutput { return o.ApplyT(func(v *InstanceServer) pulumi.IntOutput { return v.Ipv6PrefixLength }).(pulumi.IntOutput) } @@ -980,7 +1044,9 @@ func (o InstanceServerOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The public IP address of the server. +// The public IP address of the server (Deprecated use `publicIps` instead). +// +// Deprecated: Use publicIps instead func (o InstanceServerOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/loadbalancerFrontend.go b/sdk/go/scaleway/loadbalancerFrontend.go index a6809c24..eb487bc6 100644 --- a/sdk/go/scaleway/loadbalancerFrontend.go +++ b/sdk/go/scaleway/loadbalancerFrontend.go @@ -179,7 +179,7 @@ type LoadbalancerFrontend struct { // // > **Important:** Updates to `lbId` or `backendId` will recreate the frontend. BackendId pulumi.StringOutput `pulumi:"backendId"` - // (Deprecated) First certificate ID used by the frontend. + // (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. // // Deprecated: Please use certificate_ids CertificateId pulumi.StringOutput `pulumi:"certificateId"` @@ -247,7 +247,7 @@ type loadbalancerFrontendState struct { // // > **Important:** Updates to `lbId` or `backendId` will recreate the frontend. BackendId *string `pulumi:"backendId"` - // (Deprecated) First certificate ID used by the frontend. + // (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. // // Deprecated: Please use certificate_ids CertificateId *string `pulumi:"certificateId"` @@ -277,7 +277,7 @@ type LoadbalancerFrontendState struct { // // > **Important:** Updates to `lbId` or `backendId` will recreate the frontend. BackendId pulumi.StringPtrInput - // (Deprecated) First certificate ID used by the frontend. + // (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. // // Deprecated: Please use certificate_ids CertificateId pulumi.StringPtrInput @@ -456,7 +456,7 @@ func (o LoadbalancerFrontendOutput) BackendId() pulumi.StringOutput { return o.ApplyT(func(v *LoadbalancerFrontend) pulumi.StringOutput { return v.BackendId }).(pulumi.StringOutput) } -// (Deprecated) First certificate ID used by the frontend. +// (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. // // Deprecated: Please use certificate_ids func (o LoadbalancerFrontendOutput) CertificateId() pulumi.StringOutput { diff --git a/sdk/go/scaleway/pulumiTypes.go b/sdk/go/scaleway/pulumiTypes.go index 4c6181a9..f17f4633 100644 --- a/sdk/go/scaleway/pulumiTypes.go +++ b/sdk/go/scaleway/pulumiTypes.go @@ -731,15 +731,15 @@ func (o CockpitAlertManagerContactPointArrayOutput) Index(i pulumi.IntInput) Coc } type CockpitEndpoint struct { - // The alertmanager URL. + // (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). AlertmanagerUrl *string `pulumi:"alertmanagerUrl"` - // The grafana URL. + // (Deprecated) URL for Grafana. GrafanaUrl *string `pulumi:"grafanaUrl"` - // The logs URL. + // (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. LogsUrl *string `pulumi:"logsUrl"` - // The metrics URL. + // (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. MetricsUrl *string `pulumi:"metricsUrl"` - // The traces URL. + // (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. TracesUrl *string `pulumi:"tracesUrl"` } @@ -755,15 +755,15 @@ type CockpitEndpointInput interface { } type CockpitEndpointArgs struct { - // The alertmanager URL. + // (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). AlertmanagerUrl pulumi.StringPtrInput `pulumi:"alertmanagerUrl"` - // The grafana URL. + // (Deprecated) URL for Grafana. GrafanaUrl pulumi.StringPtrInput `pulumi:"grafanaUrl"` - // The logs URL. + // (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. LogsUrl pulumi.StringPtrInput `pulumi:"logsUrl"` - // The metrics URL. + // (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. MetricsUrl pulumi.StringPtrInput `pulumi:"metricsUrl"` - // The traces URL. + // (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. TracesUrl pulumi.StringPtrInput `pulumi:"tracesUrl"` } @@ -818,27 +818,27 @@ func (o CockpitEndpointOutput) ToCockpitEndpointOutputWithContext(ctx context.Co return o } -// The alertmanager URL. +// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). func (o CockpitEndpointOutput) AlertmanagerUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v CockpitEndpoint) *string { return v.AlertmanagerUrl }).(pulumi.StringPtrOutput) } -// The grafana URL. +// (Deprecated) URL for Grafana. func (o CockpitEndpointOutput) GrafanaUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v CockpitEndpoint) *string { return v.GrafanaUrl }).(pulumi.StringPtrOutput) } -// The logs URL. +// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. func (o CockpitEndpointOutput) LogsUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v CockpitEndpoint) *string { return v.LogsUrl }).(pulumi.StringPtrOutput) } -// The metrics URL. +// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. func (o CockpitEndpointOutput) MetricsUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v CockpitEndpoint) *string { return v.MetricsUrl }).(pulumi.StringPtrOutput) } -// The traces URL. +// (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. func (o CockpitEndpointOutput) TracesUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v CockpitEndpoint) *string { return v.TracesUrl }).(pulumi.StringPtrOutput) } @@ -970,23 +970,23 @@ func (o CockpitPushUrlArrayOutput) Index(i pulumi.IntInput) CockpitPushUrlOutput } type CockpitTokenScopes struct { - // Query logs. + // Permission to query logs. QueryLogs *bool `pulumi:"queryLogs"` - // Query metrics. + // Permission to query metrics. QueryMetrics *bool `pulumi:"queryMetrics"` - // Query traces. + // Permission to query traces. QueryTraces *bool `pulumi:"queryTraces"` - // Setup alerts. + // Permission to set up alerts. SetupAlerts *bool `pulumi:"setupAlerts"` - // Setup logs rules. + // Permission to set up logs rules. SetupLogsRules *bool `pulumi:"setupLogsRules"` - // Setup metrics rules. + // Permission to set up metrics rules. SetupMetricsRules *bool `pulumi:"setupMetricsRules"` - // Write logs. + // Permission to write logs. WriteLogs *bool `pulumi:"writeLogs"` - // Write metrics. + // Permission to write metrics. WriteMetrics *bool `pulumi:"writeMetrics"` - // Write traces. + // Permission to write traces. WriteTraces *bool `pulumi:"writeTraces"` } @@ -1002,23 +1002,23 @@ type CockpitTokenScopesInput interface { } type CockpitTokenScopesArgs struct { - // Query logs. + // Permission to query logs. QueryLogs pulumi.BoolPtrInput `pulumi:"queryLogs"` - // Query metrics. + // Permission to query metrics. QueryMetrics pulumi.BoolPtrInput `pulumi:"queryMetrics"` - // Query traces. + // Permission to query traces. QueryTraces pulumi.BoolPtrInput `pulumi:"queryTraces"` - // Setup alerts. + // Permission to set up alerts. SetupAlerts pulumi.BoolPtrInput `pulumi:"setupAlerts"` - // Setup logs rules. + // Permission to set up logs rules. SetupLogsRules pulumi.BoolPtrInput `pulumi:"setupLogsRules"` - // Setup metrics rules. + // Permission to set up metrics rules. SetupMetricsRules pulumi.BoolPtrInput `pulumi:"setupMetricsRules"` - // Write logs. + // Permission to write logs. WriteLogs pulumi.BoolPtrInput `pulumi:"writeLogs"` - // Write metrics. + // Permission to write metrics. WriteMetrics pulumi.BoolPtrInput `pulumi:"writeMetrics"` - // Write traces. + // Permission to write traces. WriteTraces pulumi.BoolPtrInput `pulumi:"writeTraces"` } @@ -1099,47 +1099,47 @@ func (o CockpitTokenScopesOutput) ToCockpitTokenScopesPtrOutputWithContext(ctx c }).(CockpitTokenScopesPtrOutput) } -// Query logs. +// Permission to query logs. func (o CockpitTokenScopesOutput) QueryLogs() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.QueryLogs }).(pulumi.BoolPtrOutput) } -// Query metrics. +// Permission to query metrics. func (o CockpitTokenScopesOutput) QueryMetrics() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.QueryMetrics }).(pulumi.BoolPtrOutput) } -// Query traces. +// Permission to query traces. func (o CockpitTokenScopesOutput) QueryTraces() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.QueryTraces }).(pulumi.BoolPtrOutput) } -// Setup alerts. +// Permission to set up alerts. func (o CockpitTokenScopesOutput) SetupAlerts() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.SetupAlerts }).(pulumi.BoolPtrOutput) } -// Setup logs rules. +// Permission to set up logs rules. func (o CockpitTokenScopesOutput) SetupLogsRules() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.SetupLogsRules }).(pulumi.BoolPtrOutput) } -// Setup metrics rules. +// Permission to set up metrics rules. func (o CockpitTokenScopesOutput) SetupMetricsRules() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.SetupMetricsRules }).(pulumi.BoolPtrOutput) } -// Write logs. +// Permission to write logs. func (o CockpitTokenScopesOutput) WriteLogs() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.WriteLogs }).(pulumi.BoolPtrOutput) } -// Write metrics. +// Permission to write metrics. func (o CockpitTokenScopesOutput) WriteMetrics() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.WriteMetrics }).(pulumi.BoolPtrOutput) } -// Write traces. +// Permission to write traces. func (o CockpitTokenScopesOutput) WriteTraces() pulumi.BoolPtrOutput { return o.ApplyT(func(v CockpitTokenScopes) *bool { return v.WriteTraces }).(pulumi.BoolPtrOutput) } @@ -1168,7 +1168,7 @@ func (o CockpitTokenScopesPtrOutput) Elem() CockpitTokenScopesOutput { }).(CockpitTokenScopesOutput) } -// Query logs. +// Permission to query logs. func (o CockpitTokenScopesPtrOutput) QueryLogs() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1178,7 +1178,7 @@ func (o CockpitTokenScopesPtrOutput) QueryLogs() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Query metrics. +// Permission to query metrics. func (o CockpitTokenScopesPtrOutput) QueryMetrics() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1188,7 +1188,7 @@ func (o CockpitTokenScopesPtrOutput) QueryMetrics() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Query traces. +// Permission to query traces. func (o CockpitTokenScopesPtrOutput) QueryTraces() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1198,7 +1198,7 @@ func (o CockpitTokenScopesPtrOutput) QueryTraces() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Setup alerts. +// Permission to set up alerts. func (o CockpitTokenScopesPtrOutput) SetupAlerts() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1208,7 +1208,7 @@ func (o CockpitTokenScopesPtrOutput) SetupAlerts() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Setup logs rules. +// Permission to set up logs rules. func (o CockpitTokenScopesPtrOutput) SetupLogsRules() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1218,7 +1218,7 @@ func (o CockpitTokenScopesPtrOutput) SetupLogsRules() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Setup metrics rules. +// Permission to set up metrics rules. func (o CockpitTokenScopesPtrOutput) SetupMetricsRules() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1228,7 +1228,7 @@ func (o CockpitTokenScopesPtrOutput) SetupMetricsRules() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Write logs. +// Permission to write logs. func (o CockpitTokenScopesPtrOutput) WriteLogs() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1238,7 +1238,7 @@ func (o CockpitTokenScopesPtrOutput) WriteLogs() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Write metrics. +// Permission to write metrics. func (o CockpitTokenScopesPtrOutput) WriteMetrics() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -1248,7 +1248,7 @@ func (o CockpitTokenScopesPtrOutput) WriteMetrics() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// Write traces. +// Permission to write traces. func (o CockpitTokenScopesPtrOutput) WriteTraces() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CockpitTokenScopes) *bool { if v == nil { @@ -3847,7 +3847,7 @@ type DomainRecordGeoIpMatch struct { Continents []string `pulumi:"continents"` // List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries Countries []string `pulumi:"countries"` - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data string `pulumi:"data"` } @@ -3867,7 +3867,7 @@ type DomainRecordGeoIpMatchArgs struct { Continents pulumi.StringArrayInput `pulumi:"continents"` // List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries Countries pulumi.StringArrayInput `pulumi:"countries"` - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data pulumi.StringInput `pulumi:"data"` } @@ -3932,7 +3932,7 @@ func (o DomainRecordGeoIpMatchOutput) Countries() pulumi.StringArrayOutput { return o.ApplyT(func(v DomainRecordGeoIpMatch) []string { return v.Countries }).(pulumi.StringArrayOutput) } -// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). +// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). func (o DomainRecordGeoIpMatchOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v DomainRecordGeoIpMatch) string { return v.Data }).(pulumi.StringOutput) } @@ -4171,7 +4171,7 @@ func (o DomainRecordHttpServicePtrOutput) UserAgent() pulumi.StringPtrOutput { } type DomainRecordView struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data string `pulumi:"data"` // The subnet of the view Subnet string `pulumi:"subnet"` @@ -4189,7 +4189,7 @@ type DomainRecordViewInput interface { } type DomainRecordViewArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + // The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). Data pulumi.StringInput `pulumi:"data"` // The subnet of the view Subnet pulumi.StringInput `pulumi:"subnet"` @@ -4246,7 +4246,7 @@ func (o DomainRecordViewOutput) ToDomainRecordViewOutputWithContext(ctx context. return o } -// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). +// The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). func (o DomainRecordViewOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v DomainRecordView) string { return v.Data }).(pulumi.StringOutput) } @@ -4779,6 +4779,8 @@ func (o FunctionTriggerSqsPtrOutput) Region() pulumi.StringPtrOutput { } type IamPolicyRule struct { + // The condition of the IAM policy. + Condition *string `pulumi:"condition"` // ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. OrganizationId *string `pulumi:"organizationId"` // Names of permission sets bind to the rule. @@ -4803,6 +4805,8 @@ type IamPolicyRuleInput interface { } type IamPolicyRuleArgs struct { + // The condition of the IAM policy. + Condition pulumi.StringPtrInput `pulumi:"condition"` // ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"` // Names of permission sets bind to the rule. @@ -4866,6 +4870,11 @@ func (o IamPolicyRuleOutput) ToIamPolicyRuleOutputWithContext(ctx context.Contex return o } +// The condition of the IAM policy. +func (o IamPolicyRuleOutput) Condition() pulumi.StringPtrOutput { + return o.ApplyT(func(v IamPolicyRule) *string { return v.Condition }).(pulumi.StringPtrOutput) +} + // ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. func (o IamPolicyRuleOutput) OrganizationId() pulumi.StringPtrOutput { return o.ApplyT(func(v IamPolicyRule) *string { return v.OrganizationId }).(pulumi.StringPtrOutput) @@ -8965,9 +8974,13 @@ type KubernetesNodePoolNode struct { // The name for the pool. // > **Important:** Updates to this field will recreate a new resource. Name *string `pulumi:"name"` - // The public IPv4. + // The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + // + // Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source PublicIp *string `pulumi:"publicIp"` - // The public IPv6. + // The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + // + // Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source PublicIpV6 *string `pulumi:"publicIpV6"` // The status of the node. Status *string `pulumi:"status"` @@ -8988,9 +9001,13 @@ type KubernetesNodePoolNodeArgs struct { // The name for the pool. // > **Important:** Updates to this field will recreate a new resource. Name pulumi.StringPtrInput `pulumi:"name"` - // The public IPv4. + // The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + // + // Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source PublicIp pulumi.StringPtrInput `pulumi:"publicIp"` - // The public IPv6. + // The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + // + // Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source PublicIpV6 pulumi.StringPtrInput `pulumi:"publicIpV6"` // The status of the node. Status pulumi.StringPtrInput `pulumi:"status"` @@ -9053,12 +9070,16 @@ func (o KubernetesNodePoolNodeOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The public IPv4. +// The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) +// +// Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source func (o KubernetesNodePoolNodeOutput) PublicIp() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.PublicIp }).(pulumi.StringPtrOutput) } -// The public IPv6. +// The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) +// +// Deprecated: Please use the official Kubernetes provider and the kubernetesNodes data source func (o KubernetesNodePoolNodeOutput) PublicIpV6() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.PublicIpV6 }).(pulumi.StringPtrOutput) } @@ -10974,7 +10995,9 @@ func (o LoadbalancerFrontendAclMatchOutput) IpSubnets() pulumi.StringArrayOutput } type LoadbalancerPrivateNetwork struct { - // (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + // (Deprecated) Please use `ipamIds`. Set to `true` if you want to let DHCP assign IP addresses. See below. + // + // Deprecated: dhcp_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead DhcpConfig *bool `pulumi:"dhcpConfig"` // (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network. IpamIds *string `pulumi:"ipamIds"` @@ -10982,7 +11005,7 @@ type LoadbalancerPrivateNetwork struct { PrivateNetworkId string `pulumi:"privateNetworkId"` // (Deprecated) Please use `ipamIds`. Define a local ip address of your choice for the load balancer instance. // - // Deprecated: static_config field is deprecated, please use dhcpConfig instead + // Deprecated: static_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead StaticConfig *string `pulumi:"staticConfig"` // The status of private network connection Status *string `pulumi:"status"` @@ -11002,7 +11025,9 @@ type LoadbalancerPrivateNetworkInput interface { } type LoadbalancerPrivateNetworkArgs struct { - // (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + // (Deprecated) Please use `ipamIds`. Set to `true` if you want to let DHCP assign IP addresses. See below. + // + // Deprecated: dhcp_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead DhcpConfig pulumi.BoolPtrInput `pulumi:"dhcpConfig"` // (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network. IpamIds pulumi.StringPtrInput `pulumi:"ipamIds"` @@ -11010,7 +11035,7 @@ type LoadbalancerPrivateNetworkArgs struct { PrivateNetworkId pulumi.StringInput `pulumi:"privateNetworkId"` // (Deprecated) Please use `ipamIds`. Define a local ip address of your choice for the load balancer instance. // - // Deprecated: static_config field is deprecated, please use dhcpConfig instead + // Deprecated: static_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead StaticConfig pulumi.StringPtrInput `pulumi:"staticConfig"` // The status of private network connection Status pulumi.StringPtrInput `pulumi:"status"` @@ -11069,7 +11094,9 @@ func (o LoadbalancerPrivateNetworkOutput) ToLoadbalancerPrivateNetworkOutputWith return o } -// (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. +// (Deprecated) Please use `ipamIds`. Set to `true` if you want to let DHCP assign IP addresses. See below. +// +// Deprecated: dhcp_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead func (o LoadbalancerPrivateNetworkOutput) DhcpConfig() pulumi.BoolPtrOutput { return o.ApplyT(func(v LoadbalancerPrivateNetwork) *bool { return v.DhcpConfig }).(pulumi.BoolPtrOutput) } @@ -11086,7 +11113,7 @@ func (o LoadbalancerPrivateNetworkOutput) PrivateNetworkId() pulumi.StringOutput // (Deprecated) Please use `ipamIds`. Define a local ip address of your choice for the load balancer instance. // -// Deprecated: static_config field is deprecated, please use dhcpConfig instead +// Deprecated: static_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead func (o LoadbalancerPrivateNetworkOutput) StaticConfig() pulumi.StringPtrOutput { return o.ApplyT(func(v LoadbalancerPrivateNetwork) *string { return v.StaticConfig }).(pulumi.StringPtrOutput) } @@ -13824,6 +13851,121 @@ func (o RedisClusterPublicNetworkPtrOutput) Port() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +type SecretEphemeralPolicy struct { + // Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Action string `pulumi:"action"` + // True if the secret version expires after a single user access. + ExpiresOnceAccessed *bool `pulumi:"expiresOnceAccessed"` + // Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + Ttl *string `pulumi:"ttl"` +} + +// SecretEphemeralPolicyInput is an input type that accepts SecretEphemeralPolicyArgs and SecretEphemeralPolicyOutput values. +// You can construct a concrete instance of `SecretEphemeralPolicyInput` via: +// +// SecretEphemeralPolicyArgs{...} +type SecretEphemeralPolicyInput interface { + pulumi.Input + + ToSecretEphemeralPolicyOutput() SecretEphemeralPolicyOutput + ToSecretEphemeralPolicyOutputWithContext(context.Context) SecretEphemeralPolicyOutput +} + +type SecretEphemeralPolicyArgs struct { + // Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Action pulumi.StringInput `pulumi:"action"` + // True if the secret version expires after a single user access. + ExpiresOnceAccessed pulumi.BoolPtrInput `pulumi:"expiresOnceAccessed"` + // Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + Ttl pulumi.StringPtrInput `pulumi:"ttl"` +} + +func (SecretEphemeralPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecretEphemeralPolicy)(nil)).Elem() +} + +func (i SecretEphemeralPolicyArgs) ToSecretEphemeralPolicyOutput() SecretEphemeralPolicyOutput { + return i.ToSecretEphemeralPolicyOutputWithContext(context.Background()) +} + +func (i SecretEphemeralPolicyArgs) ToSecretEphemeralPolicyOutputWithContext(ctx context.Context) SecretEphemeralPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecretEphemeralPolicyOutput) +} + +// SecretEphemeralPolicyArrayInput is an input type that accepts SecretEphemeralPolicyArray and SecretEphemeralPolicyArrayOutput values. +// You can construct a concrete instance of `SecretEphemeralPolicyArrayInput` via: +// +// SecretEphemeralPolicyArray{ SecretEphemeralPolicyArgs{...} } +type SecretEphemeralPolicyArrayInput interface { + pulumi.Input + + ToSecretEphemeralPolicyArrayOutput() SecretEphemeralPolicyArrayOutput + ToSecretEphemeralPolicyArrayOutputWithContext(context.Context) SecretEphemeralPolicyArrayOutput +} + +type SecretEphemeralPolicyArray []SecretEphemeralPolicyInput + +func (SecretEphemeralPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecretEphemeralPolicy)(nil)).Elem() +} + +func (i SecretEphemeralPolicyArray) ToSecretEphemeralPolicyArrayOutput() SecretEphemeralPolicyArrayOutput { + return i.ToSecretEphemeralPolicyArrayOutputWithContext(context.Background()) +} + +func (i SecretEphemeralPolicyArray) ToSecretEphemeralPolicyArrayOutputWithContext(ctx context.Context) SecretEphemeralPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecretEphemeralPolicyArrayOutput) +} + +type SecretEphemeralPolicyOutput struct{ *pulumi.OutputState } + +func (SecretEphemeralPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecretEphemeralPolicy)(nil)).Elem() +} + +func (o SecretEphemeralPolicyOutput) ToSecretEphemeralPolicyOutput() SecretEphemeralPolicyOutput { + return o +} + +func (o SecretEphemeralPolicyOutput) ToSecretEphemeralPolicyOutputWithContext(ctx context.Context) SecretEphemeralPolicyOutput { + return o +} + +// Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). +func (o SecretEphemeralPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v SecretEphemeralPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// True if the secret version expires after a single user access. +func (o SecretEphemeralPolicyOutput) ExpiresOnceAccessed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SecretEphemeralPolicy) *bool { return v.ExpiresOnceAccessed }).(pulumi.BoolPtrOutput) +} + +// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). +func (o SecretEphemeralPolicyOutput) Ttl() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecretEphemeralPolicy) *string { return v.Ttl }).(pulumi.StringPtrOutput) +} + +type SecretEphemeralPolicyArrayOutput struct{ *pulumi.OutputState } + +func (SecretEphemeralPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecretEphemeralPolicy)(nil)).Elem() +} + +func (o SecretEphemeralPolicyArrayOutput) ToSecretEphemeralPolicyArrayOutput() SecretEphemeralPolicyArrayOutput { + return o +} + +func (o SecretEphemeralPolicyArrayOutput) ToSecretEphemeralPolicyArrayOutputWithContext(ctx context.Context) SecretEphemeralPolicyArrayOutput { + return o +} + +func (o SecretEphemeralPolicyArrayOutput) Index(i pulumi.IntInput) SecretEphemeralPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecretEphemeralPolicy { + return vs[0].([]SecretEphemeralPolicy)[vs[1].(int)] + }).(SecretEphemeralPolicyOutput) +} + type TemDomainReputation struct { // The previously-calculated domain's reputation score. PreviousScore *int `pulumi:"previousScore"` @@ -15990,13 +16132,13 @@ func (o GetBillingInvoicesInvoiceArrayOutput) Index(i pulumi.IntInput) GetBillin } type GetCockpitEndpoint struct { - // The alertmanager URL + // (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). AlertmanagerUrl string `pulumi:"alertmanagerUrl"` - // The grafana URL + // (Deprecated) URL for Grafana. GrafanaUrl string `pulumi:"grafanaUrl"` - // The logs URL + // (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. LogsUrl string `pulumi:"logsUrl"` - // The metrics URL + // (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. MetricsUrl string `pulumi:"metricsUrl"` // The traces URL TracesUrl string `pulumi:"tracesUrl"` @@ -16014,13 +16156,13 @@ type GetCockpitEndpointInput interface { } type GetCockpitEndpointArgs struct { - // The alertmanager URL + // (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). AlertmanagerUrl pulumi.StringInput `pulumi:"alertmanagerUrl"` - // The grafana URL + // (Deprecated) URL for Grafana. GrafanaUrl pulumi.StringInput `pulumi:"grafanaUrl"` - // The logs URL + // (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. LogsUrl pulumi.StringInput `pulumi:"logsUrl"` - // The metrics URL + // (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. MetricsUrl pulumi.StringInput `pulumi:"metricsUrl"` // The traces URL TracesUrl pulumi.StringInput `pulumi:"tracesUrl"` @@ -16077,22 +16219,22 @@ func (o GetCockpitEndpointOutput) ToGetCockpitEndpointOutputWithContext(ctx cont return o } -// The alertmanager URL +// (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). func (o GetCockpitEndpointOutput) AlertmanagerUrl() pulumi.StringOutput { return o.ApplyT(func(v GetCockpitEndpoint) string { return v.AlertmanagerUrl }).(pulumi.StringOutput) } -// The grafana URL +// (Deprecated) URL for Grafana. func (o GetCockpitEndpointOutput) GrafanaUrl() pulumi.StringOutput { return o.ApplyT(func(v GetCockpitEndpoint) string { return v.GrafanaUrl }).(pulumi.StringOutput) } -// The logs URL +// (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. func (o GetCockpitEndpointOutput) LogsUrl() pulumi.StringOutput { return o.ApplyT(func(v GetCockpitEndpoint) string { return v.LogsUrl }).(pulumi.StringOutput) } -// The metrics URL +// (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. func (o GetCockpitEndpointOutput) MetricsUrl() pulumi.StringOutput { return o.ApplyT(func(v GetCockpitEndpoint) string { return v.MetricsUrl }).(pulumi.StringOutput) } @@ -16959,8 +17101,7 @@ type GetDomainRecordGeoIpMatch struct { Continents []string `pulumi:"continents"` // List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries Countries []string `pulumi:"countries"` - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data string `pulumi:"data"` } @@ -16980,8 +17121,7 @@ type GetDomainRecordGeoIpMatchArgs struct { Continents pulumi.StringArrayInput `pulumi:"continents"` // List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries Countries pulumi.StringArrayInput `pulumi:"countries"` - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data pulumi.StringInput `pulumi:"data"` } @@ -17046,8 +17186,7 @@ func (o GetDomainRecordGeoIpMatchOutput) Countries() pulumi.StringArrayOutput { return o.ApplyT(func(v GetDomainRecordGeoIpMatch) []string { return v.Countries }).(pulumi.StringArrayOutput) } -// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). -// Cannot be used with `recordId`. +// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. func (o GetDomainRecordGeoIpMatchOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v GetDomainRecordGeoIpMatch) string { return v.Data }).(pulumi.StringOutput) } @@ -17206,8 +17345,7 @@ func (o GetDomainRecordHttpServiceArrayOutput) Index(i pulumi.IntInput) GetDomai } type GetDomainRecordView struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data string `pulumi:"data"` // The subnet of the view Subnet string `pulumi:"subnet"` @@ -17225,8 +17363,7 @@ type GetDomainRecordViewInput interface { } type GetDomainRecordViewArgs struct { - // The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - // Cannot be used with `recordId`. + // The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. Data pulumi.StringInput `pulumi:"data"` // The subnet of the view Subnet pulumi.StringInput `pulumi:"subnet"` @@ -17283,8 +17420,7 @@ func (o GetDomainRecordViewOutput) ToGetDomainRecordViewOutputWithContext(ctx co return o } -// The content of the record (an IPv4 for an `A`, a string for a `TXT`...). -// Cannot be used with `recordId`. +// The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. func (o GetDomainRecordViewOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v GetDomainRecordView) string { return v.Data }).(pulumi.StringOutput) } @@ -18445,6 +18581,8 @@ type GetInstanceServersServer struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType string `pulumi:"bootType"` // The ID of the bootscript. + // + // Deprecated: bootscript are not supported BootscriptId string `pulumi:"bootscriptId"` // If true a dynamic IP will be attached to the server. EnableDynamicIp bool `pulumi:"enableDynamicIp"` @@ -18472,6 +18610,8 @@ type GetInstanceServersServer struct { // The ID of the project the server is associated with. ProjectId string `pulumi:"projectId"` // The public IP address of the server. + // + // Deprecated: Use publicIps instead PublicIp string `pulumi:"publicIp"` // The list of public IPs of the server PublicIps []GetInstanceServersServerPublicIp `pulumi:"publicIps"` @@ -18504,6 +18644,8 @@ type GetInstanceServersServerArgs struct { // The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`. BootType pulumi.StringInput `pulumi:"bootType"` // The ID of the bootscript. + // + // Deprecated: bootscript are not supported BootscriptId pulumi.StringInput `pulumi:"bootscriptId"` // If true a dynamic IP will be attached to the server. EnableDynamicIp pulumi.BoolInput `pulumi:"enableDynamicIp"` @@ -18531,6 +18673,8 @@ type GetInstanceServersServerArgs struct { // The ID of the project the server is associated with. ProjectId pulumi.StringInput `pulumi:"projectId"` // The public IP address of the server. + // + // Deprecated: Use publicIps instead PublicIp pulumi.StringInput `pulumi:"publicIp"` // The list of public IPs of the server PublicIps GetInstanceServersServerPublicIpArrayInput `pulumi:"publicIps"` @@ -18605,6 +18749,8 @@ func (o GetInstanceServersServerOutput) BootType() pulumi.StringOutput { } // The ID of the bootscript. +// +// Deprecated: bootscript are not supported func (o GetInstanceServersServerOutput) BootscriptId() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceServersServer) string { return v.BootscriptId }).(pulumi.StringOutput) } @@ -18674,6 +18820,8 @@ func (o GetInstanceServersServerOutput) ProjectId() pulumi.StringOutput { } // The public IP address of the server. +// +// Deprecated: Use publicIps instead func (o GetInstanceServersServerOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceServersServer) string { return v.PublicIp }).(pulumi.StringOutput) } @@ -24902,6 +25050,121 @@ func (o GetRedisClusterPublicNetworkArrayOutput) Index(i pulumi.IntInput) GetRed }).(GetRedisClusterPublicNetworkOutput) } +type GetSecretEphemeralPolicy struct { + // Action to perform when the version of a secret expires. + Action string `pulumi:"action"` + // True if the secret version expires after a single user access. + ExpiresOnceAccessed bool `pulumi:"expiresOnceAccessed"` + // Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + Ttl string `pulumi:"ttl"` +} + +// GetSecretEphemeralPolicyInput is an input type that accepts GetSecretEphemeralPolicyArgs and GetSecretEphemeralPolicyOutput values. +// You can construct a concrete instance of `GetSecretEphemeralPolicyInput` via: +// +// GetSecretEphemeralPolicyArgs{...} +type GetSecretEphemeralPolicyInput interface { + pulumi.Input + + ToGetSecretEphemeralPolicyOutput() GetSecretEphemeralPolicyOutput + ToGetSecretEphemeralPolicyOutputWithContext(context.Context) GetSecretEphemeralPolicyOutput +} + +type GetSecretEphemeralPolicyArgs struct { + // Action to perform when the version of a secret expires. + Action pulumi.StringInput `pulumi:"action"` + // True if the secret version expires after a single user access. + ExpiresOnceAccessed pulumi.BoolInput `pulumi:"expiresOnceAccessed"` + // Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + Ttl pulumi.StringInput `pulumi:"ttl"` +} + +func (GetSecretEphemeralPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretEphemeralPolicy)(nil)).Elem() +} + +func (i GetSecretEphemeralPolicyArgs) ToGetSecretEphemeralPolicyOutput() GetSecretEphemeralPolicyOutput { + return i.ToGetSecretEphemeralPolicyOutputWithContext(context.Background()) +} + +func (i GetSecretEphemeralPolicyArgs) ToGetSecretEphemeralPolicyOutputWithContext(ctx context.Context) GetSecretEphemeralPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretEphemeralPolicyOutput) +} + +// GetSecretEphemeralPolicyArrayInput is an input type that accepts GetSecretEphemeralPolicyArray and GetSecretEphemeralPolicyArrayOutput values. +// You can construct a concrete instance of `GetSecretEphemeralPolicyArrayInput` via: +// +// GetSecretEphemeralPolicyArray{ GetSecretEphemeralPolicyArgs{...} } +type GetSecretEphemeralPolicyArrayInput interface { + pulumi.Input + + ToGetSecretEphemeralPolicyArrayOutput() GetSecretEphemeralPolicyArrayOutput + ToGetSecretEphemeralPolicyArrayOutputWithContext(context.Context) GetSecretEphemeralPolicyArrayOutput +} + +type GetSecretEphemeralPolicyArray []GetSecretEphemeralPolicyInput + +func (GetSecretEphemeralPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretEphemeralPolicy)(nil)).Elem() +} + +func (i GetSecretEphemeralPolicyArray) ToGetSecretEphemeralPolicyArrayOutput() GetSecretEphemeralPolicyArrayOutput { + return i.ToGetSecretEphemeralPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetSecretEphemeralPolicyArray) ToGetSecretEphemeralPolicyArrayOutputWithContext(ctx context.Context) GetSecretEphemeralPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretEphemeralPolicyArrayOutput) +} + +type GetSecretEphemeralPolicyOutput struct{ *pulumi.OutputState } + +func (GetSecretEphemeralPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretEphemeralPolicy)(nil)).Elem() +} + +func (o GetSecretEphemeralPolicyOutput) ToGetSecretEphemeralPolicyOutput() GetSecretEphemeralPolicyOutput { + return o +} + +func (o GetSecretEphemeralPolicyOutput) ToGetSecretEphemeralPolicyOutputWithContext(ctx context.Context) GetSecretEphemeralPolicyOutput { + return o +} + +// Action to perform when the version of a secret expires. +func (o GetSecretEphemeralPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretEphemeralPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// True if the secret version expires after a single user access. +func (o GetSecretEphemeralPolicyOutput) ExpiresOnceAccessed() pulumi.BoolOutput { + return o.ApplyT(func(v GetSecretEphemeralPolicy) bool { return v.ExpiresOnceAccessed }).(pulumi.BoolOutput) +} + +// Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format +func (o GetSecretEphemeralPolicyOutput) Ttl() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretEphemeralPolicy) string { return v.Ttl }).(pulumi.StringOutput) +} + +type GetSecretEphemeralPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetSecretEphemeralPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretEphemeralPolicy)(nil)).Elem() +} + +func (o GetSecretEphemeralPolicyArrayOutput) ToGetSecretEphemeralPolicyArrayOutput() GetSecretEphemeralPolicyArrayOutput { + return o +} + +func (o GetSecretEphemeralPolicyArrayOutput) ToGetSecretEphemeralPolicyArrayOutputWithContext(ctx context.Context) GetSecretEphemeralPolicyArrayOutput { + return o +} + +func (o GetSecretEphemeralPolicyArrayOutput) Index(i pulumi.IntInput) GetSecretEphemeralPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretEphemeralPolicy { + return vs[0].([]GetSecretEphemeralPolicy)[vs[1].(int)] + }).(GetSecretEphemeralPolicyOutput) +} + type GetTemDomainReputation struct { // The previously-calculated domain's reputation score PreviousScore int `pulumi:"previousScore"` @@ -26351,6 +26614,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RedisClusterPrivateNetworkArrayInput)(nil)).Elem(), RedisClusterPrivateNetworkArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RedisClusterPublicNetworkInput)(nil)).Elem(), RedisClusterPublicNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RedisClusterPublicNetworkPtrInput)(nil)).Elem(), RedisClusterPublicNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecretEphemeralPolicyInput)(nil)).Elem(), SecretEphemeralPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecretEphemeralPolicyArrayInput)(nil)).Elem(), SecretEphemeralPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TemDomainReputationInput)(nil)).Elem(), TemDomainReputationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemDomainReputationArrayInput)(nil)).Elem(), TemDomainReputationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcGatewayNetworkIpamConfigInput)(nil)).Elem(), VpcGatewayNetworkIpamConfigArgs{}) @@ -26514,6 +26779,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetRedisClusterPrivateNetworkArrayInput)(nil)).Elem(), GetRedisClusterPrivateNetworkArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRedisClusterPublicNetworkInput)(nil)).Elem(), GetRedisClusterPublicNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRedisClusterPublicNetworkArrayInput)(nil)).Elem(), GetRedisClusterPublicNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecretEphemeralPolicyInput)(nil)).Elem(), GetSecretEphemeralPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSecretEphemeralPolicyArrayInput)(nil)).Elem(), GetSecretEphemeralPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTemDomainReputationInput)(nil)).Elem(), GetTemDomainReputationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTemDomainReputationArrayInput)(nil)).Elem(), GetTemDomainReputationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcGatewayNetworkIpamConfigInput)(nil)).Elem(), GetVpcGatewayNetworkIpamConfigArgs{}) @@ -26702,6 +26969,8 @@ func init() { pulumi.RegisterOutputType(RedisClusterPrivateNetworkArrayOutput{}) pulumi.RegisterOutputType(RedisClusterPublicNetworkOutput{}) pulumi.RegisterOutputType(RedisClusterPublicNetworkPtrOutput{}) + pulumi.RegisterOutputType(SecretEphemeralPolicyOutput{}) + pulumi.RegisterOutputType(SecretEphemeralPolicyArrayOutput{}) pulumi.RegisterOutputType(TemDomainReputationOutput{}) pulumi.RegisterOutputType(TemDomainReputationArrayOutput{}) pulumi.RegisterOutputType(VpcGatewayNetworkIpamConfigOutput{}) @@ -26865,6 +27134,8 @@ func init() { pulumi.RegisterOutputType(GetRedisClusterPrivateNetworkArrayOutput{}) pulumi.RegisterOutputType(GetRedisClusterPublicNetworkOutput{}) pulumi.RegisterOutputType(GetRedisClusterPublicNetworkArrayOutput{}) + pulumi.RegisterOutputType(GetSecretEphemeralPolicyOutput{}) + pulumi.RegisterOutputType(GetSecretEphemeralPolicyArrayOutput{}) pulumi.RegisterOutputType(GetTemDomainReputationOutput{}) pulumi.RegisterOutputType(GetTemDomainReputationArrayOutput{}) pulumi.RegisterOutputType(GetVpcGatewayNetworkIpamConfigOutput{}) diff --git a/sdk/go/scaleway/secret.go b/sdk/go/scaleway/secret.go index 5d6139c6..e2983760 100644 --- a/sdk/go/scaleway/secret.go +++ b/sdk/go/scaleway/secret.go @@ -11,45 +11,9 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Secrets. -// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/). -// -// ## 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.NewSecret(ctx, "main", &scaleway.SecretArgs{ -// Name: pulumi.String("foo"), -// Description: pulumi.String("barr"), -// Tags: pulumi.StringArray{ -// pulumi.String("foo"), -// pulumi.String("terraform"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // -// The Secret can be imported using the `{region}/{id}`, e.g. +// This section explains how to import a secret using the `{region}/{id}` format. // // bash // @@ -59,26 +23,32 @@ import ( type Secret struct { pulumi.CustomResourceState - // Date and time of secret's creation (RFC 3339 format). + // Date and time of the secret's creation (in RFC 3339 format). CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Description of the secret (e.g. `my-new-description`). Description pulumi.StringPtrOutput `pulumi:"description"` + // Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + EphemeralPolicies SecretEphemeralPolicyArrayOutput `pulumi:"ephemeralPolicies"` // Name of the secret (e.g. `my-secret`). Name pulumi.StringOutput `pulumi:"name"` // Path of the secret, defaults to `/`. Path pulumi.StringPtrOutput `pulumi:"path"` // The project ID containing is the secret. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + Protected pulumi.BoolPtrOutput `pulumi:"protected"` // `region`) The region // in which the resource exists. Region pulumi.StringOutput `pulumi:"region"` - // The status of the Secret. + // The status of the secret. Status pulumi.StringOutput `pulumi:"status"` // Tags of the secret (e.g. `["tag", "secret"]`). Tags pulumi.StringArrayOutput `pulumi:"tags"` - // Date and time of secret's last update (RFC 3339 format). + // Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Type pulumi.StringPtrOutput `pulumi:"type"` + // Date and time of the secret's last update (in RFC 3339 format). UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` - // The number of versions for this Secret. + // The amount of secret versions. VersionCount pulumi.IntOutput `pulumi:"versionCount"` } @@ -112,50 +82,62 @@ func GetSecret(ctx *pulumi.Context, // Input properties used for looking up and filtering Secret resources. type secretState struct { - // Date and time of secret's creation (RFC 3339 format). + // Date and time of the secret's creation (in RFC 3339 format). CreatedAt *string `pulumi:"createdAt"` // Description of the secret (e.g. `my-new-description`). Description *string `pulumi:"description"` + // Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + EphemeralPolicies []SecretEphemeralPolicy `pulumi:"ephemeralPolicies"` // Name of the secret (e.g. `my-secret`). Name *string `pulumi:"name"` // Path of the secret, defaults to `/`. Path *string `pulumi:"path"` // The project ID containing is the secret. ProjectId *string `pulumi:"projectId"` + // True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + Protected *bool `pulumi:"protected"` // `region`) The region // in which the resource exists. Region *string `pulumi:"region"` - // The status of the Secret. + // The status of the secret. Status *string `pulumi:"status"` // Tags of the secret (e.g. `["tag", "secret"]`). Tags []string `pulumi:"tags"` - // Date and time of secret's last update (RFC 3339 format). + // Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Type *string `pulumi:"type"` + // Date and time of the secret's last update (in RFC 3339 format). UpdatedAt *string `pulumi:"updatedAt"` - // The number of versions for this Secret. + // The amount of secret versions. VersionCount *int `pulumi:"versionCount"` } type SecretState struct { - // Date and time of secret's creation (RFC 3339 format). + // Date and time of the secret's creation (in RFC 3339 format). CreatedAt pulumi.StringPtrInput // Description of the secret (e.g. `my-new-description`). Description pulumi.StringPtrInput + // Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + EphemeralPolicies SecretEphemeralPolicyArrayInput // Name of the secret (e.g. `my-secret`). Name pulumi.StringPtrInput // Path of the secret, defaults to `/`. Path pulumi.StringPtrInput // The project ID containing is the secret. ProjectId pulumi.StringPtrInput + // True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + Protected pulumi.BoolPtrInput // `region`) The region // in which the resource exists. Region pulumi.StringPtrInput - // The status of the Secret. + // The status of the secret. Status pulumi.StringPtrInput // Tags of the secret (e.g. `["tag", "secret"]`). Tags pulumi.StringArrayInput - // Date and time of secret's last update (RFC 3339 format). + // Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Type pulumi.StringPtrInput + // Date and time of the secret's last update (in RFC 3339 format). UpdatedAt pulumi.StringPtrInput - // The number of versions for this Secret. + // The amount of secret versions. VersionCount pulumi.IntPtrInput } @@ -166,34 +148,46 @@ func (SecretState) ElementType() reflect.Type { type secretArgs struct { // Description of the secret (e.g. `my-new-description`). Description *string `pulumi:"description"` + // Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + EphemeralPolicies []SecretEphemeralPolicy `pulumi:"ephemeralPolicies"` // Name of the secret (e.g. `my-secret`). Name *string `pulumi:"name"` // Path of the secret, defaults to `/`. Path *string `pulumi:"path"` // The project ID containing is the secret. ProjectId *string `pulumi:"projectId"` + // True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + Protected *bool `pulumi:"protected"` // `region`) The region // in which the resource exists. Region *string `pulumi:"region"` // Tags of the secret (e.g. `["tag", "secret"]`). Tags []string `pulumi:"tags"` + // Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Type *string `pulumi:"type"` } // The set of arguments for constructing a Secret resource. type SecretArgs struct { // Description of the secret (e.g. `my-new-description`). Description pulumi.StringPtrInput + // Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + EphemeralPolicies SecretEphemeralPolicyArrayInput // Name of the secret (e.g. `my-secret`). Name pulumi.StringPtrInput // Path of the secret, defaults to `/`. Path pulumi.StringPtrInput // The project ID containing is the secret. ProjectId pulumi.StringPtrInput + // True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + Protected pulumi.BoolPtrInput // `region`) The region // in which the resource exists. Region pulumi.StringPtrInput // Tags of the secret (e.g. `["tag", "secret"]`). Tags pulumi.StringArrayInput + // Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + Type pulumi.StringPtrInput } func (SecretArgs) ElementType() reflect.Type { @@ -283,7 +277,7 @@ func (o SecretOutput) ToSecretOutputWithContext(ctx context.Context) SecretOutpu return o } -// Date and time of secret's creation (RFC 3339 format). +// Date and time of the secret's creation (in RFC 3339 format). func (o SecretOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } @@ -293,6 +287,11 @@ func (o SecretOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Secret) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. +func (o SecretOutput) EphemeralPolicies() SecretEphemeralPolicyArrayOutput { + return o.ApplyT(func(v *Secret) SecretEphemeralPolicyArrayOutput { return v.EphemeralPolicies }).(SecretEphemeralPolicyArrayOutput) +} + // Name of the secret (e.g. `my-secret`). func (o SecretOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -308,13 +307,18 @@ func (o SecretOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// True if secret protection is enabled on a given secret. A protected secret cannot be deleted. +func (o SecretOutput) Protected() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Secret) pulumi.BoolPtrOutput { return v.Protected }).(pulumi.BoolPtrOutput) +} + // `region`) The region // in which the resource exists. func (o SecretOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// The status of the Secret. +// The status of the secret. func (o SecretOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } @@ -324,12 +328,17 @@ func (o SecretOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v *Secret) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) } -// Date and time of secret's last update (RFC 3339 format). +// Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). +func (o SecretOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Secret) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) +} + +// Date and time of the secret's last update (in RFC 3339 format). func (o SecretOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *Secret) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } -// The number of versions for this Secret. +// The amount of secret versions. func (o SecretOutput) VersionCount() pulumi.IntOutput { return o.ApplyT(func(v *Secret) pulumi.IntOutput { return v.VersionCount }).(pulumi.IntOutput) } diff --git a/sdk/go/scaleway/secretVersion.go b/sdk/go/scaleway/secretVersion.go index fa62e302..c87c0273 100644 --- a/sdk/go/scaleway/secretVersion.go +++ b/sdk/go/scaleway/secretVersion.go @@ -12,12 +12,18 @@ import ( "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) -// Creates and manages Scaleway Secret Versions. -// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501). +// The `SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager. +// +// Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. // // ## Example Usage // -// ### Basic +// ### Create a secret and a version +// +// The following commands allow you to: +// +// - create a secret named `foo` +// - create a version of this secret containing the `myNewSecret` data // // ```go // package main @@ -58,9 +64,9 @@ import ( // // ## Import // -// The Secret Version can be imported using the `{region}/{id}/{revision}`, e.g. +// This section explains how to import a secret version using the `{region}/{id}/{revision}` format. // -// ~> **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before. +// ~> **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using. // // bash // @@ -70,22 +76,21 @@ import ( type SecretVersion struct { pulumi.CustomResourceState - // Date and time of secret version's creation (RFC 3339 format). + // The date and time of the secret version's creation (in RFC 3339 format). CreatedAt pulumi.StringOutput `pulumi:"createdAt"` - // The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + // The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). Data pulumi.StringOutput `pulumi:"data"` // Description of the secret version (e.g. `my-new-description`). Description pulumi.StringPtrOutput `pulumi:"description"` - // `region`) The region - // in which the resource exists. + // ). The region where the resource exists. Region pulumi.StringOutput `pulumi:"region"` - // The revision for this Secret Version. + // The revision number of the secret version. Revision pulumi.StringOutput `pulumi:"revision"` - // The Secret ID associated wit the secret version. + // The ID of the secret associated with the version. SecretId pulumi.StringOutput `pulumi:"secretId"` - // The status of the Secret Version. + // The status of the secret version. Status pulumi.StringOutput `pulumi:"status"` - // Date and time of secret version's last update (RFC 3339 format). + // The date and time of the secret version's last update (in RFC 3339 format). UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` } @@ -132,42 +137,40 @@ func GetSecretVersion(ctx *pulumi.Context, // Input properties used for looking up and filtering SecretVersion resources. type secretVersionState struct { - // Date and time of secret version's creation (RFC 3339 format). + // The date and time of the secret version's creation (in RFC 3339 format). CreatedAt *string `pulumi:"createdAt"` - // The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + // The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). Data *string `pulumi:"data"` // Description of the secret version (e.g. `my-new-description`). Description *string `pulumi:"description"` - // `region`) The region - // in which the resource exists. + // ). The region where the resource exists. Region *string `pulumi:"region"` - // The revision for this Secret Version. + // The revision number of the secret version. Revision *string `pulumi:"revision"` - // The Secret ID associated wit the secret version. + // The ID of the secret associated with the version. SecretId *string `pulumi:"secretId"` - // The status of the Secret Version. + // The status of the secret version. Status *string `pulumi:"status"` - // Date and time of secret version's last update (RFC 3339 format). + // The date and time of the secret version's last update (in RFC 3339 format). UpdatedAt *string `pulumi:"updatedAt"` } type SecretVersionState struct { - // Date and time of secret version's creation (RFC 3339 format). + // The date and time of the secret version's creation (in RFC 3339 format). CreatedAt pulumi.StringPtrInput - // The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + // The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). Data pulumi.StringPtrInput // Description of the secret version (e.g. `my-new-description`). Description pulumi.StringPtrInput - // `region`) The region - // in which the resource exists. + // ). The region where the resource exists. Region pulumi.StringPtrInput - // The revision for this Secret Version. + // The revision number of the secret version. Revision pulumi.StringPtrInput - // The Secret ID associated wit the secret version. + // The ID of the secret associated with the version. SecretId pulumi.StringPtrInput - // The status of the Secret Version. + // The status of the secret version. Status pulumi.StringPtrInput - // Date and time of secret version's last update (RFC 3339 format). + // The date and time of the secret version's last update (in RFC 3339 format). UpdatedAt pulumi.StringPtrInput } @@ -176,27 +179,25 @@ func (SecretVersionState) ElementType() reflect.Type { } type secretVersionArgs struct { - // The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + // The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). Data string `pulumi:"data"` // Description of the secret version (e.g. `my-new-description`). Description *string `pulumi:"description"` - // `region`) The region - // in which the resource exists. + // ). The region where the resource exists. Region *string `pulumi:"region"` - // The Secret ID associated wit the secret version. + // The ID of the secret associated with the version. SecretId string `pulumi:"secretId"` } // The set of arguments for constructing a SecretVersion resource. type SecretVersionArgs struct { - // The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + // The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). Data pulumi.StringInput // Description of the secret version (e.g. `my-new-description`). Description pulumi.StringPtrInput - // `region`) The region - // in which the resource exists. + // ). The region where the resource exists. Region pulumi.StringPtrInput - // The Secret ID associated wit the secret version. + // The ID of the secret associated with the version. SecretId pulumi.StringInput } @@ -287,12 +288,12 @@ func (o SecretVersionOutput) ToSecretVersionOutputWithContext(ctx context.Contex return o } -// Date and time of secret version's creation (RFC 3339 format). +// The date and time of the secret version's creation (in RFC 3339 format). func (o SecretVersionOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) } -// The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section +// The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). func (o SecretVersionOutput) Data() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.Data }).(pulumi.StringOutput) } @@ -302,28 +303,27 @@ func (o SecretVersionOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// `region`) The region -// in which the resource exists. +// ). The region where the resource exists. func (o SecretVersionOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// The revision for this Secret Version. +// The revision number of the secret version. func (o SecretVersionOutput) Revision() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.Revision }).(pulumi.StringOutput) } -// The Secret ID associated wit the secret version. +// The ID of the secret associated with the version. func (o SecretVersionOutput) SecretId() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.SecretId }).(pulumi.StringOutput) } -// The status of the Secret Version. +// The status of the secret version. func (o SecretVersionOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } -// Date and time of secret version's last update (RFC 3339 format). +// The date and time of the secret version's last update (in RFC 3339 format). func (o SecretVersionOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v *SecretVersion) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/temDomain.go b/sdk/go/scaleway/temDomain.go index b91c5992..bf664a8c 100644 --- a/sdk/go/scaleway/temDomain.go +++ b/sdk/go/scaleway/temDomain.go @@ -137,7 +137,9 @@ type TemDomain struct { DmarcConfig pulumi.StringOutput `pulumi:"dmarcConfig"` // DMARC name for the domain, as should be recorded in the DNS zone. DmarcName pulumi.StringOutput `pulumi:"dmarcName"` - // The error message if the last check failed. + // (Deprecated) The error message if the last check failed. + // + // Deprecated: last_error is deprecated LastError pulumi.StringOutput `pulumi:"lastError"` // The date and time the domain was last found to be valid (RFC 3339 format). LastValidAt pulumi.StringOutput `pulumi:"lastValidAt"` @@ -220,7 +222,9 @@ type temDomainState struct { DmarcConfig *string `pulumi:"dmarcConfig"` // DMARC name for the domain, as should be recorded in the DNS zone. DmarcName *string `pulumi:"dmarcName"` - // The error message if the last check failed. + // (Deprecated) The error message if the last check failed. + // + // Deprecated: last_error is deprecated LastError *string `pulumi:"lastError"` // The date and time the domain was last found to be valid (RFC 3339 format). LastValidAt *string `pulumi:"lastValidAt"` @@ -271,7 +275,9 @@ type TemDomainState struct { DmarcConfig pulumi.StringPtrInput // DMARC name for the domain, as should be recorded in the DNS zone. DmarcName pulumi.StringPtrInput - // The error message if the last check failed. + // (Deprecated) The error message if the last check failed. + // + // Deprecated: last_error is deprecated LastError pulumi.StringPtrInput // The date and time the domain was last found to be valid (RFC 3339 format). LastValidAt pulumi.StringPtrInput @@ -454,7 +460,9 @@ func (o TemDomainOutput) DmarcName() pulumi.StringOutput { return o.ApplyT(func(v *TemDomain) pulumi.StringOutput { return v.DmarcName }).(pulumi.StringOutput) } -// The error message if the last check failed. +// (Deprecated) The error message if the last check failed. +// +// Deprecated: last_error is deprecated func (o TemDomainOutput) LastError() pulumi.StringOutput { return o.ApplyT(func(v *TemDomain) pulumi.StringOutput { return v.LastError }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/temWebhook.go b/sdk/go/scaleway/temWebhook.go new file mode 100644 index 00000000..a9725de5 --- /dev/null +++ b/sdk/go/scaleway/temWebhook.go @@ -0,0 +1,491 @@ +// 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 Transactional Email Webhooks. +// For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email). +// +// ## 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.NewTemWebhook(ctx, "main", &scaleway.TemWebhookArgs{ +// DomainId: pulumi.String("your-domain-id"), +// EventTypes: pulumi.StringArray{ +// pulumi.String("email_delivered"), +// pulumi.String("email_bounced"), +// }, +// SnsArn: pulumi.String("arn:scw:sns:fr-par:project-xxxx:your-sns-topic"), +// Name: pulumi.String("example-webhook"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Complete Example with Dependencies +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// domainName := cfg.Require("domainName") +// _, err := scaleway.NewMnqSns(ctx, "sns", nil) +// if err != nil { +// return err +// } +// snsCredentials, err := scaleway.NewMnqSnsCredentials(ctx, "sns_credentials", &scaleway.MnqSnsCredentialsArgs{ +// Permissions: &scaleway.MnqSnsCredentialsPermissionsArgs{ +// CanManage: pulumi.Bool(true), +// }, +// }) +// if err != nil { +// return err +// } +// snsTopic, err := scaleway.NewMnqSnsTopic(ctx, "sns_topic", &scaleway.MnqSnsTopicArgs{ +// Name: pulumi.String("test-mnq-sns-topic-basic"), +// AccessKey: snsCredentials.AccessKey, +// SecretKey: snsCredentials.SecretKey, +// }) +// if err != nil { +// return err +// } +// cr01, err := scaleway.NewTemDomain(ctx, "cr01", &scaleway.TemDomainArgs{ +// Name: pulumi.String(domainName), +// AcceptTos: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewDomainRecord(ctx, "spf", &scaleway.DomainRecordArgs{ +// DnsZone: pulumi.String(domainName), +// Type: pulumi.String("TXT"), +// Data: cr01.SpfConfig.ApplyT(func(spfConfig string) (string, error) { +// return fmt.Sprintf("v=spf1 %v -all", spfConfig), nil +// }).(pulumi.StringOutput), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewDomainRecord(ctx, "dkim", &scaleway.DomainRecordArgs{ +// DnsZone: pulumi.String(domainName), +// Name: cr01.ProjectId.ApplyT(func(projectId string) (string, error) { +// return fmt.Sprintf("%v._domainkey", projectId), nil +// }).(pulumi.StringOutput), +// Type: pulumi.String("TXT"), +// Data: cr01.DkimConfig, +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewDomainRecord(ctx, "mx", &scaleway.DomainRecordArgs{ +// DnsZone: pulumi.String(domainName), +// Type: pulumi.String("MX"), +// Data: pulumi.String("."), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewDomainRecord(ctx, "dmarc", &scaleway.DomainRecordArgs{ +// DnsZone: pulumi.String(domainName), +// Name: cr01.DmarcName, +// Type: pulumi.String("TXT"), +// Data: cr01.DmarcConfig, +// }) +// if err != nil { +// return err +// } +// valid, err := scaleway.NewTemDomainValidation(ctx, "valid", &scaleway.TemDomainValidationArgs{ +// DomainId: cr01.ID(), +// Region: cr01.Region, +// Timeout: pulumi.Int(3600), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewTemWebhook(ctx, "webhook", &scaleway.TemWebhookArgs{ +// Name: pulumi.String("example-webhook"), +// DomainId: cr01.ID(), +// EventTypes: pulumi.StringArray{ +// pulumi.String("email_delivered"), +// pulumi.String("email_bounced"), +// }, +// SnsArn: snsTopic.Arn, +// }, pulumi.DependsOn([]pulumi.Resource{ +// valid, +// snsTopic, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Webhooks can be imported using the {region}/{id}, e.g. +// +// bash +// +// ```sh +// $ pulumi import scaleway:index/temWebhook:TemWebhook main fr-par/11111111-1111-1111-1111-111111111111 +// ``` +type TemWebhook struct { + pulumi.CustomResourceState + + // The date and time of the webhook's creation (RFC 3339 format). + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The ID of the domain the webhook is associated with. + DomainId pulumi.StringOutput `pulumi:"domainId"` + // A list of event types that trigger the webhook. + EventTypes pulumi.StringArrayOutput `pulumi:"eventTypes"` + // The name of the webhook. Defaults to an autogenerated name if not provided. + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the organization the webhook belongs to. + OrganizationId pulumi.StringOutput `pulumi:"organizationId"` + // The ID of the project the webhook is associated with. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // . The region in which the webhook should be created. + Region pulumi.StringOutput `pulumi:"region"` + // The Amazon Resource Name (ARN) of the SNS topic. + SnsArn pulumi.StringOutput `pulumi:"snsArn"` + // The date and time of the webhook's last update (RFC 3339 format). + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewTemWebhook registers a new resource with the given unique name, arguments, and options. +func NewTemWebhook(ctx *pulumi.Context, + name string, args *TemWebhookArgs, opts ...pulumi.ResourceOption) (*TemWebhook, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DomainId == nil { + return nil, errors.New("invalid value for required argument 'DomainId'") + } + if args.EventTypes == nil { + return nil, errors.New("invalid value for required argument 'EventTypes'") + } + if args.SnsArn == nil { + return nil, errors.New("invalid value for required argument 'SnsArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TemWebhook + err := ctx.RegisterResource("scaleway:index/temWebhook:TemWebhook", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTemWebhook gets an existing TemWebhook 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 GetTemWebhook(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TemWebhookState, opts ...pulumi.ResourceOption) (*TemWebhook, error) { + var resource TemWebhook + err := ctx.ReadResource("scaleway:index/temWebhook:TemWebhook", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TemWebhook resources. +type temWebhookState struct { + // The date and time of the webhook's creation (RFC 3339 format). + CreatedAt *string `pulumi:"createdAt"` + // The ID of the domain the webhook is associated with. + DomainId *string `pulumi:"domainId"` + // A list of event types that trigger the webhook. + EventTypes []string `pulumi:"eventTypes"` + // The name of the webhook. Defaults to an autogenerated name if not provided. + Name *string `pulumi:"name"` + // The ID of the organization the webhook belongs to. + OrganizationId *string `pulumi:"organizationId"` + // The ID of the project the webhook is associated with. + ProjectId *string `pulumi:"projectId"` + // . The region in which the webhook should be created. + Region *string `pulumi:"region"` + // The Amazon Resource Name (ARN) of the SNS topic. + SnsArn *string `pulumi:"snsArn"` + // The date and time of the webhook's last update (RFC 3339 format). + UpdatedAt *string `pulumi:"updatedAt"` +} + +type TemWebhookState struct { + // The date and time of the webhook's creation (RFC 3339 format). + CreatedAt pulumi.StringPtrInput + // The ID of the domain the webhook is associated with. + DomainId pulumi.StringPtrInput + // A list of event types that trigger the webhook. + EventTypes pulumi.StringArrayInput + // The name of the webhook. Defaults to an autogenerated name if not provided. + Name pulumi.StringPtrInput + // The ID of the organization the webhook belongs to. + OrganizationId pulumi.StringPtrInput + // The ID of the project the webhook is associated with. + ProjectId pulumi.StringPtrInput + // . The region in which the webhook should be created. + Region pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the SNS topic. + SnsArn pulumi.StringPtrInput + // The date and time of the webhook's last update (RFC 3339 format). + UpdatedAt pulumi.StringPtrInput +} + +func (TemWebhookState) ElementType() reflect.Type { + return reflect.TypeOf((*temWebhookState)(nil)).Elem() +} + +type temWebhookArgs struct { + // The ID of the domain the webhook is associated with. + DomainId string `pulumi:"domainId"` + // A list of event types that trigger the webhook. + EventTypes []string `pulumi:"eventTypes"` + // The name of the webhook. Defaults to an autogenerated name if not provided. + Name *string `pulumi:"name"` + // The ID of the project the webhook is associated with. + ProjectId *string `pulumi:"projectId"` + // . The region in which the webhook should be created. + Region *string `pulumi:"region"` + // The Amazon Resource Name (ARN) of the SNS topic. + SnsArn string `pulumi:"snsArn"` +} + +// The set of arguments for constructing a TemWebhook resource. +type TemWebhookArgs struct { + // The ID of the domain the webhook is associated with. + DomainId pulumi.StringInput + // A list of event types that trigger the webhook. + EventTypes pulumi.StringArrayInput + // The name of the webhook. Defaults to an autogenerated name if not provided. + Name pulumi.StringPtrInput + // The ID of the project the webhook is associated with. + ProjectId pulumi.StringPtrInput + // . The region in which the webhook should be created. + Region pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the SNS topic. + SnsArn pulumi.StringInput +} + +func (TemWebhookArgs) ElementType() reflect.Type { + return reflect.TypeOf((*temWebhookArgs)(nil)).Elem() +} + +type TemWebhookInput interface { + pulumi.Input + + ToTemWebhookOutput() TemWebhookOutput + ToTemWebhookOutputWithContext(ctx context.Context) TemWebhookOutput +} + +func (*TemWebhook) ElementType() reflect.Type { + return reflect.TypeOf((**TemWebhook)(nil)).Elem() +} + +func (i *TemWebhook) ToTemWebhookOutput() TemWebhookOutput { + return i.ToTemWebhookOutputWithContext(context.Background()) +} + +func (i *TemWebhook) ToTemWebhookOutputWithContext(ctx context.Context) TemWebhookOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemWebhookOutput) +} + +// TemWebhookArrayInput is an input type that accepts TemWebhookArray and TemWebhookArrayOutput values. +// You can construct a concrete instance of `TemWebhookArrayInput` via: +// +// TemWebhookArray{ TemWebhookArgs{...} } +type TemWebhookArrayInput interface { + pulumi.Input + + ToTemWebhookArrayOutput() TemWebhookArrayOutput + ToTemWebhookArrayOutputWithContext(context.Context) TemWebhookArrayOutput +} + +type TemWebhookArray []TemWebhookInput + +func (TemWebhookArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TemWebhook)(nil)).Elem() +} + +func (i TemWebhookArray) ToTemWebhookArrayOutput() TemWebhookArrayOutput { + return i.ToTemWebhookArrayOutputWithContext(context.Background()) +} + +func (i TemWebhookArray) ToTemWebhookArrayOutputWithContext(ctx context.Context) TemWebhookArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemWebhookArrayOutput) +} + +// TemWebhookMapInput is an input type that accepts TemWebhookMap and TemWebhookMapOutput values. +// You can construct a concrete instance of `TemWebhookMapInput` via: +// +// TemWebhookMap{ "key": TemWebhookArgs{...} } +type TemWebhookMapInput interface { + pulumi.Input + + ToTemWebhookMapOutput() TemWebhookMapOutput + ToTemWebhookMapOutputWithContext(context.Context) TemWebhookMapOutput +} + +type TemWebhookMap map[string]TemWebhookInput + +func (TemWebhookMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TemWebhook)(nil)).Elem() +} + +func (i TemWebhookMap) ToTemWebhookMapOutput() TemWebhookMapOutput { + return i.ToTemWebhookMapOutputWithContext(context.Background()) +} + +func (i TemWebhookMap) ToTemWebhookMapOutputWithContext(ctx context.Context) TemWebhookMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemWebhookMapOutput) +} + +type TemWebhookOutput struct{ *pulumi.OutputState } + +func (TemWebhookOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemWebhook)(nil)).Elem() +} + +func (o TemWebhookOutput) ToTemWebhookOutput() TemWebhookOutput { + return o +} + +func (o TemWebhookOutput) ToTemWebhookOutputWithContext(ctx context.Context) TemWebhookOutput { + return o +} + +// The date and time of the webhook's creation (RFC 3339 format). +func (o TemWebhookOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The ID of the domain the webhook is associated with. +func (o TemWebhookOutput) DomainId() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.DomainId }).(pulumi.StringOutput) +} + +// A list of event types that trigger the webhook. +func (o TemWebhookOutput) EventTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringArrayOutput { return v.EventTypes }).(pulumi.StringArrayOutput) +} + +// The name of the webhook. Defaults to an autogenerated name if not provided. +func (o TemWebhookOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the organization the webhook belongs to. +func (o TemWebhookOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) +} + +// The ID of the project the webhook is associated with. +func (o TemWebhookOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// . The region in which the webhook should be created. +func (o TemWebhookOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the SNS topic. +func (o TemWebhookOutput) SnsArn() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.SnsArn }).(pulumi.StringOutput) +} + +// The date and time of the webhook's last update (RFC 3339 format). +func (o TemWebhookOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TemWebhook) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type TemWebhookArrayOutput struct{ *pulumi.OutputState } + +func (TemWebhookArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TemWebhook)(nil)).Elem() +} + +func (o TemWebhookArrayOutput) ToTemWebhookArrayOutput() TemWebhookArrayOutput { + return o +} + +func (o TemWebhookArrayOutput) ToTemWebhookArrayOutputWithContext(ctx context.Context) TemWebhookArrayOutput { + return o +} + +func (o TemWebhookArrayOutput) Index(i pulumi.IntInput) TemWebhookOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TemWebhook { + return vs[0].([]*TemWebhook)[vs[1].(int)] + }).(TemWebhookOutput) +} + +type TemWebhookMapOutput struct{ *pulumi.OutputState } + +func (TemWebhookMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TemWebhook)(nil)).Elem() +} + +func (o TemWebhookMapOutput) ToTemWebhookMapOutput() TemWebhookMapOutput { + return o +} + +func (o TemWebhookMapOutput) ToTemWebhookMapOutputWithContext(ctx context.Context) TemWebhookMapOutput { + return o +} + +func (o TemWebhookMapOutput) MapIndex(k pulumi.StringInput) TemWebhookOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TemWebhook { + return vs[0].(map[string]*TemWebhook)[vs[1].(string)] + }).(TemWebhookOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TemWebhookInput)(nil)).Elem(), &TemWebhook{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemWebhookArrayInput)(nil)).Elem(), TemWebhookArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemWebhookMapInput)(nil)).Elem(), TemWebhookMap{}) + pulumi.RegisterOutputType(TemWebhookOutput{}) + pulumi.RegisterOutputType(TemWebhookArrayOutput{}) + pulumi.RegisterOutputType(TemWebhookMapOutput{}) +} diff --git a/sdk/nodejs/blockSnapshot.ts b/sdk/nodejs/blockSnapshot.ts index 2106bb1e..94dca655 100644 --- a/sdk/nodejs/blockSnapshot.ts +++ b/sdk/nodejs/blockSnapshot.ts @@ -5,11 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Block Snapshots. - * For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + * The `scaleway.BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes. + * + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. * * ## Example Usage * + * ### Create a snapshot of a Block Storage volume + * + * The following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID. + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; @@ -27,7 +32,7 @@ import * as utilities from "./utilities"; * * ## Import * - * Block Snapshots can be imported using the `{zone}/{id}`, e.g. + * This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`). * * bash * @@ -64,11 +69,11 @@ export class BlockSnapshot extends pulumi.CustomResource { } /** - * The name of the snapshot. If not provided it will be randomly generated. + * The name of the snapshot. If not provided, a name will be randomly generated. */ public readonly name!: pulumi.Output; /** - * `projectId`) The ID of the project the snapshot is associated with. + * ). The ID of the Scaleway Project the snapshot is associated with. */ public readonly projectId!: pulumi.Output; /** @@ -80,7 +85,7 @@ export class BlockSnapshot extends pulumi.CustomResource { */ public readonly volumeId!: pulumi.Output; /** - * `zone`) The zone in which the snapshot should be created. + * ). The zone in which the snapshot should be created. */ public readonly zone!: pulumi.Output; @@ -123,11 +128,11 @@ export class BlockSnapshot extends pulumi.CustomResource { */ export interface BlockSnapshotState { /** - * The name of the snapshot. If not provided it will be randomly generated. + * The name of the snapshot. If not provided, a name will be randomly generated. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the snapshot is associated with. + * ). The ID of the Scaleway Project the snapshot is associated with. */ projectId?: pulumi.Input; /** @@ -139,7 +144,7 @@ export interface BlockSnapshotState { */ volumeId?: pulumi.Input; /** - * `zone`) The zone in which the snapshot should be created. + * ). The zone in which the snapshot should be created. */ zone?: pulumi.Input; } @@ -149,11 +154,11 @@ export interface BlockSnapshotState { */ export interface BlockSnapshotArgs { /** - * The name of the snapshot. If not provided it will be randomly generated. + * The name of the snapshot. If not provided, a name will be randomly generated. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the snapshot is associated with. + * ). The ID of the Scaleway Project the snapshot is associated with. */ projectId?: pulumi.Input; /** @@ -165,7 +170,7 @@ export interface BlockSnapshotArgs { */ volumeId: pulumi.Input; /** - * `zone`) The zone in which the snapshot should be created. + * ). The zone in which the snapshot should be created. */ zone?: pulumi.Input; } diff --git a/sdk/nodejs/blockVolume.ts b/sdk/nodejs/blockVolume.ts index 1eb7e093..4b3da3dd 100644 --- a/sdk/nodejs/blockVolume.ts +++ b/sdk/nodejs/blockVolume.ts @@ -5,12 +5,15 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Block Volumes. - * For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + * The `scaleway.BlockVolume` resource is used to create and manage Scaleway Block Storage volumes. + * + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. * * ## Example Usage * - * ### Basic + * ### Create a Block Storage volume + * + * The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -47,7 +50,7 @@ import * as utilities from "./utilities"; * * ## Import * - * Block Volumes can be imported using the `{zone}/{id}`, e.g. + * This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format. * * bash * @@ -84,19 +87,19 @@ export class BlockVolume extends pulumi.CustomResource { } /** - * The maximum IO/s expected, must match available options. + * The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. */ public readonly iops!: pulumi.Output; /** - * The name of the volume. If not provided it will be randomly generated. + * The name of the volume. If not provided, a name will be randomly generated. */ public readonly name!: pulumi.Output; /** - * `projectId`) The ID of the project the volume is associated with. + * ). The ID of the Project the volume is associated with. */ public readonly projectId!: pulumi.Output; /** - * The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + * The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. */ public readonly sizeInGb!: pulumi.Output; /** @@ -108,7 +111,7 @@ export class BlockVolume extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output; /** - * `zone`) The zone in which the volume should be created. + * ). The zone in which the volume should be created. */ public readonly zone!: pulumi.Output; @@ -155,19 +158,19 @@ export class BlockVolume extends pulumi.CustomResource { */ export interface BlockVolumeState { /** - * The maximum IO/s expected, must match available options. + * The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. */ iops?: pulumi.Input; /** - * The name of the volume. If not provided it will be randomly generated. + * The name of the volume. If not provided, a name will be randomly generated. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the volume is associated with. + * ). The ID of the Project the volume is associated with. */ projectId?: pulumi.Input; /** - * The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + * The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. */ sizeInGb?: pulumi.Input; /** @@ -179,7 +182,7 @@ export interface BlockVolumeState { */ tags?: pulumi.Input[]>; /** - * `zone`) The zone in which the volume should be created. + * ). The zone in which the volume should be created. */ zone?: pulumi.Input; } @@ -189,19 +192,19 @@ export interface BlockVolumeState { */ export interface BlockVolumeArgs { /** - * The maximum IO/s expected, must match available options. + * The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. */ iops: pulumi.Input; /** - * The name of the volume. If not provided it will be randomly generated. + * The name of the volume. If not provided, a name will be randomly generated. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the volume is associated with. + * ). The ID of the Project the volume is associated with. */ projectId?: pulumi.Input; /** - * The size of the volume. Only one of `sizeInGb`, and `snapshotId` should be specified. + * The size of the volume in gigabytes. Only one of `sizeInGb`, and `snapshotId` should be specified. */ sizeInGb?: pulumi.Input; /** @@ -213,7 +216,7 @@ export interface BlockVolumeArgs { */ tags?: pulumi.Input[]>; /** - * `zone`) The zone in which the volume should be created. + * ). The zone in which the volume should be created. */ zone?: pulumi.Input; } diff --git a/sdk/nodejs/cockpit.ts b/sdk/nodejs/cockpit.ts index ea8236d3..7c9477ad 100644 --- a/sdk/nodejs/cockpit.ts +++ b/sdk/nodejs/cockpit.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; /** * ## Import * - * Cockpits can be imported using the `{project_id}`, e.g. + * This section explains how to import a Cockpit using its `{project_id}`. * * bash * @@ -46,23 +46,29 @@ export class Cockpit extends pulumi.CustomResource { } /** - * Endpoints. + * (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + * + * @deprecated Please use `scaleway.CockpitSource` instead */ public /*out*/ readonly endpoints!: pulumi.Output; /** - * Name or ID of the plan to use. + * Name of the plan to use. Available plans are: free, premium, and custom. */ public readonly plan!: pulumi.Output; /** - * The ID of the current plan. + * (Deprecated) The ID of the current pricing plan. + * + * @deprecated Please use Name only */ public /*out*/ readonly planId!: pulumi.Output; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ public readonly projectId!: pulumi.Output; /** * Push_url + * + * @deprecated Please use `scaleway.CockpitSource` instead */ public /*out*/ readonly pushUrls!: pulumi.Output; @@ -102,23 +108,29 @@ export class Cockpit extends pulumi.CustomResource { */ export interface CockpitState { /** - * Endpoints. + * (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + * + * @deprecated Please use `scaleway.CockpitSource` instead */ endpoints?: pulumi.Input[]>; /** - * Name or ID of the plan to use. + * Name of the plan to use. Available plans are: free, premium, and custom. */ plan?: pulumi.Input; /** - * The ID of the current plan. + * (Deprecated) The ID of the current pricing plan. + * + * @deprecated Please use Name only */ planId?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** * Push_url + * + * @deprecated Please use `scaleway.CockpitSource` instead */ pushUrls?: pulumi.Input[]>; } @@ -128,11 +140,11 @@ export interface CockpitState { */ export interface CockpitArgs { /** - * Name or ID of the plan to use. + * Name of the plan to use. Available plans are: free, premium, and custom. */ plan?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; } diff --git a/sdk/nodejs/cockpitAlertManager.ts b/sdk/nodejs/cockpitAlertManager.ts index 1b4f79f5..b9b18507 100644 --- a/sdk/nodejs/cockpitAlertManager.ts +++ b/sdk/nodejs/cockpitAlertManager.ts @@ -7,13 +7,15 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Cockpit Alert Managers. + * 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). * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + * Refer 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. + * + * ## Example Usage * * ## Import * - * Alert managers can be imported using the project ID, e.g. + * This section explains how to import alert managers using the ID of the Project associated with Cockpit. * * bash * @@ -50,23 +52,23 @@ export class CockpitAlertManager extends pulumi.CustomResource { } /** - * Alert manager URL. + * The URL of the alert manager. */ public /*out*/ readonly alertManagerUrl!: pulumi.Output; /** - * A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + * A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. */ public readonly contactPoints!: pulumi.Output; /** - * Indicates whether the alert manager should be enabled. Defaults to true. + * Specifies whether the alert manager should be enabled. Defaults to true. */ public readonly enableManagedAlerts!: pulumi.Output; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ public readonly projectId!: pulumi.Output; /** - * `region`) The region in which alertManager should be created. + * ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. */ public readonly region!: pulumi.Output; @@ -106,23 +108,23 @@ export class CockpitAlertManager extends pulumi.CustomResource { */ export interface CockpitAlertManagerState { /** - * Alert manager URL. + * The URL of the alert manager. */ alertManagerUrl?: pulumi.Input; /** - * A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + * A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. */ contactPoints?: pulumi.Input[]>; /** - * Indicates whether the alert manager should be enabled. Defaults to true. + * Specifies whether the alert manager should be enabled. Defaults to true. */ enableManagedAlerts?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region in which alertManager should be created. + * ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. */ region?: pulumi.Input; } @@ -132,19 +134,19 @@ export interface CockpitAlertManagerState { */ export interface CockpitAlertManagerArgs { /** - * A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + * A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. */ contactPoints?: pulumi.Input[]>; /** - * Indicates whether the alert manager should be enabled. Defaults to true. + * Specifies whether the alert manager should be enabled. Defaults to true. */ enableManagedAlerts?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region in which alertManager should be created. + * ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. */ region?: pulumi.Input; } diff --git a/sdk/nodejs/cockpitGrafanaUser.ts b/sdk/nodejs/cockpitGrafanaUser.ts index eed6c5ba..59ea71ca 100644 --- a/sdk/nodejs/cockpitGrafanaUser.ts +++ b/sdk/nodejs/cockpitGrafanaUser.ts @@ -5,12 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Cockpit Grafana Users. + * The `scaleway.CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit. * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + * Refer 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. * * ## Example Usage * + * ### Create a Grafana user + * + * The following command allows you to create a Grafana user within a specific Scaleway Project. + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; @@ -25,7 +29,7 @@ import * as utilities from "./utilities"; * * ## Import * - * Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g. + * This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format. * * bash * @@ -62,19 +66,19 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { } /** - * The login of the grafana user. + * The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. */ public readonly login!: pulumi.Output; /** - * The password of the grafana user + * The password of the Grafana user. */ public /*out*/ readonly password!: pulumi.Output; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ public readonly projectId!: pulumi.Output; /** - * The role of the grafana user. Must be `editor` or `viewer`. + * The role assigned to the Grafana user. Must be `editor` or `viewer`. */ public readonly role!: pulumi.Output; @@ -120,19 +124,19 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { */ export interface CockpitGrafanaUserState { /** - * The login of the grafana user. + * The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. */ login?: pulumi.Input; /** - * The password of the grafana user + * The password of the Grafana user. */ password?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * The role of the grafana user. Must be `editor` or `viewer`. + * The role assigned to the Grafana user. Must be `editor` or `viewer`. */ role?: pulumi.Input; } @@ -142,15 +146,15 @@ export interface CockpitGrafanaUserState { */ export interface CockpitGrafanaUserArgs { /** - * The login of the grafana user. + * The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. */ login: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * The role of the grafana user. Must be `editor` or `viewer`. + * The role assigned to the Grafana user. Must be `editor` or `viewer`. */ role: pulumi.Input; } diff --git a/sdk/nodejs/cockpitSource.ts b/sdk/nodejs/cockpitSource.ts index fbc711f5..124706e4 100644 --- a/sdk/nodejs/cockpitSource.ts +++ b/sdk/nodejs/cockpitSource.ts @@ -5,12 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Cockpit Data Sources. + * The `scaleway.CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit. * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources). + * Refer 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. * * ## Example Usage * + * ### Create a data source + * + * The following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project. + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; @@ -25,7 +29,7 @@ import * as utilities from "./utilities"; * * ## Import * - * Cockpits Data Sources can be imported using the `{region}/{id}`, e.g. + * This section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format. * * bash * @@ -62,23 +66,27 @@ export class CockpitSource extends pulumi.CustomResource { } /** - * Date and time of the cockpit data source's creation (RFC 3339 format). + * The date and time the data source was created (in RFC 3339 format). */ public /*out*/ readonly createdAt!: pulumi.Output; /** - * The name of the cockpit data source. + * The name of the data source. */ public readonly name!: pulumi.Output; /** - * The origin of the cockpit data source. + * The origin of the Cockpit data source. */ public /*out*/ readonly origin!: pulumi.Output; /** - * `projectId`) The ID of the project the cockpit data source is associated with. + * ) The ID of the Project the data source is associated with. */ public readonly projectId!: pulumi.Output; /** - * `region`) The region of the cockpit datasource. + * The URL endpoint used for pushing data to the Cockpit data source. + */ + public /*out*/ readonly pushUrl!: pulumi.Output; + /** + * ) The region where the data source is located. */ public readonly region!: pulumi.Output; /** @@ -86,15 +94,15 @@ export class CockpitSource extends pulumi.CustomResource { */ public /*out*/ readonly synchronizedWithGrafana!: pulumi.Output; /** - * The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + * The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. */ public readonly type!: pulumi.Output; /** - * Date and time of the cockpit datas ource's last update (RFC 3339 format). + * The date and time the data source was last updated (in RFC 3339 format). */ public /*out*/ readonly updatedAt!: pulumi.Output; /** - * The URL of the cockpit data source. + * The URL of the Cockpit data source. */ public /*out*/ readonly url!: pulumi.Output; @@ -115,6 +123,7 @@ export class CockpitSource extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["origin"] = state ? state.origin : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; + resourceInputs["pushUrl"] = state ? state.pushUrl : undefined; resourceInputs["region"] = state ? state.region : undefined; resourceInputs["synchronizedWithGrafana"] = state ? state.synchronizedWithGrafana : undefined; resourceInputs["type"] = state ? state.type : undefined; @@ -128,6 +137,7 @@ export class CockpitSource extends pulumi.CustomResource { resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["origin"] = undefined /*out*/; + resourceInputs["pushUrl"] = undefined /*out*/; resourceInputs["synchronizedWithGrafana"] = undefined /*out*/; resourceInputs["updatedAt"] = undefined /*out*/; resourceInputs["url"] = undefined /*out*/; @@ -142,23 +152,27 @@ export class CockpitSource extends pulumi.CustomResource { */ export interface CockpitSourceState { /** - * Date and time of the cockpit data source's creation (RFC 3339 format). + * The date and time the data source was created (in RFC 3339 format). */ createdAt?: pulumi.Input; /** - * The name of the cockpit data source. + * The name of the data source. */ name?: pulumi.Input; /** - * The origin of the cockpit data source. + * The origin of the Cockpit data source. */ origin?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit data source is associated with. + * ) The ID of the Project the data source is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region of the cockpit datasource. + * The URL endpoint used for pushing data to the Cockpit data source. + */ + pushUrl?: pulumi.Input; + /** + * ) The region where the data source is located. */ region?: pulumi.Input; /** @@ -166,15 +180,15 @@ export interface CockpitSourceState { */ synchronizedWithGrafana?: pulumi.Input; /** - * The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + * The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. */ type?: pulumi.Input; /** - * Date and time of the cockpit datas ource's last update (RFC 3339 format). + * The date and time the data source was last updated (in RFC 3339 format). */ updatedAt?: pulumi.Input; /** - * The URL of the cockpit data source. + * The URL of the Cockpit data source. */ url?: pulumi.Input; } @@ -184,19 +198,19 @@ export interface CockpitSourceState { */ export interface CockpitSourceArgs { /** - * The name of the cockpit data source. + * The name of the data source. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit data source is associated with. + * ) The ID of the Project the data source is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region of the cockpit datasource. + * ) The region where the data source is located. */ region?: pulumi.Input; /** - * The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + * The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. */ type?: pulumi.Input; } diff --git a/sdk/nodejs/cockpitToken.ts b/sdk/nodejs/cockpitToken.ts index db39e003..2bb15d67 100644 --- a/sdk/nodejs/cockpitToken.ts +++ b/sdk/nodejs/cockpitToken.ts @@ -7,12 +7,21 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Cockpit Tokens. + * The `scaleway.CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). + * Refer 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. * * ## Example Usage * + * ### Use a Cockpit token + * + * The following commands allow you to: + * + * - create a Scaleway Project named `my-project` + * - create a Cockpit token named `my-awesome-token` inside the Project + * - assign `read` permissions to the token for metrics and logs + * - disable `write` permissions for metrics and logs + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; @@ -44,7 +53,7 @@ import * as utilities from "./utilities"; * * ## Import * - * Cockpits tokens can be imported using the `{region}/{id}`, e.g. + * This section explains how to import a Cockpit token using the `{region}/{id}` format. * * bash * @@ -89,15 +98,15 @@ export class CockpitToken extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ public readonly projectId!: pulumi.Output; /** - * `region`) The region of the cockpit token. + * ) The region where the Cockpit token is located. */ public readonly region!: pulumi.Output; /** - * Allowed scopes. + * Scopes allowed, each with default values: */ public readonly scopes!: pulumi.Output; /** @@ -159,15 +168,15 @@ export interface CockpitTokenState { */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region of the cockpit token. + * ) The region where the Cockpit token is located. */ region?: pulumi.Input; /** - * Allowed scopes. + * Scopes allowed, each with default values: */ scopes?: pulumi.Input; /** @@ -189,15 +198,15 @@ export interface CockpitTokenArgs { */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the cockpit is associated with. + * ) The ID of the Project the Cockpit is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region of the cockpit token. + * ) The region where the Cockpit token is located. */ region?: pulumi.Input; /** - * Allowed scopes. + * Scopes allowed, each with default values: */ scopes?: pulumi.Input; } diff --git a/sdk/nodejs/databaseInstance.ts b/sdk/nodejs/databaseInstance.ts index d0375172..11eef8e1 100644 --- a/sdk/nodejs/databaseInstance.ts +++ b/sdk/nodejs/databaseInstance.ts @@ -214,13 +214,15 @@ export class DatabaseInstance extends pulumi.CustomResource { */ public readonly encryptionAtRest!: pulumi.Output; /** - * (Deprecated) The IP of the Database Instance. + * (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. * * @deprecated Please use the privateNetwork or the loadBalancer attribute */ public /*out*/ readonly endpointIp!: pulumi.Output; /** - * (Deprecated) The port of the Database Instance. + * (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. + * + * @deprecated Please use the privateNetwork or the loadBalancer attribute */ public /*out*/ readonly endpointPort!: pulumi.Output; /** @@ -421,13 +423,15 @@ export interface DatabaseInstanceState { */ encryptionAtRest?: pulumi.Input; /** - * (Deprecated) The IP of the Database Instance. + * (Deprecated) The IP of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. * * @deprecated Please use the privateNetwork or the loadBalancer attribute */ endpointIp?: pulumi.Input; /** - * (Deprecated) The port of the Database Instance. + * (Deprecated) The port of the Database Instance. Please use the privateNetwork or the loadBalancer attribute. + * + * @deprecated Please use the privateNetwork or the loadBalancer attribute */ endpointPort?: pulumi.Input; /** diff --git a/sdk/nodejs/domainRecord.ts b/sdk/nodejs/domainRecord.ts index e4a7d8fe..23a32705 100644 --- a/sdk/nodejs/domainRecord.ts +++ b/sdk/nodejs/domainRecord.ts @@ -7,12 +7,19 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Domain record.\ - * For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/). + * The `scaleway.DomainRecord` resource allows you to create and manage DNS records for Scaleway domains. + * + * Refer 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. * * ## Example Usage * - * ### Basic + * ### Create basic DNS records + * + * The folllowing commands allow you to: + * + * - 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` + * + * - 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 * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -50,7 +57,17 @@ import * as utilities from "./utilities"; * }); * ``` * - * ### With dynamic records + * ### Create dynamic records + * + * The folllowing commands allow you to: + * + * - 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) + * + * - create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status. + * + * - create view-based records for `db.domain.tld` that resolve differently based on the client's subnet. + * + * - create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -129,7 +146,12 @@ import * as utilities from "./utilities"; * }); * ``` * - * ### Create an instance and add records with the new instance IP + * ### Create an Instance and add records with the new Instance IP + * + * The following commands allow you to: + * + * - create a Scaleway Instance + * - assign The Instance's IP address to various DNS records for a specified DNS zone * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -179,14 +201,13 @@ import * as utilities from "./utilities"; * * ## Multiple records * - * Some record types can have multiple `data` with the same `name` (eg: `A`, `AAAA`, `MX`, `NS`...).\ - * You can duplicate a resource `scaleway.DomainRecord` with the same `name`, the records will be added. + * Some 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. * - * Please note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique. + * Note however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique. * * ## Import * - * Record can be imported using the `{dns_zone}/{id}`, e.g. + * This section explains how to import a record using the `{dns_zone}/{id}` format. * * bash * @@ -223,11 +244,11 @@ export class DomainRecord extends pulumi.CustomResource { } /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ public readonly data!: pulumi.Output; /** - * The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + * The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. */ public readonly dnsZone!: pulumi.Output; /** @@ -243,7 +264,7 @@ export class DomainRecord extends pulumi.CustomResource { */ public readonly httpService!: pulumi.Output; /** - * When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + * 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/). */ public readonly keepEmptyZone!: pulumi.Output; /** @@ -251,7 +272,7 @@ export class DomainRecord extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * The priority of the record (mostly used with an `MX` record) + * The priority of the record (mostly used with an `MX` record). */ public readonly priority!: pulumi.Output; /** @@ -342,11 +363,11 @@ export class DomainRecord extends pulumi.CustomResource { */ export interface DomainRecordState { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data?: pulumi.Input; /** - * The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + * The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. */ dnsZone?: pulumi.Input; /** @@ -362,7 +383,7 @@ export interface DomainRecordState { */ httpService?: pulumi.Input; /** - * When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + * 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/). */ keepEmptyZone?: pulumi.Input; /** @@ -370,7 +391,7 @@ export interface DomainRecordState { */ name?: pulumi.Input; /** - * The priority of the record (mostly used with an `MX` record) + * The priority of the record (mostly used with an `MX` record). */ priority?: pulumi.Input; /** @@ -404,11 +425,11 @@ export interface DomainRecordState { */ export interface DomainRecordArgs { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: pulumi.Input; /** - * The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + * The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. */ dnsZone: pulumi.Input; /** @@ -420,7 +441,7 @@ export interface DomainRecordArgs { */ httpService?: pulumi.Input; /** - * When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + * 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/). */ keepEmptyZone?: pulumi.Input; /** @@ -428,7 +449,7 @@ export interface DomainRecordArgs { */ name?: pulumi.Input; /** - * The priority of the record (mostly used with an `MX` record) + * The priority of the record (mostly used with an `MX` record). */ priority?: pulumi.Input; /** diff --git a/sdk/nodejs/domainZone.ts b/sdk/nodejs/domainZone.ts index 401a73ec..0778498c 100644 --- a/sdk/nodejs/domainZone.ts +++ b/sdk/nodejs/domainZone.ts @@ -5,24 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Domain zone.\ - * For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/). - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const test = new scaleway.DomainZone("test", { - * domain: "scaleway-terraform.com", - * subdomain: "test", - * }); - * ``` - * * ## Import * - * Zone can be imported using the `{subdomain}.{domain}`, e.g. + * This section explains how to import a zone using the `{subdomain}.{domain}` format. * * bash * @@ -59,39 +44,39 @@ export class DomainZone extends pulumi.CustomResource { } /** - * The domain where the DNS zone will be created. + * The main domain where the DNS zone will be created. */ public readonly domain!: pulumi.Output; /** - * Message + * Message. */ public /*out*/ readonly message!: pulumi.Output; /** - * NameServer list for zone. + * The list of same servers for the zone. */ public /*out*/ readonly ns!: pulumi.Output; /** - * NameServer default list for zone. + * The default list of same servers for the zone. */ public /*out*/ readonly nsDefaults!: pulumi.Output; /** - * NameServer master list for zone. + * The master list of same servers for the zone. */ public /*out*/ readonly nsMasters!: pulumi.Output; /** - * `projectId`) The ID of the project the domain is associated with. + * `projectId`) The ID of the Project associated with the domain. */ public readonly projectId!: pulumi.Output; /** - * The domain zone status. + * The status of the domain zone. */ public /*out*/ readonly status!: pulumi.Output; /** - * The subdomain(zone name) to create in the domain. + * The name of the subdomain (zone name) to create within the domain. */ public readonly subdomain!: pulumi.Output; /** - * The date and time of the last update of the DNS zone. + * The date and time at which the DNS zone was last updated. */ public /*out*/ readonly updatedAt!: pulumi.Output; @@ -145,39 +130,39 @@ export class DomainZone extends pulumi.CustomResource { */ export interface DomainZoneState { /** - * The domain where the DNS zone will be created. + * The main domain where the DNS zone will be created. */ domain?: pulumi.Input; /** - * Message + * Message. */ message?: pulumi.Input; /** - * NameServer list for zone. + * The list of same servers for the zone. */ ns?: pulumi.Input[]>; /** - * NameServer default list for zone. + * The default list of same servers for the zone. */ nsDefaults?: pulumi.Input[]>; /** - * NameServer master list for zone. + * The master list of same servers for the zone. */ nsMasters?: pulumi.Input[]>; /** - * `projectId`) The ID of the project the domain is associated with. + * `projectId`) The ID of the Project associated with the domain. */ projectId?: pulumi.Input; /** - * The domain zone status. + * The status of the domain zone. */ status?: pulumi.Input; /** - * The subdomain(zone name) to create in the domain. + * The name of the subdomain (zone name) to create within the domain. */ subdomain?: pulumi.Input; /** - * The date and time of the last update of the DNS zone. + * The date and time at which the DNS zone was last updated. */ updatedAt?: pulumi.Input; } @@ -187,15 +172,15 @@ export interface DomainZoneState { */ export interface DomainZoneArgs { /** - * The domain where the DNS zone will be created. + * The main domain where the DNS zone will be created. */ domain: pulumi.Input; /** - * `projectId`) The ID of the project the domain is associated with. + * `projectId`) The ID of the Project associated with the domain. */ projectId?: pulumi.Input; /** - * The subdomain(zone name) to create in the domain. + * The name of the subdomain (zone name) to create within the domain. */ subdomain: pulumi.Input; } diff --git a/sdk/nodejs/getBlockSnapshot.ts b/sdk/nodejs/getBlockSnapshot.ts index d680c3fb..a4dfc9d2 100644 --- a/sdk/nodejs/getBlockSnapshot.ts +++ b/sdk/nodejs/getBlockSnapshot.ts @@ -5,7 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Gets information about a Block Snapshot. + * The `scaleway.BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + * + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. */ export function getBlockSnapshot(args?: GetBlockSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; @@ -24,23 +26,23 @@ export function getBlockSnapshot(args?: GetBlockSnapshotArgs, opts?: pulumi.Invo */ export interface GetBlockSnapshotArgs { /** - * The name of the snapshot. Only one of `name` and `snapshotId` should be specified. + * The name of the snapshot. Only one of name or snapshotId should be specified. */ name?: string; /** - * The ID of the project the snapshot is associated with. + * The unique identifier of the Project to which the snapshot is associated. */ projectId?: string; /** - * The ID of the snapshot. Only one of `name` and `snapshotId` should be specified. + * The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified. */ snapshotId?: string; /** - * The ID of the volume from which the snapshot has been created. + * The unique identifier of the volume from which the snapshot was created. */ volumeId?: string; /** - * `zone`) The zone in which the snapshot exists. + * ) The zone in which the snapshot exists. */ zone?: string; } @@ -61,7 +63,9 @@ export interface GetBlockSnapshotResult { readonly zone?: string; } /** - * Gets information about a Block Snapshot. + * The `scaleway.BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + * + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. */ export function getBlockSnapshotOutput(args?: GetBlockSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; @@ -80,23 +84,23 @@ export function getBlockSnapshotOutput(args?: GetBlockSnapshotOutputArgs, opts?: */ export interface GetBlockSnapshotOutputArgs { /** - * The name of the snapshot. Only one of `name` and `snapshotId` should be specified. + * The name of the snapshot. Only one of name or snapshotId should be specified. */ name?: pulumi.Input; /** - * The ID of the project the snapshot is associated with. + * The unique identifier of the Project to which the snapshot is associated. */ projectId?: pulumi.Input; /** - * The ID of the snapshot. Only one of `name` and `snapshotId` should be specified. + * The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified. */ snapshotId?: pulumi.Input; /** - * The ID of the volume from which the snapshot has been created. + * The unique identifier of the volume from which the snapshot was created. */ volumeId?: pulumi.Input; /** - * `zone`) The zone in which the snapshot exists. + * ) The zone in which the snapshot exists. */ zone?: pulumi.Input; } diff --git a/sdk/nodejs/getBlockVolume.ts b/sdk/nodejs/getBlockVolume.ts index affc91b9..188b8b35 100644 --- a/sdk/nodejs/getBlockVolume.ts +++ b/sdk/nodejs/getBlockVolume.ts @@ -5,7 +5,8 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Gets information about a Block Volume. + * The `scaleway.BlockVolume` data source is used to retrieve information about a Block Storage volume. + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. */ export function getBlockVolume(args?: GetBlockVolumeArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; @@ -27,15 +28,15 @@ export interface GetBlockVolumeArgs { */ name?: string; /** - * The ID of the project the volume is associated with. + * The unique identifier of the Project to which the volume is associated. */ projectId?: string; /** - * The ID of the volume. Only one of `name` and `volumeId` should be specified. + * The unique identifier of the volume. Only one of `name` and `volumeId` should be specified. */ volumeId?: string; /** - * `zone`) The zone in which the volume exists. + * ). The zone in which the volume exists. */ zone?: string; } @@ -58,7 +59,8 @@ export interface GetBlockVolumeResult { readonly zone?: string; } /** - * Gets information about a Block Volume. + * The `scaleway.BlockVolume` data source is used to retrieve information about a Block Storage volume. + * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. */ export function getBlockVolumeOutput(args?: GetBlockVolumeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; @@ -80,15 +82,15 @@ export interface GetBlockVolumeOutputArgs { */ name?: pulumi.Input; /** - * The ID of the project the volume is associated with. + * The unique identifier of the Project to which the volume is associated. */ projectId?: pulumi.Input; /** - * The ID of the volume. Only one of `name` and `volumeId` should be specified. + * The unique identifier of the volume. Only one of `name` and `volumeId` should be specified. */ volumeId?: pulumi.Input; /** - * `zone`) The zone in which the volume exists. + * ). The zone in which the volume exists. */ zone?: pulumi.Input; } diff --git a/sdk/nodejs/getCockpit.ts b/sdk/nodejs/getCockpit.ts index bd8628ac..d0885b60 100644 --- a/sdk/nodejs/getCockpit.ts +++ b/sdk/nodejs/getCockpit.ts @@ -7,21 +7,28 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** + * > **Important:** The data source `scaleway.Cockpit` has been deprecated and will no longer be supported. Instead, use resource `scaleway.Cockpit`. + * * > **Note:** - * As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - * If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + * As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + * If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. + * + * The `scaleway.Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. + * + * Refer 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. * - * Gets information about the Scaleway Cockpit. + * ## Retrieve a Cockpit * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + * The following commands allow you to: * - * ## Example Usage + * - get information on the Cockpit associated with your Scaleway default Project + * - get information on the Cockpit associated with a specific Scaleway Project * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get default project's cockpit + * // Get the default Project's Cockpit * const main = scaleway.getCockpit({}); * ``` * @@ -29,7 +36,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get a specific project's cockpit + * // Get a specific Project's Cockpit * const main = scaleway.getCockpit({ * projectId: "11111111-1111-1111-1111-111111111111", * }); @@ -48,7 +55,7 @@ export function getCockpit(args?: GetCockpitArgs, opts?: pulumi.InvokeOptions): */ export interface GetCockpitArgs { /** - * `projectId`) The ID of the project the cockpit is associated with. + * Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. */ projectId?: string; } @@ -58,36 +65,44 @@ export interface GetCockpitArgs { */ export interface GetCockpitResult { /** - * Endpoints + * (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: */ readonly endpoints: outputs.GetCockpitEndpoint[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; + readonly plan: string; /** - * The ID of the current plan + * (Deprecated) ID of the current pricing plan */ readonly planId: string; readonly projectId?: string; readonly pushUrls: outputs.GetCockpitPushUrl[]; } /** + * > **Important:** The data source `scaleway.Cockpit` has been deprecated and will no longer be supported. Instead, use resource `scaleway.Cockpit`. + * * > **Note:** - * As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - * If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + * As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + * If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. + * + * The `scaleway.Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. + * + * Refer 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. * - * Gets information about the Scaleway Cockpit. + * ## Retrieve a Cockpit * - * For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + * The following commands allow you to: * - * ## Example Usage + * - get information on the Cockpit associated with your Scaleway default Project + * - get information on the Cockpit associated with a specific Scaleway Project * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get default project's cockpit + * // Get the default Project's Cockpit * const main = scaleway.getCockpit({}); * ``` * @@ -95,7 +110,7 @@ export interface GetCockpitResult { * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get a specific project's cockpit + * // Get a specific Project's Cockpit * const main = scaleway.getCockpit({ * projectId: "11111111-1111-1111-1111-111111111111", * }); @@ -114,7 +129,7 @@ export function getCockpitOutput(args?: GetCockpitOutputArgs, opts?: pulumi.Invo */ export interface GetCockpitOutputArgs { /** - * `projectId`) The ID of the project the cockpit is associated with. + * Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. */ projectId?: pulumi.Input; } diff --git a/sdk/nodejs/getCockpitPlan.ts b/sdk/nodejs/getCockpitPlan.ts index aa2bc328..e1d3cc2f 100644 --- a/sdk/nodejs/getCockpitPlan.ts +++ b/sdk/nodejs/getCockpitPlan.ts @@ -5,9 +5,15 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Gets information about a Scaleway Cockpit plan. + * The `scaleway.getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `scaleway.Cockpit`. * - * ## Example Usage + * Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + * + * Refer 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. + * + * ## Fetch and associate a pricing plan to a Cockpit + * + * The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -32,7 +38,7 @@ export function getCockpitPlan(args: GetCockpitPlanArgs, opts?: pulumi.InvokeOpt */ export interface GetCockpitPlanArgs { /** - * The name of the plan. + * Name of the pricing plan you want to retrieve information about. */ name: string; } @@ -48,9 +54,15 @@ export interface GetCockpitPlanResult { readonly name: string; } /** - * Gets information about a Scaleway Cockpit plan. + * The `scaleway.getCockpitPlan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `scaleway.Cockpit`. + * + * Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + * + * Refer 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. + * + * ## Fetch and associate a pricing plan to a Cockpit * - * ## Example Usage + * The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -75,7 +87,7 @@ export function getCockpitPlanOutput(args: GetCockpitPlanOutputArgs, opts?: pulu */ export interface GetCockpitPlanOutputArgs { /** - * The name of the plan. + * Name of the pricing plan you want to retrieve information about. */ name: pulumi.Input; } diff --git a/sdk/nodejs/getDomainRecord.ts b/sdk/nodejs/getDomainRecord.ts index 287cae1e..125830cc 100644 --- a/sdk/nodejs/getDomainRecord.ts +++ b/sdk/nodejs/getDomainRecord.ts @@ -7,22 +7,29 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Gets information about a domain record. + * The `scaleway.DomainRecord` data source is used to get information about an existing domain record. * - * ## Example Usage + * Refer 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. + * + * ## Query domain records + * + * The following commands allow you to: + * + * - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + * - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get record by name, type and data + * // Query record by DNS zone, record name, type and content * const byContent = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * name: "www", * type: "A", * data: "1.2.3.4", * }); - * // Get info by ID + * // Query record by DNS zone and record ID * const byId = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * recordId: "11111111-1111-1111-1111-111111111111", @@ -47,31 +54,27 @@ export function getDomainRecord(args?: GetDomainRecordArgs, opts?: pulumi.Invoke */ export interface GetDomainRecordArgs { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - * Cannot be used with `recordId`. + * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data?: string; /** - * The IP address. + * The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. */ dnsZone?: string; /** - * The name of the record (can be an empty string for a root record). - * Cannot be used with `recordId`. + * The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. */ name?: string; /** - * `projectId`) The ID of the project the domain is associated with. + * ). The ID of the Project associated with the domain. */ projectId?: string; /** - * The record ID. - * Cannot be used with `name`, `type` and `data`. + * The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. */ recordId?: string; /** - * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - * Cannot be used with `recordId`. + * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. */ type?: string; } @@ -84,11 +87,11 @@ export interface GetDomainRecordResult { readonly dnsZone?: string; readonly fqdn: string; /** - * Dynamic record base on user geolocalisation (More information about dynamic records) + * Information about dynamic records based on user geolocation. Find out more about dynamic records. */ readonly geoIps: outputs.GetDomainRecordGeoIp[]; /** - * Dynamic record base on URL resolve (More information about dynamic records) + * Information about dynamic records based on URL resolution. Find out more about dynamic records. */ readonly httpServices: outputs.GetDomainRecordHttpService[]; /** @@ -98,43 +101,50 @@ export interface GetDomainRecordResult { readonly keepEmptyZone: boolean; readonly name?: string; /** - * The priority of the record (mostly used with an `MX` record) + * The priority of the record, mainly used with `MX` records. */ readonly priority: number; readonly projectId?: string; readonly recordId?: string; readonly rootZone: boolean; /** - * Time To Live of the record in seconds. + * The Time To Live (TTL) of the record in seconds. */ readonly ttl: number; readonly type?: string; /** - * Dynamic record based on the client’s (resolver) subnet (More information about dynamic records) + * Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. */ readonly views: outputs.GetDomainRecordView[]; /** - * Dynamic record base on IP weights (More information about dynamic records) + * Information about dynamic records based on IP weights. Find out more about dynamic records. */ readonly weighteds: outputs.GetDomainRecordWeighted[]; } /** - * Gets information about a domain record. + * The `scaleway.DomainRecord` data source is used to get information about an existing domain record. + * + * Refer 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. + * + * ## Query domain records + * + * The following commands allow you to: * - * ## Example Usage + * - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + * - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * - * // Get record by name, type and data + * // Query record by DNS zone, record name, type and content * const byContent = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * name: "www", * type: "A", * data: "1.2.3.4", * }); - * // Get info by ID + * // Query record by DNS zone and record ID * const byId = scaleway.getDomainRecord({ * dnsZone: "domain.tld", * recordId: "11111111-1111-1111-1111-111111111111", @@ -159,31 +169,27 @@ export function getDomainRecordOutput(args?: GetDomainRecordOutputArgs, opts?: p */ export interface GetDomainRecordOutputArgs { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - * Cannot be used with `recordId`. + * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data?: pulumi.Input; /** - * The IP address. + * The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. */ dnsZone?: pulumi.Input; /** - * The name of the record (can be an empty string for a root record). - * Cannot be used with `recordId`. + * The name of the record, which can be an empty string for a root record. Cannot be used with `recordId`. */ name?: pulumi.Input; /** - * `projectId`) The ID of the project the domain is associated with. + * ). The ID of the Project associated with the domain. */ projectId?: pulumi.Input; /** - * The record ID. - * Cannot be used with `name`, `type` and `data`. + * The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. */ recordId?: pulumi.Input; /** - * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - * Cannot be used with `recordId`. + * The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `recordId`. */ type?: pulumi.Input; } diff --git a/sdk/nodejs/getDomainZone.ts b/sdk/nodejs/getDomainZone.ts index 9e804aeb..28362b2c 100644 --- a/sdk/nodejs/getDomainZone.ts +++ b/sdk/nodejs/getDomainZone.ts @@ -4,22 +4,6 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; -/** - * Gets information about a domain zone. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumi/scaleway"; - * - * // Get zone - * const main = scaleway.getDomainZone({ - * domain: "scaleway-terraform.com", - * subdomain: "test", - * }); - * ``` - */ export function getDomainZone(args?: GetDomainZoneArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -34,11 +18,11 @@ export function getDomainZone(args?: GetDomainZoneArgs, opts?: pulumi.InvokeOpti */ export interface GetDomainZoneArgs { /** - * The domain where the DNS zone will be created. + * The primary domain name where the DNS zone is located. This is a mandatory field. */ domain?: string; /** - * The subdomain(zone name) to create in the domain. + * The subdomain (or zone name) within the primary domain. This is a mandatory field. */ subdomain?: string; } @@ -53,48 +37,32 @@ export interface GetDomainZoneResult { */ readonly id: string; /** - * Message + * Message associated with the domain zone (typically used for status or error messages). */ readonly message: string; /** - * NameServer list for zone. + * The list of name servers for the zone. */ readonly ns: string[]; /** - * NameServer default list for zone. + * The default list of name servers for the zone. */ readonly nsDefaults: string[]; /** - * NameServer master list for zone. + * The master list of name servers for the zone. */ readonly nsMasters: string[]; readonly projectId: string; /** - * The domain zone status. + * The status of the domain zone. */ readonly status: string; readonly subdomain?: string; /** - * The date and time of the last update of the DNS zone. + * The date and time of the last update to the DNS zone. */ readonly updatedAt: string; } -/** - * Gets information about a domain zone. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumi/scaleway"; - * - * // Get zone - * const main = scaleway.getDomainZone({ - * domain: "scaleway-terraform.com", - * subdomain: "test", - * }); - * ``` - */ export function getDomainZoneOutput(args?: GetDomainZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -109,11 +77,11 @@ export function getDomainZoneOutput(args?: GetDomainZoneOutputArgs, opts?: pulum */ export interface GetDomainZoneOutputArgs { /** - * The domain where the DNS zone will be created. + * The primary domain name where the DNS zone is located. This is a mandatory field. */ domain?: pulumi.Input; /** - * The subdomain(zone name) to create in the domain. + * The subdomain (or zone name) within the primary domain. This is a mandatory field. */ subdomain?: pulumi.Input; } diff --git a/sdk/nodejs/getMnqSns.ts b/sdk/nodejs/getMnqSns.ts new file mode 100644 index 00000000..00152391 --- /dev/null +++ b/sdk/nodejs/getMnqSns.ts @@ -0,0 +1,104 @@ +// *** 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 SNS for a Project + * + * ## Examples + * + * ### Basic + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumi/scaleway"; + * + * // For default project + * const main = scaleway.getMnqSns({}); + * // For specific project + * const forProject = scaleway.getMnqSns({ + * projectId: mainScalewayAccountProject.id, + * }); + * ``` + */ +export function getMnqSns(args?: GetMnqSnsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("scaleway:index/getMnqSns:getMnqSns", { + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getMnqSns. + */ +export interface GetMnqSnsArgs { + /** + * `projectId`) The ID of the Project in which sns is enabled. + */ + projectId?: string; + /** + * `region`). The region in which sns is enabled. + */ + region?: string; +} + +/** + * A collection of values returned by getMnqSns. + */ +export interface GetMnqSnsResult { + /** + * The endpoint of the SNS service for this Project. + */ + readonly endpoint: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly projectId?: string; + readonly region?: string; +} +/** + * Gets information about SNS for a Project + * + * ## Examples + * + * ### Basic + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumi/scaleway"; + * + * // For default project + * const main = scaleway.getMnqSns({}); + * // For specific project + * const forProject = scaleway.getMnqSns({ + * projectId: mainScalewayAccountProject.id, + * }); + * ``` + */ +export function getMnqSnsOutput(args?: GetMnqSnsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("scaleway:index/getMnqSns:getMnqSns", { + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getMnqSns. + */ +export interface GetMnqSnsOutputArgs { + /** + * `projectId`) The ID of the Project in which sns is enabled. + */ + projectId?: pulumi.Input; + /** + * `region`). The region in which sns is enabled. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getSecret.ts b/sdk/nodejs/getSecret.ts index 55dd8263..fff5e8e4 100644 --- a/sdk/nodejs/getSecret.ts +++ b/sdk/nodejs/getSecret.ts @@ -2,30 +2,40 @@ // *** 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"; /** - * Gets information about Scaleway Secrets. - * For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + * The `scaleway.Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. * - * ## Examples + * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. * - * ### Basic + * ## Example Usage + * + * ### Create a secret and get its information + * + * The following commands allow you to: + * + * - create a secret named `foo` with the description `barr` + * - retrieve the secret's information using the secret's ID + * - retrieve the secret's information using the secret's name * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * + * // Create a secret * const main = new scaleway.Secret("main", { * name: "foo", * description: "barr", * }); - * // Get info by secret ID + * // Get the secret information specified by the secret ID * const mySecret = scaleway.getSecret({ * secretId: "11111111-1111-1111-1111-111111111111", * }); - * // Get info by secret Name + * // Get the secret information specified by the secret name * const byName = scaleway.getSecret({ * name: "your_secret_name", * }); @@ -49,31 +59,30 @@ export function getSecret(args?: GetSecretArgs, opts?: pulumi.InvokeOptions): Pr */ export interface GetSecretArgs { /** - * The secret name. + * The name of the secret. * Only one of `name` and `secretId` should be specified. */ name?: string; /** - * The organization ID the Project is associated with. - * If no default organizationId is set, one must be set explicitly in this datasource + * The ID of the Scaleway Organization the Project is associated with. If no default `organizationId` is set, it must be set explicitly in this data source. */ organizationId?: string; /** - * The secret path. + * The path of the secret. * Conflicts with `secretId`. */ path?: string; /** - * `projectId`) The ID of the - * project the secret is associated with. + * ). The ID of the + * Project the secret is associated with. */ projectId?: string; /** - * `region`) The region in which the secret exists. + * ). The region in which the secret exists. */ region?: string; /** - * The secret id. + * The ID of the secret. * Only one of `name` and `secretId` should be specified. */ secretId?: string; @@ -85,6 +94,7 @@ export interface GetSecretArgs { export interface GetSecretResult { readonly createdAt: string; readonly description: string; + readonly ephemeralPolicies: outputs.GetSecretEphemeralPolicy[]; /** * The provider-assigned unique ID for this managed resource. */ @@ -93,35 +103,45 @@ export interface GetSecretResult { readonly organizationId: string; readonly path?: string; readonly projectId?: string; + readonly protected: boolean; readonly region?: string; readonly secretId?: string; readonly status: string; readonly tags: string[]; + readonly type: string; readonly updatedAt: string; readonly versionCount: number; } /** - * Gets information about Scaleway Secrets. - * For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + * The `scaleway.Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. + * + * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + * + * ## Example Usage + * + * ### Create a secret and get its information * - * ## Examples + * The following commands allow you to: * - * ### Basic + * - create a secret named `foo` with the description `barr` + * - retrieve the secret's information using the secret's ID + * - retrieve the secret's information using the secret's name * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * + * // Create a secret * const main = new scaleway.Secret("main", { * name: "foo", * description: "barr", * }); - * // Get info by secret ID + * // Get the secret information specified by the secret ID * const mySecret = scaleway.getSecret({ * secretId: "11111111-1111-1111-1111-111111111111", * }); - * // Get info by secret Name + * // Get the secret information specified by the secret name * const byName = scaleway.getSecret({ * name: "your_secret_name", * }); @@ -145,31 +165,30 @@ export function getSecretOutput(args?: GetSecretOutputArgs, opts?: pulumi.Invoke */ export interface GetSecretOutputArgs { /** - * The secret name. + * The name of the secret. * Only one of `name` and `secretId` should be specified. */ name?: pulumi.Input; /** - * The organization ID the Project is associated with. - * If no default organizationId is set, one must be set explicitly in this datasource + * The ID of the Scaleway Organization the Project is associated with. If no default `organizationId` is set, it must be set explicitly in this data source. */ organizationId?: pulumi.Input; /** - * The secret path. + * The path of the secret. * Conflicts with `secretId`. */ path?: pulumi.Input; /** - * `projectId`) The ID of the - * project the secret is associated with. + * ). The ID of the + * Project the secret is associated with. */ projectId?: pulumi.Input; /** - * `region`) The region in which the secret exists. + * ). The region in which the secret exists. */ region?: pulumi.Input; /** - * The secret id. + * The ID of the secret. * Only one of `name` and `secretId` should be specified. */ secretId?: pulumi.Input; diff --git a/sdk/nodejs/getSecretVersion.ts b/sdk/nodejs/getSecretVersion.ts index b1be8816..fb472e7f 100644 --- a/sdk/nodejs/getSecretVersion.ts +++ b/sdk/nodejs/getSecretVersion.ts @@ -5,31 +5,45 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Gets information about Scaleway a Secret Version. - * For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + * The `scaleway.SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. * - * ## Examples + * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. * - * ### Basic + * ## Example Usage + * + * ### Use Secret Manager + * + * The following commands allow you to: + * + * - create a secret named `fooii` + * - create a new version of `fooii` containing data (`yourSecret`) + * - retrieve the secret version specified by the secret ID and the desired version + * - retrieve the secret version specified by the secret name and the desired version + * + * The output blocks display the sensitive data contained in your secret version. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * + * // Create a secret named fooii * const main = new scaleway.Secret("main", { * name: "fooii", * description: "barr", * }); + * // Create a version of fooii containing data * const mainSecretVersion = new scaleway.SecretVersion("main", { * description: "your description", * secretId: main.id, * data: "your_secret", * }); + * // Retrieve the secret version specified by the secret ID and the desired version * const dataBySecretId = scaleway.getSecretVersionOutput({ * secretId: main.id, * revision: "1", * }); + * // Retrieve the secret version specified by the secret name and the desired version * const dataBySecretName = scaleway.getSecretVersionOutput({ * secretName: main.name, * revision: "1", @@ -38,19 +52,20 @@ import * as utilities from "./utilities"; * export const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId => dataBySecretId.data); * ``` * - * ## Data + * ## Data information * - * Note: This Data Source give you **access** to the secret payload encoded en base64. + * Note: This data source provides you with access to the secret payload, which is encoded in base64. * - * Be aware that this is a sensitive attribute. For more information, + * Keep in mind that this is a sensitive attribute. For more information, * see Sensitive Data in State. * - * > **Important:** This property is sensitive and will not be displayed in the plan. + * > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. */ export function getSecretVersion(args?: GetSecretVersionArgs, opts?: pulumi.InvokeOptions): Promise { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("scaleway:index/getSecretVersion:getSecretVersion", { + "organizationId": args.organizationId, "projectId": args.projectId, "region": args.region, "revision": args.revision, @@ -63,26 +78,22 @@ export function getSecretVersion(args?: GetSecretVersionArgs, opts?: pulumi.Invo * A collection of arguments for invoking getSecretVersion. */ export interface GetSecretVersionArgs { + organizationId?: string; /** - * The ID of the project the Secret version is associated with. + * The ID of the Scaleway Project associated with the secret version. */ projectId?: string; - /** - * `region`) The region - * in which the resource exists. - */ region?: string; /** - * The revision for this Secret Version. + * The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) */ revision?: string; /** - * The Secret ID associated wit the secret version. - * Only one of `secretId` and `secretName` should be specified. + * The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified. */ secretId?: string; /** - * The Name of Secret associated wit the secret version. + * The name of the secret associated with the secret version. * Only one of `secretId` and `secretName` should be specified. */ secretName?: string; @@ -93,61 +104,76 @@ export interface GetSecretVersionArgs { */ export interface GetSecretVersionResult { /** - * Date and time of secret version's creation (RFC 3339 format). + * The date and time of the secret version's creation in RFC 3339 format. */ readonly createdAt: string; /** - * The data payload of the secret version. more on the data section + * The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information). */ readonly data: string; /** - * (Optional) Description of the secret version (e.g. `my-new-description`). + * (Optional) The description of the secret version (e.g. `my-new-description`). */ readonly description: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; + readonly organizationId: string; readonly projectId?: string; readonly region?: string; readonly revision?: string; readonly secretId?: string; readonly secretName?: string; /** - * The status of the Secret Version. + * The status of the secret version. */ readonly status: string; /** - * Date and time of secret version's last update (RFC 3339 format). + * The date and time of the secret version's last update in RFC 3339 format. */ readonly updatedAt: string; } /** - * Gets information about Scaleway a Secret Version. - * For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + * The `scaleway.SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. * - * ## Examples + * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. * - * ### Basic + * ## Example Usage + * + * ### Use Secret Manager + * + * The following commands allow you to: + * + * - create a secret named `fooii` + * - create a new version of `fooii` containing data (`yourSecret`) + * - retrieve the secret version specified by the secret ID and the desired version + * - retrieve the secret version specified by the secret name and the desired version + * + * The output blocks display the sensitive data contained in your secret version. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * + * // Create a secret named fooii * const main = new scaleway.Secret("main", { * name: "fooii", * description: "barr", * }); + * // Create a version of fooii containing data * const mainSecretVersion = new scaleway.SecretVersion("main", { * description: "your description", * secretId: main.id, * data: "your_secret", * }); + * // Retrieve the secret version specified by the secret ID and the desired version * const dataBySecretId = scaleway.getSecretVersionOutput({ * secretId: main.id, * revision: "1", * }); + * // Retrieve the secret version specified by the secret name and the desired version * const dataBySecretName = scaleway.getSecretVersionOutput({ * secretName: main.name, * revision: "1", @@ -156,19 +182,20 @@ export interface GetSecretVersionResult { * export const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId => dataBySecretId.data); * ``` * - * ## Data + * ## Data information * - * Note: This Data Source give you **access** to the secret payload encoded en base64. + * Note: This data source provides you with access to the secret payload, which is encoded in base64. * - * Be aware that this is a sensitive attribute. For more information, + * Keep in mind that this is a sensitive attribute. For more information, * see Sensitive Data in State. * - * > **Important:** This property is sensitive and will not be displayed in the plan. + * > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. */ export function getSecretVersionOutput(args?: GetSecretVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getSecretVersion:getSecretVersion", { + "organizationId": args.organizationId, "projectId": args.projectId, "region": args.region, "revision": args.revision, @@ -181,26 +208,22 @@ export function getSecretVersionOutput(args?: GetSecretVersionOutputArgs, opts?: * A collection of arguments for invoking getSecretVersion. */ export interface GetSecretVersionOutputArgs { + organizationId?: pulumi.Input; /** - * The ID of the project the Secret version is associated with. + * The ID of the Scaleway Project associated with the secret version. */ projectId?: pulumi.Input; - /** - * `region`) The region - * in which the resource exists. - */ region?: pulumi.Input; /** - * The revision for this Secret Version. + * The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) */ revision?: pulumi.Input; /** - * The Secret ID associated wit the secret version. - * Only one of `secretId` and `secretName` should be specified. + * The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified. */ secretId?: pulumi.Input; /** - * The Name of Secret associated wit the secret version. + * The name of the secret associated with the secret version. * Only one of `secretId` and `secretName` should be specified. */ secretName?: pulumi.Input; diff --git a/sdk/nodejs/iamPolicy.ts b/sdk/nodejs/iamPolicy.ts index 8915d01c..30690fd2 100644 --- a/sdk/nodejs/iamPolicy.ts +++ b/sdk/nodejs/iamPolicy.ts @@ -53,6 +53,30 @@ import * as utilities from "./utilities"; * }); * ``` * + * ### Create a policy with a particular condition + * + * IAM policy rule can use a condition to be applied. + * The following variables are available: + * + * - `request.ip` + * - `request.user_agent` + * - `request.time` + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const main = new scaleway.IamPolicy("main", { + * name: "tf_tests_policy_condition", + * noPrincipal: true, + * rules: [{ + * organizationId: "%s", + * permissionSetNames: ["AllProductsFullAccess"], + * condition: "request.user_agent == 'My User Agent'", + * }], + * }); + * ``` + * * ## Import * * Policies can be imported using the `{id}`, e.g. diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index cef67761..f7098ef2 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -525,6 +525,11 @@ export const getMarketplaceImage: typeof import("./getMarketplaceImage").getMark export const getMarketplaceImageOutput: typeof import("./getMarketplaceImage").getMarketplaceImageOutput = null as any; utilities.lazyLoad(exports, ["getMarketplaceImage","getMarketplaceImageOutput"], () => require("./getMarketplaceImage")); +export { GetMnqSnsArgs, GetMnqSnsResult, GetMnqSnsOutputArgs } from "./getMnqSns"; +export const getMnqSns: typeof import("./getMnqSns").getMnqSns = null as any; +export const getMnqSnsOutput: typeof import("./getMnqSns").getMnqSnsOutput = null as any; +utilities.lazyLoad(exports, ["getMnqSns","getMnqSnsOutput"], () => require("./getMnqSns")); + export { GetMnqSqsArgs, GetMnqSqsResult, GetMnqSqsOutputArgs } from "./getMnqSqs"; export const getMnqSqs: typeof import("./getMnqSqs").getMnqSqs = null as any; export const getMnqSqsOutput: typeof import("./getMnqSqs").getMnqSqsOutput = null as any; @@ -915,6 +920,11 @@ export type TemDomainValidation = import("./temDomainValidation").TemDomainValid export const TemDomainValidation: typeof import("./temDomainValidation").TemDomainValidation = null as any; utilities.lazyLoad(exports, ["TemDomainValidation"], () => require("./temDomainValidation")); +export { TemWebhookArgs, TemWebhookState } from "./temWebhook"; +export type TemWebhook = import("./temWebhook").TemWebhook; +export const TemWebhook: typeof import("./temWebhook").TemWebhook = null as any; +utilities.lazyLoad(exports, ["TemWebhook"], () => require("./temWebhook")); + export { VpcArgs, VpcState } from "./vpc"; export type Vpc = import("./vpc").Vpc; export const Vpc: typeof import("./vpc").Vpc = null as any; @@ -1171,6 +1181,8 @@ const _module = { return new TemDomain(name, undefined, { urn }) case "scaleway:index/temDomainValidation:TemDomainValidation": return new TemDomainValidation(name, undefined, { urn }) + case "scaleway:index/temWebhook:TemWebhook": + return new TemWebhook(name, undefined, { urn }) case "scaleway:index/vpc:Vpc": return new Vpc(name, undefined, { urn }) case "scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork": @@ -1292,6 +1304,7 @@ pulumi.runtime.registerResourceModule("scaleway", "index/secret", _module) pulumi.runtime.registerResourceModule("scaleway", "index/secretVersion", _module) pulumi.runtime.registerResourceModule("scaleway", "index/temDomain", _module) pulumi.runtime.registerResourceModule("scaleway", "index/temDomainValidation", _module) +pulumi.runtime.registerResourceModule("scaleway", "index/temWebhook", _module) pulumi.runtime.registerResourceModule("scaleway", "index/vpc", _module) pulumi.runtime.registerResourceModule("scaleway", "index/vpcGatewayNetwork", _module) pulumi.runtime.registerResourceModule("scaleway", "index/vpcPrivateNetwork", _module) diff --git a/sdk/nodejs/instanceServer.ts b/sdk/nodejs/instanceServer.ts index 2fa66a96..8422e457 100644 --- a/sdk/nodejs/instanceServer.ts +++ b/sdk/nodejs/instanceServer.ts @@ -228,6 +228,8 @@ export class InstanceServer extends pulumi.CustomResource { public readonly bootType!: pulumi.Output; /** * The ID of the bootscript to use (set bootType to `bootscript`). + * + * @deprecated bootscript is not supported anymore. */ public readonly bootscriptId!: pulumi.Output; /** @@ -240,6 +242,9 @@ export class InstanceServer extends pulumi.CustomResource { public readonly enableDynamicIp!: pulumi.Output; /** * Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ public readonly enableIpv6!: pulumi.Output; /** @@ -263,14 +268,21 @@ export class InstanceServer extends pulumi.CustomResource { public readonly ipIds!: pulumi.Output; /** * The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ public /*out*/ readonly ipv6Address!: pulumi.Output; /** * The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ public /*out*/ readonly ipv6Gateway!: pulumi.Output; /** * The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. */ public /*out*/ readonly ipv6PrefixLength!: pulumi.Output; /** @@ -306,7 +318,9 @@ export class InstanceServer extends pulumi.CustomResource { */ public readonly projectId!: pulumi.Output; /** - * The public IP address of the server. + * The public IP address of the server (Deprecated use `publicIps` instead). + * + * @deprecated Use publicIps instead */ public /*out*/ readonly publicIp!: pulumi.Output; /** @@ -465,6 +479,8 @@ export interface InstanceServerState { bootType?: pulumi.Input; /** * The ID of the bootscript to use (set bootType to `bootscript`). + * + * @deprecated bootscript is not supported anymore. */ bootscriptId?: pulumi.Input; /** @@ -477,6 +493,9 @@ export interface InstanceServerState { enableDynamicIp?: pulumi.Input; /** * Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ enableIpv6?: pulumi.Input; /** @@ -500,14 +519,21 @@ export interface InstanceServerState { ipIds?: pulumi.Input[]>; /** * The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ ipv6Address?: pulumi.Input; /** * The ipv6 gateway address. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ ipv6Gateway?: pulumi.Input; /** * The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true ) + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. */ ipv6PrefixLength?: pulumi.Input; /** @@ -543,7 +569,9 @@ export interface InstanceServerState { */ projectId?: pulumi.Input; /** - * The public IP address of the server. + * The public IP address of the server (Deprecated use `publicIps` instead). + * + * @deprecated Use publicIps instead */ publicIp?: pulumi.Input; /** @@ -619,6 +647,8 @@ export interface InstanceServerArgs { bootType?: pulumi.Input; /** * The ID of the bootscript to use (set bootType to `bootscript`). + * + * @deprecated bootscript is not supported anymore. */ bootscriptId?: pulumi.Input; /** @@ -631,6 +661,9 @@ export interface InstanceServerArgs { enableDynamicIp?: pulumi.Input; /** * Determines if IPv6 is enabled for the server. Useful only with `routedIpEnabled` as false, otherwise ipv6 is always supported. + * Deprecated: Please use a scaleway.InstanceIp with a `routedIpv6` type. + * + * @deprecated Please use a scaleway.InstanceIp with a `routedIpv6` type */ enableIpv6?: pulumi.Input; /** diff --git a/sdk/nodejs/loadbalancerFrontend.ts b/sdk/nodejs/loadbalancerFrontend.ts index b449b1e6..e165b2a6 100644 --- a/sdk/nodejs/loadbalancerFrontend.ts +++ b/sdk/nodejs/loadbalancerFrontend.ts @@ -165,7 +165,7 @@ export class LoadbalancerFrontend extends pulumi.CustomResource { */ public readonly backendId!: pulumi.Output; /** - * (Deprecated) First certificate ID used by the frontend. + * (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. * * @deprecated Please use certificate_ids */ @@ -267,7 +267,7 @@ export interface LoadbalancerFrontendState { */ backendId?: pulumi.Input; /** - * (Deprecated) First certificate ID used by the frontend. + * (Deprecated, use `certificateIds` instead) First certificate ID used by the frontend. * * @deprecated Please use certificate_ids */ diff --git a/sdk/nodejs/package-lock.json b/sdk/nodejs/package-lock.json deleted file mode 100644 index 3b854bb1..00000000 --- a/sdk/nodejs/package-lock.json +++ /dev/null @@ -1,3303 +0,0 @@ -{ - "name": "@pulumiverse/scaleway", - "version": "1.0.0-alpha.0+dev", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@pulumiverse/scaleway", - "version": "1.0.0-alpha.0+dev", - "license": "Apache-2.0", - "dependencies": { - "@pulumi/pulumi": "^3.0.0" - }, - "devDependencies": { - "@types/mime": "^2.0.0", - "@types/node": "^10.0.0", - "typescript": "^4.3.5" - } - }, - "node_modules/@grpc/grpc-js": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.2.tgz", - "integrity": "sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/proto-loader": "^0.7.13", - "@js-sdsl/ordered-map": "^4.4.2" - }, - "engines": { - "node": ">=12.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", - "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", - "license": "Apache-2.0", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/string-locale-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", - "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", - "license": "ISC" - }, - "node_modules/@js-sdsl/ordered-map": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", - "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "node_modules/@logdna/tail-file": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.2.0.tgz", - "integrity": "sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==", - "license": "SEE LICENSE IN LICENSE", - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/arborist": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", - "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", - "license": "ISC", - "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", - "json-stringify-nice": "^1.1.4", - "lru-cache": "^10.2.2", - "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^10.0.6", - "treeverse": "^3.0.0", - "walk-up-path": "^3.0.1" - }, - "bin": { - "arborist": "bin/index.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", - "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", - "license": "ISC", - "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/map-workspaces": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz", - "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==", - "license": "ISC", - "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", - "glob": "^10.2.2", - "minimatch": "^9.0.0", - "read-package-json-fast": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", - "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", - "license": "ISC", - "dependencies": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", - "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.1.tgz", - "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==", - "license": "ISC", - "dependencies": { - "@npmcli/git": "^5.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", - "license": "ISC", - "dependencies": { - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/query": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", - "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", - "license": "ISC", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", - "license": "ISC", - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", - "license": "Apache-2.0", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/api-logs": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz", - "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.27.0.tgz", - "integrity": "sha512-CdZ3qmHCwNhFAzjTgHqrDQ44Qxcpz43cVxZRhOs+Ns/79ug+Mr84Bkb626bkJLkA3+BLimA5YAEVRlJC6pFb7g==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/core": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.27.0.tgz", - "integrity": "sha512-yQPKnK5e+76XuiqUH/gKyS8wv/7qITd5ln56QkBTf3uggr0VkXOXfcaAuG330UfdYu83wsyoBwqwxigpIG+Jkg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/semantic-conventions": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/exporter-zipkin": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.27.0.tgz", - "integrity": "sha512-eGMY3s4QprspFZojqsuQyQpWNFpo+oNVE/aosTbtvAlrJBAlvXcwwsOROOHOd8Y9lkU4i0FpQW482rcXkgwCSw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.27.0", - "@opentelemetry/resources": "1.27.0", - "@opentelemetry/sdk-trace-base": "1.27.0", - "@opentelemetry/semantic-conventions": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz", - "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.52.1", - "@types/shimmer": "^1.0.2", - "import-in-the-middle": "^1.8.1", - "require-in-the-middle": "^7.1.1", - "semver": "^7.5.2", - "shimmer": "^1.2.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-grpc": { - "version": "0.52.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz", - "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "0.52.1", - "@opentelemetry/semantic-conventions": "1.25.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz", - "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/propagator-b3": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.27.0.tgz", - "integrity": "sha512-pTsko3gnMioe3FeWcwTQR3omo5C35tYsKKwjgTCTVCgd3EOWL9BZrMfgLBmszrwXABDfUrlAEFN/0W0FfQGynQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/propagator-jaeger": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.27.0.tgz", - "integrity": "sha512-EI1bbK0wn0yIuKlc2Qv2LKBRw6LiUWevrjCF80fn/rlaB+7StAi8Y5s8DBqAYNpY7v1q86+NjU18v7hj2ejU3A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/resources": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.27.0.tgz", - "integrity": "sha512-jOwt2VJ/lUD5BLc+PMNymDrUCpm5PKi1E9oSVYAvz01U/VdndGmrtV3DU1pG4AwlYhJRHbHfOUIlpBeXCPw6QQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.27.0", - "@opentelemetry/semantic-conventions": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.27.0.tgz", - "integrity": "sha512-btz6XTQzwsyJjombpeqCX6LhiMQYpzt2pIYNPnw0IPO/3AhT6yjnf8Mnv3ZC2A4eRYOjqrg+bfaXg9XHDRJDWQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.27.0", - "@opentelemetry/resources": "1.27.0", - "@opentelemetry/semantic-conventions": "1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-node": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.27.0.tgz", - "integrity": "sha512-dWZp/dVGdUEfRBjBq2BgNuBlFqHCxyyMc8FsN0NX15X07mxSUO0SZRLyK/fdAVrde8nqFI/FEdMH4rgU9fqJfQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/context-async-hooks": "1.27.0", - "@opentelemetry/core": "1.27.0", - "@opentelemetry/propagator-b3": "1.27.0", - "@opentelemetry/propagator-jaeger": "1.27.0", - "@opentelemetry/sdk-trace-base": "1.27.0", - "semver": "^7.5.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz", - "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@pulumi/pulumi": { - "version": "3.137.0", - "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.137.0.tgz", - "integrity": "sha512-YgvcPKxuE3X1Yi93W2qZuM43nELT1FEvz7J5IK1hAJPo+v9m2oAh5Vag1lNDPjM0+y7WDfFe0ODI+2way3quRw==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/grpc-js": "^1.10.1", - "@logdna/tail-file": "^2.0.6", - "@npmcli/arborist": "^7.3.1", - "@opentelemetry/api": "^1.9", - "@opentelemetry/exporter-zipkin": "^1.25", - "@opentelemetry/instrumentation": "^0.52", - "@opentelemetry/instrumentation-grpc": "^0.52", - "@opentelemetry/resources": "^1.25", - "@opentelemetry/sdk-trace-base": "^1.25", - "@opentelemetry/sdk-trace-node": "^1.25", - "@opentelemetry/semantic-conventions": "^1.25", - "@pulumi/query": "^0.3.0", - "@types/google-protobuf": "^3.15.5", - "@types/semver": "^7.5.6", - "@types/tmp": "^0.2.6", - "execa": "^5.1.0", - "fdir": "^6.1.1", - "google-protobuf": "^3.5.0", - "got": "^11.8.6", - "ini": "^2.0.0", - "js-yaml": "^3.14.0", - "minimist": "^1.2.6", - "normalize-package-data": "^6.0.0", - "picomatch": "^3.0.1", - "pkg-dir": "^7.0.0", - "require-from-string": "^2.0.1", - "semver": "^7.5.2", - "source-map-support": "^0.5.6", - "tmp": "^0.2.1", - "upath": "^1.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "ts-node": ">= 7.0.1 < 12", - "typescript": ">= 3.8.3 < 6" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/@pulumi/query": { - "version": "v0.3.0", - "license": "Apache-2.0" - }, - "node_modules/@sigstore/bundle": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", - "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", - "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", - "license": "Apache-2.0", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", - "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", - "license": "Apache-2.0", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", - "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", - "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/verify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", - "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", - "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", - "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "node_modules/@types/cacheable-request/node_modules/@types/node": { - "version": "22.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", - "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" - } - }, - "node_modules/@types/google-protobuf": { - "version": "3.15.12", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.12.tgz", - "integrity": "sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/keyv/node_modules/@types/node": { - "version": "22.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", - "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" - } - }, - "node_modules/@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/responselike/node_modules/@types/node": { - "version": "22.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", - "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" - } - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "license": "MIT" - }, - "node_modules/@types/shimmer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==", - "license": "MIT" - }, - "node_modules/@types/tmp": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", - "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", - "license": "MIT" - }, - "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/bin-links": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz", - "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==", - "license": "ISC", - "dependencies": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/cacache": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "license": "MIT", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", - "license": "MIT" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clone-response/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/cmd-shim": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz", - "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "license": "ISC" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "license": "MIT" - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "license": "Apache-2.0" - }, - "node_modules/fdir": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", - "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/google-protobuf": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", - "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==", - "license": "(BSD-3-Clause AND Apache-2.0)" - }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore-walk": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", - "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", - "license": "ISC", - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/import-in-the-middle": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.11.2.tgz", - "integrity": "sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA==", - "license": "Apache-2.0", - "dependencies": { - "acorn": "^8.8.2", - "acorn-import-attributes": "^1.9.5", - "cjs-module-lexer": "^1.2.2", - "module-details-from-path": "^1.0.3" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "license": "MIT" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", - "license": "MIT", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/json-stringify-nice": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", - "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/just-diff": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", - "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", - "license": "MIT" - }, - "node_modules/just-diff-apply": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", - "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, - "node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "license": "Apache-2.0" - }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/module-details-from-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", - "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==", - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-gyp": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", - "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", - "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", - "license": "ISC", - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/normalize-package-data": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", - "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^7.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-bundled": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", - "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", - "license": "ISC", - "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", - "license": "ISC", - "dependencies": { - "ignore-walk": "^6.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", - "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", - "license": "ISC", - "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", - "license": "ISC", - "dependencies": { - "@npmcli/redact": "^2.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" - }, - "node_modules/pacote": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", - "license": "ISC", - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/parse-conflict-json": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", - "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/proggy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz", - "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/promise-call-limit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.2.tgz", - "integrity": "sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==", - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "license": "ISC" - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/protobufjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", - "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/protobufjs/node_modules/@types/node": { - "version": "22.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz", - "integrity": "sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.8" - } - }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-cmd-shim": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", - "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-in-the-middle": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz", - "integrity": "sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT", - "optional": true - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", - "license": "BSD-2-Clause" - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sigstore": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", - "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", - "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", - "license": "CC0-1.0" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/treeverse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", - "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/tuf-js": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", - "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", - "license": "MIT", - "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "license": "MIT" - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/walk-up-path": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", - "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==", - "license": "ISC" - }, - "node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/sdk/nodejs/secret.ts b/sdk/nodejs/secret.ts index b81dae7d..9f2902a5 100644 --- a/sdk/nodejs/secret.ts +++ b/sdk/nodejs/secret.ts @@ -2,33 +2,14 @@ // *** 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 Secrets. - * For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/). - * - * ## Example Usage - * - * ### Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const main = new scaleway.Secret("main", { - * name: "foo", - * description: "barr", - * tags: [ - * "foo", - * "terraform", - * ], - * }); - * ``` - * * ## Import * - * The Secret can be imported using the `{region}/{id}`, e.g. + * This section explains how to import a secret using the `{region}/{id}` format. * * bash * @@ -65,13 +46,17 @@ export class Secret extends pulumi.CustomResource { } /** - * Date and time of secret's creation (RFC 3339 format). + * Date and time of the secret's creation (in RFC 3339 format). */ public /*out*/ readonly createdAt!: pulumi.Output; /** * Description of the secret (e.g. `my-new-description`). */ public readonly description!: pulumi.Output; + /** + * Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + */ + public readonly ephemeralPolicies!: pulumi.Output; /** * Name of the secret (e.g. `my-secret`). */ @@ -84,13 +69,17 @@ export class Secret extends pulumi.CustomResource { * The project ID containing is the secret. */ public readonly projectId!: pulumi.Output; + /** + * True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + */ + public readonly protected!: pulumi.Output; /** * `region`) The region * in which the resource exists. */ public readonly region!: pulumi.Output; /** - * The status of the Secret. + * The status of the secret. */ public /*out*/ readonly status!: pulumi.Output; /** @@ -98,11 +87,15 @@ export class Secret extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output; /** - * Date and time of secret's last update (RFC 3339 format). + * Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + */ + public readonly type!: pulumi.Output; + /** + * Date and time of the secret's last update (in RFC 3339 format). */ public /*out*/ readonly updatedAt!: pulumi.Output; /** - * The number of versions for this Secret. + * The amount of secret versions. */ public /*out*/ readonly versionCount!: pulumi.Output; @@ -121,22 +114,28 @@ export class Secret extends pulumi.CustomResource { const state = argsOrState as SecretState | undefined; resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ephemeralPolicies"] = state ? state.ephemeralPolicies : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["path"] = state ? state.path : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; + resourceInputs["protected"] = state ? state.protected : undefined; resourceInputs["region"] = state ? state.region : undefined; resourceInputs["status"] = state ? state.status : undefined; resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["type"] = state ? state.type : undefined; resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; resourceInputs["versionCount"] = state ? state.versionCount : undefined; } else { const args = argsOrState as SecretArgs | undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ephemeralPolicies"] = args ? args.ephemeralPolicies : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["path"] = args ? args.path : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; + resourceInputs["protected"] = args ? args.protected : undefined; resourceInputs["region"] = args ? args.region : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["updatedAt"] = undefined /*out*/; @@ -152,13 +151,17 @@ export class Secret extends pulumi.CustomResource { */ export interface SecretState { /** - * Date and time of secret's creation (RFC 3339 format). + * Date and time of the secret's creation (in RFC 3339 format). */ createdAt?: pulumi.Input; /** * Description of the secret (e.g. `my-new-description`). */ description?: pulumi.Input; + /** + * Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + */ + ephemeralPolicies?: pulumi.Input[]>; /** * Name of the secret (e.g. `my-secret`). */ @@ -171,13 +174,17 @@ export interface SecretState { * The project ID containing is the secret. */ projectId?: pulumi.Input; + /** + * True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + */ + protected?: pulumi.Input; /** * `region`) The region * in which the resource exists. */ region?: pulumi.Input; /** - * The status of the Secret. + * The status of the secret. */ status?: pulumi.Input; /** @@ -185,11 +192,15 @@ export interface SecretState { */ tags?: pulumi.Input[]>; /** - * Date and time of secret's last update (RFC 3339 format). + * Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + */ + type?: pulumi.Input; + /** + * Date and time of the secret's last update (in RFC 3339 format). */ updatedAt?: pulumi.Input; /** - * The number of versions for this Secret. + * The amount of secret versions. */ versionCount?: pulumi.Input; } @@ -202,6 +213,10 @@ export interface SecretArgs { * Description of the secret (e.g. `my-new-description`). */ description?: pulumi.Input; + /** + * Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + */ + ephemeralPolicies?: pulumi.Input[]>; /** * Name of the secret (e.g. `my-secret`). */ @@ -214,6 +229,10 @@ export interface SecretArgs { * The project ID containing is the secret. */ projectId?: pulumi.Input; + /** + * True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + */ + protected?: pulumi.Input; /** * `region`) The region * in which the resource exists. @@ -223,4 +242,8 @@ export interface SecretArgs { * Tags of the secret (e.g. `["tag", "secret"]`). */ tags?: pulumi.Input[]>; + /** + * Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + */ + type?: pulumi.Input; } diff --git a/sdk/nodejs/secretVersion.ts b/sdk/nodejs/secretVersion.ts index f634d6cd..5c36dbbb 100644 --- a/sdk/nodejs/secretVersion.ts +++ b/sdk/nodejs/secretVersion.ts @@ -5,12 +5,18 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Creates and manages Scaleway Secret Versions. - * For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501). + * The `scaleway.SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager. + * + * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. * * ## Example Usage * - * ### Basic + * ### Create a secret and a version + * + * The following commands allow you to: + * + * - create a secret named `foo` + * - create a version of this secret containing the `myNewSecret` data * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -33,9 +39,9 @@ import * as utilities from "./utilities"; * * ## Import * - * The Secret Version can be imported using the `{region}/{id}/{revision}`, e.g. + * This section explains how to import a secret version using the `{region}/{id}/{revision}` format. * - * ~> **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before. + * ~> **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using. * * bash * @@ -72,11 +78,11 @@ export class SecretVersion extends pulumi.CustomResource { } /** - * Date and time of secret version's creation (RFC 3339 format). + * The date and time of the secret version's creation (in RFC 3339 format). */ public /*out*/ readonly createdAt!: pulumi.Output; /** - * The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + * The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). */ public readonly data!: pulumi.Output; /** @@ -84,24 +90,23 @@ export class SecretVersion extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * `region`) The region - * in which the resource exists. + * ). The region where the resource exists. */ public readonly region!: pulumi.Output; /** - * The revision for this Secret Version. + * The revision number of the secret version. */ public /*out*/ readonly revision!: pulumi.Output; /** - * The Secret ID associated wit the secret version. + * The ID of the secret associated with the version. */ public readonly secretId!: pulumi.Output; /** - * The status of the Secret Version. + * The status of the secret version. */ public /*out*/ readonly status!: pulumi.Output; /** - * Date and time of secret version's last update (RFC 3339 format). + * The date and time of the secret version's last update (in RFC 3339 format). */ public /*out*/ readonly updatedAt!: pulumi.Output; @@ -155,11 +160,11 @@ export class SecretVersion extends pulumi.CustomResource { */ export interface SecretVersionState { /** - * Date and time of secret version's creation (RFC 3339 format). + * The date and time of the secret version's creation (in RFC 3339 format). */ createdAt?: pulumi.Input; /** - * The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + * The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). */ data?: pulumi.Input; /** @@ -167,24 +172,23 @@ export interface SecretVersionState { */ description?: pulumi.Input; /** - * `region`) The region - * in which the resource exists. + * ). The region where the resource exists. */ region?: pulumi.Input; /** - * The revision for this Secret Version. + * The revision number of the secret version. */ revision?: pulumi.Input; /** - * The Secret ID associated wit the secret version. + * The ID of the secret associated with the version. */ secretId?: pulumi.Input; /** - * The status of the Secret Version. + * The status of the secret version. */ status?: pulumi.Input; /** - * Date and time of secret version's last update (RFC 3339 format). + * The date and time of the secret version's last update (in RFC 3339 format). */ updatedAt?: pulumi.Input; } @@ -194,7 +198,7 @@ export interface SecretVersionState { */ export interface SecretVersionArgs { /** - * The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + * The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). */ data: pulumi.Input; /** @@ -202,12 +206,11 @@ export interface SecretVersionArgs { */ description?: pulumi.Input; /** - * `region`) The region - * in which the resource exists. + * ). The region where the resource exists. */ region?: pulumi.Input; /** - * The Secret ID associated wit the secret version. + * The ID of the secret associated with the version. */ secretId: pulumi.Input; } diff --git a/sdk/nodejs/temDomain.ts b/sdk/nodejs/temDomain.ts index 831d2675..621eff6b 100644 --- a/sdk/nodejs/temDomain.ts +++ b/sdk/nodejs/temDomain.ts @@ -120,7 +120,9 @@ export class TemDomain extends pulumi.CustomResource { */ public /*out*/ readonly dmarcName!: pulumi.Output; /** - * The error message if the last check failed. + * (Deprecated) The error message if the last check failed. + * + * @deprecated last_error is deprecated */ public /*out*/ readonly lastError!: pulumi.Output; /** @@ -289,7 +291,9 @@ export interface TemDomainState { */ dmarcName?: pulumi.Input; /** - * The error message if the last check failed. + * (Deprecated) The error message if the last check failed. + * + * @deprecated last_error is deprecated */ lastError?: pulumi.Input; /** diff --git a/sdk/nodejs/temWebhook.ts b/sdk/nodejs/temWebhook.ts new file mode 100644 index 00000000..0b54d7a7 --- /dev/null +++ b/sdk/nodejs/temWebhook.ts @@ -0,0 +1,287 @@ +// *** 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 Transactional Email Webhooks. + * For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email). + * + * ## Example Usage + * + * ### Basic + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const main = new scaleway.TemWebhook("main", { + * domainId: "your-domain-id", + * eventTypes: [ + * "email_delivered", + * "email_bounced", + * ], + * snsArn: "arn:scw:sns:fr-par:project-xxxx:your-sns-topic", + * name: "example-webhook", + * }); + * ``` + * + * ### Complete Example with Dependencies + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const config = new pulumi.Config(); + * const domainName = config.require("domainName"); + * const sns = new scaleway.MnqSns("sns", {}); + * const snsCredentials = new scaleway.MnqSnsCredentials("sns_credentials", {permissions: { + * canManage: true, + * }}); + * const snsTopic = new scaleway.MnqSnsTopic("sns_topic", { + * name: "test-mnq-sns-topic-basic", + * accessKey: snsCredentials.accessKey, + * secretKey: snsCredentials.secretKey, + * }); + * const cr01 = new scaleway.TemDomain("cr01", { + * name: domainName, + * acceptTos: true, + * }); + * const spf = new scaleway.DomainRecord("spf", { + * dnsZone: domainName, + * type: "TXT", + * data: pulumi.interpolate`v=spf1 ${cr01.spfConfig} -all`, + * }); + * const dkim = new scaleway.DomainRecord("dkim", { + * dnsZone: domainName, + * name: pulumi.interpolate`${cr01.projectId}._domainkey`, + * type: "TXT", + * data: cr01.dkimConfig, + * }); + * const mx = new scaleway.DomainRecord("mx", { + * dnsZone: domainName, + * type: "MX", + * data: ".", + * }); + * const dmarc = new scaleway.DomainRecord("dmarc", { + * dnsZone: domainName, + * name: cr01.dmarcName, + * type: "TXT", + * data: cr01.dmarcConfig, + * }); + * const valid = new scaleway.TemDomainValidation("valid", { + * domainId: cr01.id, + * region: cr01.region, + * timeout: 3600, + * }); + * const webhook = new scaleway.TemWebhook("webhook", { + * name: "example-webhook", + * domainId: cr01.id, + * eventTypes: [ + * "email_delivered", + * "email_bounced", + * ], + * snsArn: snsTopic.arn, + * }, { + * dependsOn: [ + * valid, + * snsTopic, + * ], + * }); + * ``` + * + * ## Import + * + * Webhooks can be imported using the {region}/{id}, e.g. + * + * bash + * + * ```sh + * $ pulumi import scaleway:index/temWebhook:TemWebhook main fr-par/11111111-1111-1111-1111-111111111111 + * ``` + */ +export class TemWebhook extends pulumi.CustomResource { + /** + * Get an existing TemWebhook 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?: TemWebhookState, opts?: pulumi.CustomResourceOptions): TemWebhook { + return new TemWebhook(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'scaleway:index/temWebhook:TemWebhook'; + + /** + * Returns true if the given object is an instance of TemWebhook. 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 TemWebhook { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TemWebhook.__pulumiType; + } + + /** + * The date and time of the webhook's creation (RFC 3339 format). + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The ID of the domain the webhook is associated with. + */ + public readonly domainId!: pulumi.Output; + /** + * A list of event types that trigger the webhook. + */ + public readonly eventTypes!: pulumi.Output; + /** + * The name of the webhook. Defaults to an autogenerated name if not provided. + */ + public readonly name!: pulumi.Output; + /** + * The ID of the organization the webhook belongs to. + */ + public /*out*/ readonly organizationId!: pulumi.Output; + /** + * The ID of the project the webhook is associated with. + */ + public readonly projectId!: pulumi.Output; + /** + * . The region in which the webhook should be created. + */ + public readonly region!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the SNS topic. + */ + public readonly snsArn!: pulumi.Output; + /** + * The date and time of the webhook's last update (RFC 3339 format). + */ + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a TemWebhook 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: TemWebhookArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TemWebhookArgs | TemWebhookState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TemWebhookState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["domainId"] = state ? state.domainId : undefined; + resourceInputs["eventTypes"] = state ? state.eventTypes : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["organizationId"] = state ? state.organizationId : undefined; + resourceInputs["projectId"] = state ? state.projectId : undefined; + resourceInputs["region"] = state ? state.region : undefined; + resourceInputs["snsArn"] = state ? state.snsArn : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as TemWebhookArgs | undefined; + if ((!args || args.domainId === undefined) && !opts.urn) { + throw new Error("Missing required property 'domainId'"); + } + if ((!args || args.eventTypes === undefined) && !opts.urn) { + throw new Error("Missing required property 'eventTypes'"); + } + if ((!args || args.snsArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'snsArn'"); + } + resourceInputs["domainId"] = args ? args.domainId : undefined; + resourceInputs["eventTypes"] = args ? args.eventTypes : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["projectId"] = args ? args.projectId : undefined; + resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["snsArn"] = args ? args.snsArn : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["organizationId"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TemWebhook.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TemWebhook resources. + */ +export interface TemWebhookState { + /** + * The date and time of the webhook's creation (RFC 3339 format). + */ + createdAt?: pulumi.Input; + /** + * The ID of the domain the webhook is associated with. + */ + domainId?: pulumi.Input; + /** + * A list of event types that trigger the webhook. + */ + eventTypes?: pulumi.Input[]>; + /** + * The name of the webhook. Defaults to an autogenerated name if not provided. + */ + name?: pulumi.Input; + /** + * The ID of the organization the webhook belongs to. + */ + organizationId?: pulumi.Input; + /** + * The ID of the project the webhook is associated with. + */ + projectId?: pulumi.Input; + /** + * . The region in which the webhook should be created. + */ + region?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the SNS topic. + */ + snsArn?: pulumi.Input; + /** + * The date and time of the webhook's last update (RFC 3339 format). + */ + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TemWebhook resource. + */ +export interface TemWebhookArgs { + /** + * The ID of the domain the webhook is associated with. + */ + domainId: pulumi.Input; + /** + * A list of event types that trigger the webhook. + */ + eventTypes: pulumi.Input[]>; + /** + * The name of the webhook. Defaults to an autogenerated name if not provided. + */ + name?: pulumi.Input; + /** + * The ID of the project the webhook is associated with. + */ + projectId?: pulumi.Input; + /** + * . The region in which the webhook should be created. + */ + region?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the SNS topic. + */ + snsArn: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 2c915b52..737985a9 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -119,6 +119,7 @@ "getLoadbalancerCertificate.ts", "getLoadbalancerIp.ts", "getMarketplaceImage.ts", + "getMnqSns.ts", "getMnqSqs.ts", "getObjectBucket.ts", "getObjectBucketPolicy.ts", @@ -198,6 +199,7 @@ "secretVersion.ts", "temDomain.ts", "temDomainValidation.ts", + "temWebhook.ts", "types/index.ts", "types/input.ts", "types/output.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index abd1b859..be778af0 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -109,23 +109,23 @@ export interface CockpitAlertManagerContactPoint { export interface CockpitEndpoint { /** - * The alertmanager URL. + * (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). */ alertmanagerUrl?: pulumi.Input; /** - * The grafana URL. + * (Deprecated) URL for Grafana. */ grafanaUrl?: pulumi.Input; /** - * The logs URL. + * (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ logsUrl?: pulumi.Input; /** - * The metrics URL. + * (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ metricsUrl?: pulumi.Input; /** - * The traces URL. + * (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ tracesUrl?: pulumi.Input; } @@ -143,39 +143,39 @@ export interface CockpitPushUrl { export interface CockpitTokenScopes { /** - * Query logs. + * Permission to query logs. */ queryLogs?: pulumi.Input; /** - * Query metrics. + * Permission to query metrics. */ queryMetrics?: pulumi.Input; /** - * Query traces. + * Permission to query traces. */ queryTraces?: pulumi.Input; /** - * Setup alerts. + * Permission to set up alerts. */ setupAlerts?: pulumi.Input; /** - * Setup logs rules. + * Permission to set up logs rules. */ setupLogsRules?: pulumi.Input; /** - * Setup metrics rules. + * Permission to set up metrics rules. */ setupMetricsRules?: pulumi.Input; /** - * Write logs. + * Permission to write logs. */ writeLogs?: pulumi.Input; /** - * Write metrics. + * Permission to write metrics. */ writeMetrics?: pulumi.Input; /** - * Write traces. + * Permission to write traces. */ writeTraces?: pulumi.Input; } @@ -491,7 +491,7 @@ export interface DomainRecordGeoIpMatch { */ countries?: pulumi.Input[]>; /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: pulumi.Input; } @@ -521,7 +521,7 @@ export interface DomainRecordHttpService { export interface DomainRecordView { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: pulumi.Input; /** @@ -642,6 +642,10 @@ export interface GetIpamIpsResourceArgs { } export interface IamPolicyRule { + /** + * The condition of the IAM policy. + */ + condition?: pulumi.Input; /** * ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. */ @@ -1195,11 +1199,15 @@ export interface KubernetesNodePoolNode { */ name?: pulumi.Input; /** - * The public IPv4. + * The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + * + * @deprecated Please use the official Kubernetes provider and the kubernetesNodes data source */ publicIp?: pulumi.Input; /** - * The public IPv6. + * The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + * + * @deprecated Please use the official Kubernetes provider and the kubernetesNodes data source */ publicIpV6?: pulumi.Input; /** @@ -1415,7 +1423,9 @@ export interface LoadbalancerFrontendAclMatch { export interface LoadbalancerPrivateNetwork { /** - * (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + * (Deprecated) Please use `ipamIds`. Set to `true` if you want to let DHCP assign IP addresses. See below. + * + * @deprecated dhcp_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead */ dhcpConfig?: pulumi.Input; /** @@ -1429,7 +1439,7 @@ export interface LoadbalancerPrivateNetwork { /** * (Deprecated) Please use `ipamIds`. Define a local ip address of your choice for the load balancer instance. * - * @deprecated static_config field is deprecated, please use dhcpConfig instead + * @deprecated static_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead */ staticConfig?: pulumi.Input; /** @@ -1710,6 +1720,21 @@ export interface RedisClusterPublicNetwork { port?: pulumi.Input; } +export interface SecretEphemeralPolicy { + /** + * Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + */ + action: pulumi.Input; + /** + * True if the secret version expires after a single user access. + */ + expiresOnceAccessed?: pulumi.Input; + /** + * Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + */ + ttl?: pulumi.Input; +} + export interface TemDomainReputation { /** * The previously-calculated domain's reputation score. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a7c90a25..9ff21f10 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -109,23 +109,23 @@ export interface CockpitAlertManagerContactPoint { export interface CockpitEndpoint { /** - * The alertmanager URL. + * (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). */ alertmanagerUrl: string; /** - * The grafana URL. + * (Deprecated) URL for Grafana. */ grafanaUrl: string; /** - * The logs URL. + * (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ logsUrl: string; /** - * The metrics URL. + * (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ metricsUrl: string; /** - * The traces URL. + * (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ tracesUrl: string; } @@ -143,39 +143,39 @@ export interface CockpitPushUrl { export interface CockpitTokenScopes { /** - * Query logs. + * Permission to query logs. */ queryLogs?: boolean; /** - * Query metrics. + * Permission to query metrics. */ queryMetrics?: boolean; /** - * Query traces. + * Permission to query traces. */ queryTraces?: boolean; /** - * Setup alerts. + * Permission to set up alerts. */ setupAlerts?: boolean; /** - * Setup logs rules. + * Permission to set up logs rules. */ setupLogsRules?: boolean; /** - * Setup metrics rules. + * Permission to set up metrics rules. */ setupMetricsRules?: boolean; /** - * Write logs. + * Permission to write logs. */ writeLogs?: boolean; /** - * Write metrics. + * Permission to write metrics. */ writeMetrics?: boolean; /** - * Write traces. + * Permission to write traces. */ writeTraces?: boolean; } @@ -491,7 +491,7 @@ export interface DomainRecordGeoIpMatch { */ countries?: string[]; /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: string; } @@ -521,7 +521,7 @@ export interface DomainRecordHttpService { export interface DomainRecordView { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + * The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). */ data: string; /** @@ -825,19 +825,19 @@ export interface GetBillingInvoicesInvoice { export interface GetCockpitEndpoint { /** - * The alertmanager URL + * (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). */ alertmanagerUrl: string; /** - * The grafana URL + * (Deprecated) URL for Grafana. */ grafanaUrl: string; /** - * The logs URL + * (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ logsUrl: string; /** - * The metrics URL + * (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. */ metricsUrl: string; /** @@ -973,8 +973,7 @@ export interface GetDomainRecordGeoIpMatch { */ countries: string[]; /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - * Cannot be used with `recordId`. + * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data: string; } @@ -1004,8 +1003,7 @@ export interface GetDomainRecordHttpService { export interface GetDomainRecordView { /** - * The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - * Cannot be used with `recordId`. + * The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `recordId`. */ data: string; /** @@ -1230,6 +1228,8 @@ export interface GetInstanceServersServer { bootType: string; /** * The ID of the bootscript. + * + * @deprecated bootscript are not supported */ bootscriptId: string; /** @@ -1283,6 +1283,8 @@ export interface GetInstanceServersServer { projectId: string; /** * The public IP address of the server. + * + * @deprecated Use publicIps instead */ publicIp: string; /** @@ -2324,6 +2326,21 @@ export interface GetRedisClusterPublicNetwork { port: number; } +export interface GetSecretEphemeralPolicy { + /** + * Action to perform when the version of a secret expires. + */ + action: string; + /** + * True if the secret version expires after a single user access. + */ + expiresOnceAccessed: boolean; + /** + * Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + */ + ttl: string; +} + export interface GetTemDomainReputation { /** * The previously-calculated domain's reputation score @@ -2559,6 +2576,10 @@ export interface GetWebhostingOption { } export interface IamPolicyRule { + /** + * The condition of the IAM policy. + */ + condition?: string; /** * ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. */ @@ -3112,11 +3133,15 @@ export interface KubernetesNodePoolNode { */ name: string; /** - * The public IPv4. + * The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + * + * @deprecated Please use the official Kubernetes provider and the kubernetesNodes data source */ publicIp: string; /** - * The public IPv6. + * The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetesNodes data source) + * + * @deprecated Please use the official Kubernetes provider and the kubernetesNodes data source */ publicIpV6: string; /** @@ -3332,7 +3357,9 @@ export interface LoadbalancerFrontendAclMatch { export interface LoadbalancerPrivateNetwork { /** - * (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + * (Deprecated) Please use `ipamIds`. Set to `true` if you want to let DHCP assign IP addresses. See below. + * + * @deprecated dhcp_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead */ dhcpConfig: boolean; /** @@ -3346,7 +3373,7 @@ export interface LoadbalancerPrivateNetwork { /** * (Deprecated) Please use `ipamIds`. Define a local ip address of your choice for the load balancer instance. * - * @deprecated static_config field is deprecated, please use dhcpConfig instead + * @deprecated static_config field is deprecated, please use `privateNetworkId` or `ipamIds` instead */ staticConfig?: string; /** @@ -3627,6 +3654,21 @@ export interface RedisClusterPublicNetwork { port: number; } +export interface SecretEphemeralPolicy { + /** + * Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + */ + action: string; + /** + * True if the secret version expires after a single user access. + */ + expiresOnceAccessed?: boolean; + /** + * Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + */ + ttl?: string; +} + export interface TemDomainReputation { /** * The previously-calculated domain's reputation score. diff --git a/sdk/python/pulumiverse_scaleway/__init__.py b/sdk/python/pulumiverse_scaleway/__init__.py index 7f04ee5f..0a906f28 100644 --- a/sdk/python/pulumiverse_scaleway/__init__.py +++ b/sdk/python/pulumiverse_scaleway/__init__.py @@ -109,6 +109,7 @@ from .get_loadbalancer_certificate import * from .get_loadbalancer_ip import * from .get_marketplace_image import * +from .get_mnq_sns import * from .get_mnq_sqs import * from .get_object_bucket import * from .get_object_bucket_policy import * @@ -187,6 +188,7 @@ from .secret_version import * from .tem_domain import * from .tem_domain_validation import * +from .tem_webhook import * from .vpc import * from .vpc_gateway_network import * from .vpc_private_network import * @@ -978,6 +980,14 @@ "scaleway:index/temDomainValidation:TemDomainValidation": "TemDomainValidation" } }, + { + "pkg": "scaleway", + "mod": "index/temWebhook", + "fqn": "pulumiverse_scaleway", + "classes": { + "scaleway:index/temWebhook:TemWebhook": "TemWebhook" + } + }, { "pkg": "scaleway", "mod": "index/vpc", diff --git a/sdk/python/pulumiverse_scaleway/_inputs.py b/sdk/python/pulumiverse_scaleway/_inputs.py index 69b17d37..f96b090b 100644 --- a/sdk/python/pulumiverse_scaleway/_inputs.py +++ b/sdk/python/pulumiverse_scaleway/_inputs.py @@ -187,6 +187,8 @@ 'RedisClusterPrivateNetworkArgsDict', 'RedisClusterPublicNetworkArgs', 'RedisClusterPublicNetworkArgsDict', + 'SecretEphemeralPolicyArgs', + 'SecretEphemeralPolicyArgsDict', 'TemDomainReputationArgs', 'TemDomainReputationArgsDict', 'VpcGatewayNetworkIpamConfigArgs', @@ -701,23 +703,23 @@ def email(self, value: Optional[pulumi.Input[str]]): class CockpitEndpointArgsDict(TypedDict): alertmanager_url: NotRequired[pulumi.Input[str]] """ - The alertmanager URL. + (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). """ grafana_url: NotRequired[pulumi.Input[str]] """ - The grafana URL. + (Deprecated) URL for Grafana. """ logs_url: NotRequired[pulumi.Input[str]] """ - The logs URL. + (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ metrics_url: NotRequired[pulumi.Input[str]] """ - The metrics URL. + (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ traces_url: NotRequired[pulumi.Input[str]] """ - The traces URL. + (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ elif False: CockpitEndpointArgsDict: TypeAlias = Mapping[str, Any] @@ -731,11 +733,11 @@ def __init__(__self__, *, metrics_url: Optional[pulumi.Input[str]] = None, traces_url: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] alertmanager_url: The alertmanager URL. - :param pulumi.Input[str] grafana_url: The grafana URL. - :param pulumi.Input[str] logs_url: The logs URL. - :param pulumi.Input[str] metrics_url: The metrics URL. - :param pulumi.Input[str] traces_url: The traces URL. + :param pulumi.Input[str] alertmanager_url: (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). + :param pulumi.Input[str] grafana_url: (Deprecated) URL for Grafana. + :param pulumi.Input[str] logs_url: (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. + :param pulumi.Input[str] metrics_url: (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. + :param pulumi.Input[str] traces_url: (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ if alertmanager_url is not None: pulumi.set(__self__, "alertmanager_url", alertmanager_url) @@ -752,7 +754,7 @@ def __init__(__self__, *, @pulumi.getter(name="alertmanagerUrl") def alertmanager_url(self) -> Optional[pulumi.Input[str]]: """ - The alertmanager URL. + (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). """ return pulumi.get(self, "alertmanager_url") @@ -764,7 +766,7 @@ def alertmanager_url(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="grafanaUrl") def grafana_url(self) -> Optional[pulumi.Input[str]]: """ - The grafana URL. + (Deprecated) URL for Grafana. """ return pulumi.get(self, "grafana_url") @@ -776,7 +778,7 @@ def grafana_url(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="logsUrl") def logs_url(self) -> Optional[pulumi.Input[str]]: """ - The logs URL. + (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "logs_url") @@ -788,7 +790,7 @@ def logs_url(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="metricsUrl") def metrics_url(self) -> Optional[pulumi.Input[str]]: """ - The metrics URL. + (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "metrics_url") @@ -800,7 +802,7 @@ def metrics_url(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="tracesUrl") def traces_url(self) -> Optional[pulumi.Input[str]]: """ - The traces URL. + (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "traces_url") @@ -865,39 +867,39 @@ def push_metrics_url(self, value: Optional[pulumi.Input[str]]): class CockpitTokenScopesArgsDict(TypedDict): query_logs: NotRequired[pulumi.Input[bool]] """ - Query logs. + Permission to query logs. """ query_metrics: NotRequired[pulumi.Input[bool]] """ - Query metrics. + Permission to query metrics. """ query_traces: NotRequired[pulumi.Input[bool]] """ - Query traces. + Permission to query traces. """ setup_alerts: NotRequired[pulumi.Input[bool]] """ - Setup alerts. + Permission to set up alerts. """ setup_logs_rules: NotRequired[pulumi.Input[bool]] """ - Setup logs rules. + Permission to set up logs rules. """ setup_metrics_rules: NotRequired[pulumi.Input[bool]] """ - Setup metrics rules. + Permission to set up metrics rules. """ write_logs: NotRequired[pulumi.Input[bool]] """ - Write logs. + Permission to write logs. """ write_metrics: NotRequired[pulumi.Input[bool]] """ - Write metrics. + Permission to write metrics. """ write_traces: NotRequired[pulumi.Input[bool]] """ - Write traces. + Permission to write traces. """ elif False: CockpitTokenScopesArgsDict: TypeAlias = Mapping[str, Any] @@ -915,15 +917,15 @@ def __init__(__self__, *, write_metrics: Optional[pulumi.Input[bool]] = None, write_traces: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[bool] query_logs: Query logs. - :param pulumi.Input[bool] query_metrics: Query metrics. - :param pulumi.Input[bool] query_traces: Query traces. - :param pulumi.Input[bool] setup_alerts: Setup alerts. - :param pulumi.Input[bool] setup_logs_rules: Setup logs rules. - :param pulumi.Input[bool] setup_metrics_rules: Setup metrics rules. - :param pulumi.Input[bool] write_logs: Write logs. - :param pulumi.Input[bool] write_metrics: Write metrics. - :param pulumi.Input[bool] write_traces: Write traces. + :param pulumi.Input[bool] query_logs: Permission to query logs. + :param pulumi.Input[bool] query_metrics: Permission to query metrics. + :param pulumi.Input[bool] query_traces: Permission to query traces. + :param pulumi.Input[bool] setup_alerts: Permission to set up alerts. + :param pulumi.Input[bool] setup_logs_rules: Permission to set up logs rules. + :param pulumi.Input[bool] setup_metrics_rules: Permission to set up metrics rules. + :param pulumi.Input[bool] write_logs: Permission to write logs. + :param pulumi.Input[bool] write_metrics: Permission to write metrics. + :param pulumi.Input[bool] write_traces: Permission to write traces. """ if query_logs is not None: pulumi.set(__self__, "query_logs", query_logs) @@ -948,7 +950,7 @@ def __init__(__self__, *, @pulumi.getter(name="queryLogs") def query_logs(self) -> Optional[pulumi.Input[bool]]: """ - Query logs. + Permission to query logs. """ return pulumi.get(self, "query_logs") @@ -960,7 +962,7 @@ def query_logs(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="queryMetrics") def query_metrics(self) -> Optional[pulumi.Input[bool]]: """ - Query metrics. + Permission to query metrics. """ return pulumi.get(self, "query_metrics") @@ -972,7 +974,7 @@ def query_metrics(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="queryTraces") def query_traces(self) -> Optional[pulumi.Input[bool]]: """ - Query traces. + Permission to query traces. """ return pulumi.get(self, "query_traces") @@ -984,7 +986,7 @@ def query_traces(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="setupAlerts") def setup_alerts(self) -> Optional[pulumi.Input[bool]]: """ - Setup alerts. + Permission to set up alerts. """ return pulumi.get(self, "setup_alerts") @@ -996,7 +998,7 @@ def setup_alerts(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="setupLogsRules") def setup_logs_rules(self) -> Optional[pulumi.Input[bool]]: """ - Setup logs rules. + Permission to set up logs rules. """ return pulumi.get(self, "setup_logs_rules") @@ -1008,7 +1010,7 @@ def setup_logs_rules(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="setupMetricsRules") def setup_metrics_rules(self) -> Optional[pulumi.Input[bool]]: """ - Setup metrics rules. + Permission to set up metrics rules. """ return pulumi.get(self, "setup_metrics_rules") @@ -1020,7 +1022,7 @@ def setup_metrics_rules(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="writeLogs") def write_logs(self) -> Optional[pulumi.Input[bool]]: """ - Write logs. + Permission to write logs. """ return pulumi.get(self, "write_logs") @@ -1032,7 +1034,7 @@ def write_logs(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="writeMetrics") def write_metrics(self) -> Optional[pulumi.Input[bool]]: """ - Write metrics. + Permission to write metrics. """ return pulumi.get(self, "write_metrics") @@ -1044,7 +1046,7 @@ def write_metrics(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="writeTraces") def write_traces(self) -> Optional[pulumi.Input[bool]]: """ - Write traces. + Permission to write traces. """ return pulumi.get(self, "write_traces") @@ -2501,7 +2503,7 @@ def matches(self, value: pulumi.Input[Sequence[pulumi.Input['DomainRecordGeoIpMa class DomainRecordGeoIpMatchArgsDict(TypedDict): data: pulumi.Input[str] """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ continents: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ @@ -2521,7 +2523,7 @@ def __init__(__self__, *, continents: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, countries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). :param pulumi.Input[Sequence[pulumi.Input[str]]] continents: List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents :param pulumi.Input[Sequence[pulumi.Input[str]]] countries: List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries """ @@ -2535,7 +2537,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> pulumi.Input[str]: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -2680,7 +2682,7 @@ def user_agent(self, value: Optional[pulumi.Input[str]]): class DomainRecordViewArgsDict(TypedDict): data: pulumi.Input[str] """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ subnet: pulumi.Input[str] """ @@ -2695,7 +2697,7 @@ def __init__(__self__, *, data: pulumi.Input[str], subnet: pulumi.Input[str]): """ - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). :param pulumi.Input[str] subnet: The subnet of the view """ pulumi.set(__self__, "data", data) @@ -2705,7 +2707,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> pulumi.Input[str]: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -2974,6 +2976,10 @@ class IamPolicyRuleArgsDict(TypedDict): scw IAM permission-set list ``` """ + condition: NotRequired[pulumi.Input[str]] + """ + The condition of the IAM policy. + """ organization_id: NotRequired[pulumi.Input[str]] """ ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. @@ -2991,6 +2997,7 @@ class IamPolicyRuleArgsDict(TypedDict): class IamPolicyRuleArgs: def __init__(__self__, *, permission_set_names: pulumi.Input[Sequence[pulumi.Input[str]]], + condition: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, project_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ @@ -3001,12 +3008,15 @@ def __init__(__self__, *, ```shell scw IAM permission-set list ``` + :param pulumi.Input[str] condition: The condition of the IAM policy. :param pulumi.Input[str] organization_id: ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. :param pulumi.Input[Sequence[pulumi.Input[str]]] project_ids: List of project IDs scoped to the rule. > **Important** One `organization_id` or `project_ids` must be set per rule. """ pulumi.set(__self__, "permission_set_names", permission_set_names) + if condition is not None: + pulumi.set(__self__, "condition", condition) if organization_id is not None: pulumi.set(__self__, "organization_id", organization_id) if project_ids is not None: @@ -3030,6 +3040,18 @@ def permission_set_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def permission_set_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "permission_set_names", value) + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input[str]]: + """ + The condition of the IAM policy. + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "condition", value) + @property @pulumi.getter(name="organizationId") def organization_id(self) -> Optional[pulumi.Input[str]]: @@ -5540,11 +5562,11 @@ class KubernetesNodePoolNodeArgsDict(TypedDict): """ public_ip: NotRequired[pulumi.Input[str]] """ - The public IPv4. + The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ public_ip_v6: NotRequired[pulumi.Input[str]] """ - The public IPv6. + The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ status: NotRequired[pulumi.Input[str]] """ @@ -5563,14 +5585,20 @@ def __init__(__self__, *, """ :param pulumi.Input[str] name: The name for the pool. > **Important:** Updates to this field will recreate a new resource. - :param pulumi.Input[str] public_ip: The public IPv4. - :param pulumi.Input[str] public_ip_v6: The public IPv6. + :param pulumi.Input[str] public_ip: The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) + :param pulumi.Input[str] public_ip_v6: The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) :param pulumi.Input[str] status: The status of the node. """ if name is not None: pulumi.set(__self__, "name", name) + if public_ip is not None: + warnings.warn("""Please use the official Kubernetes provider and the kubernetes_nodes data source""", DeprecationWarning) + pulumi.log.warn("""public_ip is deprecated: Please use the official Kubernetes provider and the kubernetes_nodes data source""") if public_ip is not None: pulumi.set(__self__, "public_ip", public_ip) + if public_ip_v6 is not None: + warnings.warn("""Please use the official Kubernetes provider and the kubernetes_nodes data source""", DeprecationWarning) + pulumi.log.warn("""public_ip_v6 is deprecated: Please use the official Kubernetes provider and the kubernetes_nodes data source""") if public_ip_v6 is not None: pulumi.set(__self__, "public_ip_v6", public_ip_v6) if status is not None: @@ -5591,9 +5619,10 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="publicIp") + @_utilities.deprecated("""Please use the official Kubernetes provider and the kubernetes_nodes data source""") def public_ip(self) -> Optional[pulumi.Input[str]]: """ - The public IPv4. + The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ return pulumi.get(self, "public_ip") @@ -5603,9 +5632,10 @@ def public_ip(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="publicIpV6") + @_utilities.deprecated("""Please use the official Kubernetes provider and the kubernetes_nodes data source""") def public_ip_v6(self) -> Optional[pulumi.Input[str]]: """ - The public IPv6. + The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ return pulumi.get(self, "public_ip_v6") @@ -6600,7 +6630,7 @@ class LoadbalancerPrivateNetworkArgsDict(TypedDict): """ dhcp_config: NotRequired[pulumi.Input[bool]] """ - (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. """ ipam_ids: NotRequired[pulumi.Input[str]] """ @@ -6632,20 +6662,23 @@ def __init__(__self__, *, zone: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] private_network_id: (Required) The ID of the Private Network to attach to. - :param pulumi.Input[bool] dhcp_config: (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + :param pulumi.Input[bool] dhcp_config: (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. :param pulumi.Input[str] ipam_ids: (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network. :param pulumi.Input[str] static_config: (Deprecated) Please use `ipam_ids`. Define a local ip address of your choice for the load balancer instance. :param pulumi.Input[str] status: The status of private network connection :param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer. """ pulumi.set(__self__, "private_network_id", private_network_id) + if dhcp_config is not None: + warnings.warn("""dhcp_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""", DeprecationWarning) + pulumi.log.warn("""dhcp_config is deprecated: dhcp_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") if dhcp_config is not None: pulumi.set(__self__, "dhcp_config", dhcp_config) if ipam_ids is not None: pulumi.set(__self__, "ipam_ids", ipam_ids) if static_config is not None: - warnings.warn("""static_config field is deprecated, please use dhcp_config instead""", DeprecationWarning) - pulumi.log.warn("""static_config is deprecated: static_config field is deprecated, please use dhcp_config instead""") + warnings.warn("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""", DeprecationWarning) + pulumi.log.warn("""static_config is deprecated: static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") if static_config is not None: pulumi.set(__self__, "static_config", static_config) if status is not None: @@ -6667,9 +6700,10 @@ def private_network_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="dhcpConfig") + @_utilities.deprecated("""dhcp_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") def dhcp_config(self) -> Optional[pulumi.Input[bool]]: """ - (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. """ return pulumi.get(self, "dhcp_config") @@ -6691,7 +6725,7 @@ def ipam_ids(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="staticConfig") - @_utilities.deprecated("""static_config field is deprecated, please use dhcp_config instead""") + @_utilities.deprecated("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") def static_config(self) -> Optional[pulumi.Input[str]]: """ (Deprecated) Please use `ipam_ids`. Define a local ip address of your choice for the load balancer instance. @@ -7949,6 +7983,77 @@ def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) +if not MYPY: + class SecretEphemeralPolicyArgsDict(TypedDict): + action: pulumi.Input[str] + """ + Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + expires_once_accessed: NotRequired[pulumi.Input[bool]] + """ + True if the secret version expires after a single user access. + """ + ttl: NotRequired[pulumi.Input[str]] + """ + Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + """ +elif False: + SecretEphemeralPolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SecretEphemeralPolicyArgs: + def __init__(__self__, *, + action: pulumi.Input[str], + expires_once_accessed: Optional[pulumi.Input[bool]] = None, + ttl: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] action: Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + :param pulumi.Input[bool] expires_once_accessed: True if the secret version expires after a single user access. + :param pulumi.Input[str] ttl: Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + """ + pulumi.set(__self__, "action", action) + if expires_once_accessed is not None: + pulumi.set(__self__, "expires_once_accessed", expires_once_accessed) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @property + @pulumi.getter + def action(self) -> pulumi.Input[str]: + """ + Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input[str]): + pulumi.set(self, "action", value) + + @property + @pulumi.getter(name="expiresOnceAccessed") + def expires_once_accessed(self) -> Optional[pulumi.Input[bool]]: + """ + True if the secret version expires after a single user access. + """ + return pulumi.get(self, "expires_once_accessed") + + @expires_once_accessed.setter + def expires_once_accessed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "expires_once_accessed", value) + + @property + @pulumi.getter + def ttl(self) -> Optional[pulumi.Input[str]]: + """ + Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ttl", value) + + if not MYPY: class TemDomainReputationArgsDict(TypedDict): previous_score: NotRequired[pulumi.Input[int]] diff --git a/sdk/python/pulumiverse_scaleway/block_snapshot.py b/sdk/python/pulumiverse_scaleway/block_snapshot.py index dbf7d609..265e8fec 100644 --- a/sdk/python/pulumiverse_scaleway/block_snapshot.py +++ b/sdk/python/pulumiverse_scaleway/block_snapshot.py @@ -27,10 +27,10 @@ def __init__(__self__, *, """ The set of arguments for constructing a BlockSnapshot resource. :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from. - :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with. + :param pulumi.Input[str] name: The name of the snapshot. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Scaleway Project the snapshot is associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot. - :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created. + :param pulumi.Input[str] zone: ). The zone in which the snapshot should be created. """ pulumi.set(__self__, "volume_id", volume_id) if name is not None: @@ -58,7 +58,7 @@ def volume_id(self, value: pulumi.Input[str]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the snapshot. If not provided it will be randomly generated. + The name of the snapshot. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -70,7 +70,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the snapshot is associated with. + ). The ID of the Scaleway Project the snapshot is associated with. """ return pulumi.get(self, "project_id") @@ -94,7 +94,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def zone(self) -> Optional[pulumi.Input[str]]: """ - `zone`) The zone in which the snapshot should be created. + ). The zone in which the snapshot should be created. """ return pulumi.get(self, "zone") @@ -113,11 +113,11 @@ def __init__(__self__, *, zone: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering BlockSnapshot resources. - :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with. + :param pulumi.Input[str] name: The name of the snapshot. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Scaleway Project the snapshot is associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot. :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from. - :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created. + :param pulumi.Input[str] zone: ). The zone in which the snapshot should be created. """ if name is not None: pulumi.set(__self__, "name", name) @@ -134,7 +134,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the snapshot. If not provided it will be randomly generated. + The name of the snapshot. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -146,7 +146,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the snapshot is associated with. + ). The ID of the Scaleway Project the snapshot is associated with. """ return pulumi.get(self, "project_id") @@ -182,7 +182,7 @@ def volume_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def zone(self) -> Optional[pulumi.Input[str]]: """ - `zone`) The zone in which the snapshot should be created. + ). The zone in which the snapshot should be created. """ return pulumi.get(self, "zone") @@ -203,11 +203,16 @@ def __init__(__self__, zone: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Block Snapshots. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + The `BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes. + + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. ## Example Usage + ### Create a snapshot of a Block Storage volume + + The following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -223,7 +228,7 @@ def __init__(__self__, ## Import - Block Snapshots can be imported using the `{zone}/{id}`, e.g. + This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`). bash @@ -233,11 +238,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with. + :param pulumi.Input[str] name: The name of the snapshot. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Scaleway Project the snapshot is associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot. :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from. - :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created. + :param pulumi.Input[str] zone: ). The zone in which the snapshot should be created. """ ... @overload @@ -246,11 +251,16 @@ def __init__(__self__, args: BlockSnapshotArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Block Snapshots. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + The `BlockSnapshot` resource is used to create and manage snapshots of Block Storage volumes. + + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. ## Example Usage + ### Create a snapshot of a Block Storage volume + + The following command allows you to create a snapshot (`some-snapshot-name`) from a Block Storage volume specified by its ID. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -266,7 +276,7 @@ def __init__(__self__, ## Import - Block Snapshots can be imported using the `{zone}/{id}`, e.g. + This section explains how to import the snapshot of a Block Storage volume using the zoned ID format (`{zone}/{id}`). bash @@ -332,11 +342,11 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with. + :param pulumi.Input[str] name: The name of the snapshot. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Scaleway Project the snapshot is associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot. :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from. - :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created. + :param pulumi.Input[str] zone: ). The zone in which the snapshot should be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -353,7 +363,7 @@ def get(resource_name: str, @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the snapshot. If not provided it will be randomly generated. + The name of the snapshot. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -361,7 +371,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the snapshot is associated with. + ). The ID of the Scaleway Project the snapshot is associated with. """ return pulumi.get(self, "project_id") @@ -385,7 +395,7 @@ def volume_id(self) -> pulumi.Output[str]: @pulumi.getter def zone(self) -> pulumi.Output[str]: """ - `zone`) The zone in which the snapshot should be created. + ). The zone in which the snapshot should be created. """ return pulumi.get(self, "zone") diff --git a/sdk/python/pulumiverse_scaleway/block_volume.py b/sdk/python/pulumiverse_scaleway/block_volume.py index 1ae25e23..1fa492a9 100644 --- a/sdk/python/pulumiverse_scaleway/block_volume.py +++ b/sdk/python/pulumiverse_scaleway/block_volume.py @@ -28,13 +28,13 @@ def __init__(__self__, *, zone: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a BlockVolume resource. - :param pulumi.Input[int] iops: The maximum IO/s expected, must match available options. - :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with. - :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. + :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with. + :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. :param pulumi.Input[str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume. - :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created. + :param pulumi.Input[str] zone: ). The zone in which the volume should be created. """ pulumi.set(__self__, "iops", iops) if name is not None: @@ -54,7 +54,7 @@ def __init__(__self__, *, @pulumi.getter def iops(self) -> pulumi.Input[int]: """ - The maximum IO/s expected, must match available options. + The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. """ return pulumi.get(self, "iops") @@ -66,7 +66,7 @@ def iops(self, value: pulumi.Input[int]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the volume. If not provided it will be randomly generated. + The name of the volume. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -78,7 +78,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the volume is associated with. + ). The ID of the Project the volume is associated with. """ return pulumi.get(self, "project_id") @@ -90,7 +90,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sizeInGb") def size_in_gb(self) -> Optional[pulumi.Input[int]]: """ - The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. """ return pulumi.get(self, "size_in_gb") @@ -126,7 +126,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def zone(self) -> Optional[pulumi.Input[str]]: """ - `zone`) The zone in which the volume should be created. + ). The zone in which the volume should be created. """ return pulumi.get(self, "zone") @@ -147,13 +147,13 @@ def __init__(__self__, *, zone: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering BlockVolume resources. - :param pulumi.Input[int] iops: The maximum IO/s expected, must match available options. - :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with. - :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. + :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with. + :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. :param pulumi.Input[str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume. - :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created. + :param pulumi.Input[str] zone: ). The zone in which the volume should be created. """ if iops is not None: pulumi.set(__self__, "iops", iops) @@ -174,7 +174,7 @@ def __init__(__self__, *, @pulumi.getter def iops(self) -> Optional[pulumi.Input[int]]: """ - The maximum IO/s expected, must match available options. + The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. """ return pulumi.get(self, "iops") @@ -186,7 +186,7 @@ def iops(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the volume. If not provided it will be randomly generated. + The name of the volume. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -198,7 +198,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the volume is associated with. + ). The ID of the Project the volume is associated with. """ return pulumi.get(self, "project_id") @@ -210,7 +210,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sizeInGb") def size_in_gb(self) -> Optional[pulumi.Input[int]]: """ - The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. """ return pulumi.get(self, "size_in_gb") @@ -246,7 +246,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def zone(self) -> Optional[pulumi.Input[str]]: """ - `zone`) The zone in which the volume should be created. + ). The zone in which the volume should be created. """ return pulumi.get(self, "zone") @@ -269,12 +269,15 @@ def __init__(__self__, zone: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Block Volumes. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes. + + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. ## Example Usage - ### Basic + ### Create a Block Storage volume + + The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops). ```python import pulumi @@ -307,7 +310,7 @@ def __init__(__self__, ## Import - Block Volumes can be imported using the `{zone}/{id}`, e.g. + This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format. bash @@ -317,13 +320,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[int] iops: The maximum IO/s expected, must match available options. - :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with. - :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. + :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with. + :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. :param pulumi.Input[str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume. - :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created. + :param pulumi.Input[str] zone: ). The zone in which the volume should be created. """ ... @overload @@ -332,12 +335,15 @@ def __init__(__self__, args: BlockVolumeArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Block Volumes. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/). + The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes. + + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. ## Example Usage - ### Basic + ### Create a Block Storage volume + + The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops). ```python import pulumi @@ -370,7 +376,7 @@ def __init__(__self__, ## Import - Block Volumes can be imported using the `{zone}/{id}`, e.g. + This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format. bash @@ -442,13 +448,13 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[int] iops: The maximum IO/s expected, must match available options. - :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with. - :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. + :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated. + :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with. + :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. :param pulumi.Input[str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume. - :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created. + :param pulumi.Input[str] zone: ). The zone in which the volume should be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -467,7 +473,7 @@ def get(resource_name: str, @pulumi.getter def iops(self) -> pulumi.Output[int]: """ - The maximum IO/s expected, must match available options. + The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options. """ return pulumi.get(self, "iops") @@ -475,7 +481,7 @@ def iops(self) -> pulumi.Output[int]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the volume. If not provided it will be randomly generated. + The name of the volume. If not provided, a name will be randomly generated. """ return pulumi.get(self, "name") @@ -483,7 +489,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the volume is associated with. + ). The ID of the Project the volume is associated with. """ return pulumi.get(self, "project_id") @@ -491,7 +497,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter(name="sizeInGb") def size_in_gb(self) -> pulumi.Output[int]: """ - The size of the volume. Only one of `size_in_gb`, and `snapshot_id` should be specified. + The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified. """ return pulumi.get(self, "size_in_gb") @@ -515,7 +521,7 @@ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def zone(self) -> pulumi.Output[str]: """ - `zone`) The zone in which the volume should be created. + ). The zone in which the volume should be created. """ return pulumi.get(self, "zone") diff --git a/sdk/python/pulumiverse_scaleway/cockpit.py b/sdk/python/pulumiverse_scaleway/cockpit.py index b3a4ba4f..be660ce3 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit.py +++ b/sdk/python/pulumiverse_scaleway/cockpit.py @@ -25,8 +25,8 @@ def __init__(__self__, *, project_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Cockpit resource. - :param pulumi.Input[str] plan: Name or ID of the plan to use. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. + :param pulumi.Input[str] plan: Name of the plan to use. Available plans are: free, premium, and custom. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. """ if plan is not None: pulumi.set(__self__, "plan", plan) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter def plan(self) -> Optional[pulumi.Input[str]]: """ - Name or ID of the plan to use. + Name of the plan to use. Available plans are: free, premium, and custom. """ return pulumi.get(self, "plan") @@ -49,7 +49,7 @@ def plan(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -68,28 +68,38 @@ def __init__(__self__, *, push_urls: Optional[pulumi.Input[Sequence[pulumi.Input['CockpitPushUrlArgs']]]] = None): """ Input properties used for looking up and filtering Cockpit resources. - :param pulumi.Input[Sequence[pulumi.Input['CockpitEndpointArgs']]] endpoints: Endpoints. - :param pulumi.Input[str] plan: Name or ID of the plan to use. - :param pulumi.Input[str] plan_id: The ID of the current plan. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. + :param pulumi.Input[Sequence[pulumi.Input['CockpitEndpointArgs']]] endpoints: (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + :param pulumi.Input[str] plan: Name of the plan to use. Available plans are: free, premium, and custom. + :param pulumi.Input[str] plan_id: (Deprecated) The ID of the current pricing plan. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. :param pulumi.Input[Sequence[pulumi.Input['CockpitPushUrlArgs']]] push_urls: Push_url """ + if endpoints is not None: + warnings.warn("""Please use `CockpitSource` instead""", DeprecationWarning) + pulumi.log.warn("""endpoints is deprecated: Please use `CockpitSource` instead""") if endpoints is not None: pulumi.set(__self__, "endpoints", endpoints) if plan is not None: pulumi.set(__self__, "plan", plan) + if plan_id is not None: + warnings.warn("""Please use Name only""", DeprecationWarning) + pulumi.log.warn("""plan_id is deprecated: Please use Name only""") if plan_id is not None: pulumi.set(__self__, "plan_id", plan_id) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if push_urls is not None: + warnings.warn("""Please use `CockpitSource` instead""", DeprecationWarning) + pulumi.log.warn("""push_urls is deprecated: Please use `CockpitSource` instead""") if push_urls is not None: pulumi.set(__self__, "push_urls", push_urls) @property @pulumi.getter + @_utilities.deprecated("""Please use `CockpitSource` instead""") def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CockpitEndpointArgs']]]]: """ - Endpoints. + (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: """ return pulumi.get(self, "endpoints") @@ -101,7 +111,7 @@ def endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CockpitE @pulumi.getter def plan(self) -> Optional[pulumi.Input[str]]: """ - Name or ID of the plan to use. + Name of the plan to use. Available plans are: free, premium, and custom. """ return pulumi.get(self, "plan") @@ -111,9 +121,10 @@ def plan(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="planId") + @_utilities.deprecated("""Please use Name only""") def plan_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the current plan. + (Deprecated) The ID of the current pricing plan. """ return pulumi.get(self, "plan_id") @@ -125,7 +136,7 @@ def plan_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -135,6 +146,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pushUrls") + @_utilities.deprecated("""Please use `CockpitSource` instead""") def push_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CockpitPushUrlArgs']]]]: """ Push_url @@ -157,7 +169,7 @@ def __init__(__self__, """ ## Import - Cockpits can be imported using the `{project_id}`, e.g. + This section explains how to import a Cockpit using its `{project_id}`. bash @@ -167,8 +179,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] plan: Name or ID of the plan to use. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. + :param pulumi.Input[str] plan: Name of the plan to use. Available plans are: free, premium, and custom. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. """ ... @overload @@ -179,7 +191,7 @@ def __init__(__self__, """ ## Import - Cockpits can be imported using the `{project_id}`, e.g. + This section explains how to import a Cockpit using its `{project_id}`. bash @@ -240,10 +252,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitEndpointArgs', 'CockpitEndpointArgsDict']]]] endpoints: Endpoints. - :param pulumi.Input[str] plan: Name or ID of the plan to use. - :param pulumi.Input[str] plan_id: The ID of the current plan. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. + :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitEndpointArgs', 'CockpitEndpointArgsDict']]]] endpoints: (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: + :param pulumi.Input[str] plan: Name of the plan to use. Available plans are: free, premium, and custom. + :param pulumi.Input[str] plan_id: (Deprecated) The ID of the current pricing plan. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitPushUrlArgs', 'CockpitPushUrlArgsDict']]]] push_urls: Push_url """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -259,9 +271,10 @@ def get(resource_name: str, @property @pulumi.getter + @_utilities.deprecated("""Please use `CockpitSource` instead""") def endpoints(self) -> pulumi.Output[Sequence['outputs.CockpitEndpoint']]: """ - Endpoints. + (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: """ return pulumi.get(self, "endpoints") @@ -269,15 +282,16 @@ def endpoints(self) -> pulumi.Output[Sequence['outputs.CockpitEndpoint']]: @pulumi.getter def plan(self) -> pulumi.Output[Optional[str]]: """ - Name or ID of the plan to use. + Name of the plan to use. Available plans are: free, premium, and custom. """ return pulumi.get(self, "plan") @property @pulumi.getter(name="planId") + @_utilities.deprecated("""Please use Name only""") def plan_id(self) -> pulumi.Output[str]: """ - The ID of the current plan. + (Deprecated) The ID of the current pricing plan. """ return pulumi.get(self, "plan_id") @@ -285,12 +299,13 @@ def plan_id(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @property @pulumi.getter(name="pushUrls") + @_utilities.deprecated("""Please use `CockpitSource` instead""") def push_urls(self) -> pulumi.Output[Sequence['outputs.CockpitPushUrl']]: """ Push_url diff --git a/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py b/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py index be8a6e9a..114e8b4b 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py @@ -27,10 +27,10 @@ def __init__(__self__, *, region: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a CockpitAlertManager resource. - :param pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]] contact_points: A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. - :param pulumi.Input[bool] enable_managed_alerts: Indicates whether the alert manager should be enabled. Defaults to true. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region in which alert_manager should be created. + :param pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]] contact_points: A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. + :param pulumi.Input[bool] enable_managed_alerts: Specifies whether the alert manager should be enabled. Defaults to true. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ if contact_points is not None: pulumi.set(__self__, "contact_points", contact_points) @@ -45,7 +45,7 @@ def __init__(__self__, *, @pulumi.getter(name="contactPoints") def contact_points(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]]]: """ - A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. """ return pulumi.get(self, "contact_points") @@ -57,7 +57,7 @@ def contact_points(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Coc @pulumi.getter(name="enableManagedAlerts") def enable_managed_alerts(self) -> Optional[pulumi.Input[bool]]: """ - Indicates whether the alert manager should be enabled. Defaults to true. + Specifies whether the alert manager should be enabled. Defaults to true. """ return pulumi.get(self, "enable_managed_alerts") @@ -69,7 +69,7 @@ def enable_managed_alerts(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -81,7 +81,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region in which alert_manager should be created. + ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ return pulumi.get(self, "region") @@ -100,11 +100,11 @@ def __init__(__self__, *, region: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering CockpitAlertManager resources. - :param pulumi.Input[str] alert_manager_url: Alert manager URL. - :param pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]] contact_points: A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. - :param pulumi.Input[bool] enable_managed_alerts: Indicates whether the alert manager should be enabled. Defaults to true. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region in which alert_manager should be created. + :param pulumi.Input[str] alert_manager_url: The URL of the alert manager. + :param pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]] contact_points: A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. + :param pulumi.Input[bool] enable_managed_alerts: Specifies whether the alert manager should be enabled. Defaults to true. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ if alert_manager_url is not None: pulumi.set(__self__, "alert_manager_url", alert_manager_url) @@ -121,7 +121,7 @@ def __init__(__self__, *, @pulumi.getter(name="alertManagerUrl") def alert_manager_url(self) -> Optional[pulumi.Input[str]]: """ - Alert manager URL. + The URL of the alert manager. """ return pulumi.get(self, "alert_manager_url") @@ -133,7 +133,7 @@ def alert_manager_url(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="contactPoints") def contact_points(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CockpitAlertManagerContactPointArgs']]]]: """ - A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. """ return pulumi.get(self, "contact_points") @@ -145,7 +145,7 @@ def contact_points(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Coc @pulumi.getter(name="enableManagedAlerts") def enable_managed_alerts(self) -> Optional[pulumi.Input[bool]]: """ - Indicates whether the alert manager should be enabled. Defaults to true. + Specifies whether the alert manager should be enabled. Defaults to true. """ return pulumi.get(self, "enable_managed_alerts") @@ -157,7 +157,7 @@ def enable_managed_alerts(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -169,7 +169,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region in which alert_manager should be created. + ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ return pulumi.get(self, "region") @@ -189,13 +189,15 @@ def __init__(__self__, region: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Cockpit Alert Managers. + The `CockpitAlertManager` resource allows you to enable and manage the Scaleway Cockpit [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + Refer 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. + + ## Example Usage ## Import - Alert managers can be imported using the project ID, e.g. + This section explains how to import alert managers using the ID of the Project associated with Cockpit. bash @@ -205,10 +207,10 @@ 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[Union['CockpitAlertManagerContactPointArgs', 'CockpitAlertManagerContactPointArgsDict']]]] contact_points: A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. - :param pulumi.Input[bool] enable_managed_alerts: Indicates whether the alert manager should be enabled. Defaults to true. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region in which alert_manager should be created. + :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitAlertManagerContactPointArgs', 'CockpitAlertManagerContactPointArgsDict']]]] contact_points: A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. + :param pulumi.Input[bool] enable_managed_alerts: Specifies whether the alert manager should be enabled. Defaults to true. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ ... @overload @@ -217,13 +219,15 @@ def __init__(__self__, args: Optional[CockpitAlertManagerArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Cockpit Alert Managers. + The `CockpitAlertManager` resource allows you to enable and manage the Scaleway Cockpit [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). + + Refer 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. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + ## Example Usage ## Import - Alert managers can be imported using the project ID, e.g. + This section explains how to import alert managers using the ID of the Project associated with Cockpit. bash @@ -286,11 +290,11 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] alert_manager_url: Alert manager URL. - :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitAlertManagerContactPointArgs', 'CockpitAlertManagerContactPointArgsDict']]]] contact_points: A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. - :param pulumi.Input[bool] enable_managed_alerts: Indicates whether the alert manager should be enabled. Defaults to true. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region in which alert_manager should be created. + :param pulumi.Input[str] alert_manager_url: The URL of the alert manager. + :param pulumi.Input[Sequence[pulumi.Input[Union['CockpitAlertManagerContactPointArgs', 'CockpitAlertManagerContactPointArgsDict']]]] contact_points: A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. + :param pulumi.Input[bool] enable_managed_alerts: Specifies whether the alert manager should be enabled. Defaults to true. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -307,7 +311,7 @@ def get(resource_name: str, @pulumi.getter(name="alertManagerUrl") def alert_manager_url(self) -> pulumi.Output[str]: """ - Alert manager URL. + The URL of the alert manager. """ return pulumi.get(self, "alert_manager_url") @@ -315,7 +319,7 @@ def alert_manager_url(self) -> pulumi.Output[str]: @pulumi.getter(name="contactPoints") def contact_points(self) -> pulumi.Output[Optional[Sequence['outputs.CockpitAlertManagerContactPoint']]]: """ - A list of contact points with email addresses for the alert receivers. Each map should contain a single key email. + A list of contact points with email addresses that will receive alerts. Each map should contain a single key email. """ return pulumi.get(self, "contact_points") @@ -323,7 +327,7 @@ def contact_points(self) -> pulumi.Output[Optional[Sequence['outputs.CockpitAler @pulumi.getter(name="enableManagedAlerts") def enable_managed_alerts(self) -> pulumi.Output[Optional[bool]]: """ - Indicates whether the alert manager should be enabled. Defaults to true. + Specifies whether the alert manager should be enabled. Defaults to true. """ return pulumi.get(self, "enable_managed_alerts") @@ -331,7 +335,7 @@ def enable_managed_alerts(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -339,7 +343,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter def region(self) -> pulumi.Output[str]: """ - `region`) The region in which alert_manager should be created. + ) The region where the [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager) should be enabled. """ return pulumi.get(self, "region") diff --git a/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py b/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py index 2534e4d5..2abc3e6f 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py @@ -24,9 +24,9 @@ def __init__(__self__, *, project_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a CockpitGrafanaUser resource. - :param pulumi.Input[str] login: The login of the grafana user. - :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. + :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. + :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. """ pulumi.set(__self__, "login", login) pulumi.set(__self__, "role", role) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter def login(self) -> pulumi.Input[str]: """ - The login of the grafana user. + The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. """ return pulumi.get(self, "login") @@ -49,7 +49,7 @@ def login(self, value: pulumi.Input[str]): @pulumi.getter def role(self) -> pulumi.Input[str]: """ - The role of the grafana user. Must be `editor` or `viewer`. + The role assigned to the Grafana user. Must be `editor` or `viewer`. """ return pulumi.get(self, "role") @@ -61,7 +61,7 @@ def role(self, value: pulumi.Input[str]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -79,10 +79,10 @@ def __init__(__self__, *, role: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering CockpitGrafanaUser resources. - :param pulumi.Input[str] login: The login of the grafana user. - :param pulumi.Input[str] password: The password of the grafana user - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`. + :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. + :param pulumi.Input[str] password: The password of the Grafana user. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`. """ if login is not None: pulumi.set(__self__, "login", login) @@ -97,7 +97,7 @@ def __init__(__self__, *, @pulumi.getter def login(self) -> Optional[pulumi.Input[str]]: """ - The login of the grafana user. + The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. """ return pulumi.get(self, "login") @@ -109,7 +109,7 @@ def login(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def password(self) -> Optional[pulumi.Input[str]]: """ - The password of the grafana user + The password of the Grafana user. """ return pulumi.get(self, "password") @@ -121,7 +121,7 @@ def password(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -133,7 +133,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def role(self) -> Optional[pulumi.Input[str]]: """ - The role of the grafana user. Must be `editor` or `viewer`. + The role assigned to the Grafana user. Must be `editor` or `viewer`. """ return pulumi.get(self, "role") @@ -152,12 +152,16 @@ def __init__(__self__, role: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Cockpit Grafana Users. + The `CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + Refer 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. ## Example Usage + ### Create a Grafana user + + The following command allows you to create a Grafana user within a specific Scaleway Project. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -171,7 +175,7 @@ def __init__(__self__, ## Import - Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g. + This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format. bash @@ -181,9 +185,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] login: The login of the grafana user. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`. + :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`. """ ... @overload @@ -192,12 +196,16 @@ def __init__(__self__, args: CockpitGrafanaUserArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Cockpit Grafana Users. + The `CockpitGrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users). + Refer 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. ## Example Usage + ### Create a Grafana user + + The following command allows you to create a Grafana user within a specific Scaleway Project. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -211,7 +219,7 @@ def __init__(__self__, ## Import - Cockpits Grafana Users can be imported using the project ID and the grafana user ID formatted `{project_id}/{grafana_user_id}`, e.g. + This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format. bash @@ -277,10 +285,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] login: The login of the grafana user. - :param pulumi.Input[str] password: The password of the grafana user - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] role: The role of the grafana user. Must be `editor` or `viewer`. + :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. + :param pulumi.Input[str] password: The password of the Grafana user. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -296,7 +304,7 @@ def get(resource_name: str, @pulumi.getter def login(self) -> pulumi.Output[str]: """ - The login of the grafana user. + The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards. """ return pulumi.get(self, "login") @@ -304,7 +312,7 @@ def login(self) -> pulumi.Output[str]: @pulumi.getter def password(self) -> pulumi.Output[str]: """ - The password of the grafana user + The password of the Grafana user. """ return pulumi.get(self, "password") @@ -312,7 +320,7 @@ def password(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -320,7 +328,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter def role(self) -> pulumi.Output[str]: """ - The role of the grafana user. Must be `editor` or `viewer`. + The role assigned to the Grafana user. Must be `editor` or `viewer`. """ return pulumi.get(self, "role") diff --git a/sdk/python/pulumiverse_scaleway/cockpit_source.py b/sdk/python/pulumiverse_scaleway/cockpit_source.py index 80a9a0c9..bf4133d4 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_source.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_source.py @@ -25,10 +25,10 @@ def __init__(__self__, *, type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a CockpitSource resource. - :param pulumi.Input[str] name: The name of the cockpit data source. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit data source is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit datasource. - :param pulumi.Input[str] type: The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + :param pulumi.Input[str] name: The name of the data source. + :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with. + :param pulumi.Input[str] region: ) The region where the data source is located. + :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. """ if name is not None: pulumi.set(__self__, "name", name) @@ -43,7 +43,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the cockpit data source. + The name of the data source. """ return pulumi.get(self, "name") @@ -55,7 +55,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit data source is associated with. + ) The ID of the Project the data source is associated with. """ return pulumi.get(self, "project_id") @@ -67,7 +67,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region of the cockpit datasource. + ) The region where the data source is located. """ return pulumi.get(self, "region") @@ -79,7 +79,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. """ return pulumi.get(self, "type") @@ -95,6 +95,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, origin: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + push_url: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, synchronized_with_grafana: Optional[pulumi.Input[bool]] = None, type: Optional[pulumi.Input[str]] = None, @@ -102,15 +103,16 @@ def __init__(__self__, *, url: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering CockpitSource resources. - :param pulumi.Input[str] created_at: Date and time of the cockpit data source's creation (RFC 3339 format). - :param pulumi.Input[str] name: The name of the cockpit data source. - :param pulumi.Input[str] origin: The origin of the cockpit data source. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit data source is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit datasource. + :param pulumi.Input[str] created_at: The date and time the data source was created (in RFC 3339 format). + :param pulumi.Input[str] name: The name of the data source. + :param pulumi.Input[str] origin: The origin of the Cockpit data source. + :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with. + :param pulumi.Input[str] push_url: The URL endpoint used for pushing data to the Cockpit data source. + :param pulumi.Input[str] region: ) The region where the data source is located. :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana. - :param pulumi.Input[str] type: The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. - :param pulumi.Input[str] updated_at: Date and time of the cockpit datas ource's last update (RFC 3339 format). - :param pulumi.Input[str] url: The URL of the cockpit data source. + :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. + :param pulumi.Input[str] updated_at: The date and time the data source was last updated (in RFC 3339 format). + :param pulumi.Input[str] url: The URL of the Cockpit data source. """ if created_at is not None: pulumi.set(__self__, "created_at", created_at) @@ -120,6 +122,8 @@ def __init__(__self__, *, pulumi.set(__self__, "origin", origin) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if push_url is not None: + pulumi.set(__self__, "push_url", push_url) if region is not None: pulumi.set(__self__, "region", region) if synchronized_with_grafana is not None: @@ -135,7 +139,7 @@ def __init__(__self__, *, @pulumi.getter(name="createdAt") def created_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of the cockpit data source's creation (RFC 3339 format). + The date and time the data source was created (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -147,7 +151,7 @@ def created_at(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the cockpit data source. + The name of the data source. """ return pulumi.get(self, "name") @@ -159,7 +163,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def origin(self) -> Optional[pulumi.Input[str]]: """ - The origin of the cockpit data source. + The origin of the Cockpit data source. """ return pulumi.get(self, "origin") @@ -171,7 +175,7 @@ def origin(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit data source is associated with. + ) The ID of the Project the data source is associated with. """ return pulumi.get(self, "project_id") @@ -179,11 +183,23 @@ def project_id(self) -> Optional[pulumi.Input[str]]: def project_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project_id", value) + @property + @pulumi.getter(name="pushUrl") + def push_url(self) -> Optional[pulumi.Input[str]]: + """ + The URL endpoint used for pushing data to the Cockpit data source. + """ + return pulumi.get(self, "push_url") + + @push_url.setter + def push_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "push_url", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region of the cockpit datasource. + ) The region where the data source is located. """ return pulumi.get(self, "region") @@ -207,7 +223,7 @@ def synchronized_with_grafana(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. """ return pulumi.get(self, "type") @@ -219,7 +235,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="updatedAt") def updated_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of the cockpit datas ource's last update (RFC 3339 format). + The date and time the data source was last updated (in RFC 3339 format). """ return pulumi.get(self, "updated_at") @@ -231,7 +247,7 @@ def updated_at(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def url(self) -> Optional[pulumi.Input[str]]: """ - The URL of the cockpit data source. + The URL of the Cockpit data source. """ return pulumi.get(self, "url") @@ -251,12 +267,16 @@ def __init__(__self__, type: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Cockpit Data Sources. + The `CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources). + Refer 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. ## Example Usage + ### Create a data source + + The following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -270,7 +290,7 @@ def __init__(__self__, ## Import - Cockpits Data Sources can be imported using the `{region}/{id}`, e.g. + This section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format. bash @@ -280,10 +300,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] name: The name of the cockpit data source. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit data source is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit datasource. - :param pulumi.Input[str] type: The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + :param pulumi.Input[str] name: The name of the data source. + :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with. + :param pulumi.Input[str] region: ) The region where the data source is located. + :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. """ ... @overload @@ -292,12 +312,16 @@ def __init__(__self__, args: Optional[CockpitSourceArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Cockpit Data Sources. + The `CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources). + Refer 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. ## Example Usage + ### Create a data source + + The following command allows you to create a [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) data source named `my-data-source` in a given Project. + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -311,7 +335,7 @@ def __init__(__self__, ## Import - Cockpits Data Sources can be imported using the `{region}/{id}`, e.g. + This section explains how to import a data source using the ID of the region it is located in, in the `{region}/{id}` format. bash @@ -353,6 +377,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = type __props__.__dict__["created_at"] = None __props__.__dict__["origin"] = None + __props__.__dict__["push_url"] = None __props__.__dict__["synchronized_with_grafana"] = None __props__.__dict__["updated_at"] = None __props__.__dict__["url"] = None @@ -370,6 +395,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, origin: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + push_url: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, synchronized_with_grafana: Optional[pulumi.Input[bool]] = None, type: Optional[pulumi.Input[str]] = None, @@ -382,15 +408,16 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] created_at: Date and time of the cockpit data source's creation (RFC 3339 format). - :param pulumi.Input[str] name: The name of the cockpit data source. - :param pulumi.Input[str] origin: The origin of the cockpit data source. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit data source is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit datasource. + :param pulumi.Input[str] created_at: The date and time the data source was created (in RFC 3339 format). + :param pulumi.Input[str] name: The name of the data source. + :param pulumi.Input[str] origin: The origin of the Cockpit data source. + :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with. + :param pulumi.Input[str] push_url: The URL endpoint used for pushing data to the Cockpit data source. + :param pulumi.Input[str] region: ) The region where the data source is located. :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana. - :param pulumi.Input[str] type: The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. - :param pulumi.Input[str] updated_at: Date and time of the cockpit datas ource's last update (RFC 3339 format). - :param pulumi.Input[str] url: The URL of the cockpit data source. + :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. + :param pulumi.Input[str] updated_at: The date and time the data source was last updated (in RFC 3339 format). + :param pulumi.Input[str] url: The URL of the Cockpit data source. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -400,6 +427,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["origin"] = origin __props__.__dict__["project_id"] = project_id + __props__.__dict__["push_url"] = push_url __props__.__dict__["region"] = region __props__.__dict__["synchronized_with_grafana"] = synchronized_with_grafana __props__.__dict__["type"] = type @@ -411,7 +439,7 @@ def get(resource_name: str, @pulumi.getter(name="createdAt") def created_at(self) -> pulumi.Output[str]: """ - Date and time of the cockpit data source's creation (RFC 3339 format). + The date and time the data source was created (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -419,7 +447,7 @@ def created_at(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the cockpit data source. + The name of the data source. """ return pulumi.get(self, "name") @@ -427,7 +455,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def origin(self) -> pulumi.Output[str]: """ - The origin of the cockpit data source. + The origin of the Cockpit data source. """ return pulumi.get(self, "origin") @@ -435,15 +463,23 @@ def origin(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the cockpit data source is associated with. + ) The ID of the Project the data source is associated with. """ return pulumi.get(self, "project_id") + @property + @pulumi.getter(name="pushUrl") + def push_url(self) -> pulumi.Output[str]: + """ + The URL endpoint used for pushing data to the Cockpit data source. + """ + return pulumi.get(self, "push_url") + @property @pulumi.getter def region(self) -> pulumi.Output[str]: """ - `region`) The region of the cockpit datasource. + ) The region where the data source is located. """ return pulumi.get(self, "region") @@ -459,7 +495,7 @@ def synchronized_with_grafana(self) -> pulumi.Output[bool]: @pulumi.getter def type(self) -> pulumi.Output[Optional[str]]: """ - The type of the cockpit data source. Possible values are: `metrics`, `logs` or `traces`. + The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. """ return pulumi.get(self, "type") @@ -467,7 +503,7 @@ def type(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="updatedAt") def updated_at(self) -> pulumi.Output[str]: """ - Date and time of the cockpit datas ource's last update (RFC 3339 format). + The date and time the data source was last updated (in RFC 3339 format). """ return pulumi.get(self, "updated_at") @@ -475,7 +511,7 @@ def updated_at(self) -> pulumi.Output[str]: @pulumi.getter def url(self) -> pulumi.Output[str]: """ - The URL of the cockpit data source. + The URL of the Cockpit data source. """ return pulumi.get(self, "url") diff --git a/sdk/python/pulumiverse_scaleway/cockpit_token.py b/sdk/python/pulumiverse_scaleway/cockpit_token.py index 43a72794..520b5560 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_token.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_token.py @@ -28,9 +28,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a CockpitToken resource. :param pulumi.Input[str] name: The name of the token. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit token. - :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Allowed scopes. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the Cockpit token is located. + :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Scopes allowed, each with default values: """ if name is not None: pulumi.set(__self__, "name", name) @@ -57,7 +57,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -69,7 +69,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region of the cockpit token. + ) The region where the Cockpit token is located. """ return pulumi.get(self, "region") @@ -81,7 +81,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def scopes(self) -> Optional[pulumi.Input['CockpitTokenScopesArgs']]: """ - Allowed scopes. + Scopes allowed, each with default values: """ return pulumi.get(self, "scopes") @@ -104,9 +104,9 @@ def __init__(__self__, *, Input properties used for looking up and filtering CockpitToken resources. :param pulumi.Input[str] created_at: The date and time of the creation of the Cockpit Token (Format ISO 8601) :param pulumi.Input[str] name: The name of the token. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit token. - :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Allowed scopes. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the Cockpit token is located. + :param pulumi.Input['CockpitTokenScopesArgs'] scopes: Scopes allowed, each with default values: :param pulumi.Input[str] secret_key: The secret key of the token. :param pulumi.Input[str] updated_at: The date and time of the last update of the Cockpit Token (Format ISO 8601) """ @@ -153,7 +153,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -165,7 +165,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region of the cockpit token. + ) The region where the Cockpit token is located. """ return pulumi.get(self, "region") @@ -177,7 +177,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def scopes(self) -> Optional[pulumi.Input['CockpitTokenScopesArgs']]: """ - Allowed scopes. + Scopes allowed, each with default values: """ return pulumi.get(self, "scopes") @@ -221,12 +221,21 @@ def __init__(__self__, scopes: Optional[pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']]] = None, __props__=None): """ - Creates and manages Scaleway Cockpit Tokens. + The `CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). + Refer 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. ## Example Usage + ### Use a Cockpit token + + The following commands allow you to: + + - create a Scaleway Project named `my-project` + - create a Cockpit token named `my-awesome-token` inside the Project + - assign `read` permissions to the token for metrics and logs + - disable `write` permissions for metrics and logs + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -256,7 +265,7 @@ def __init__(__self__, ## Import - Cockpits tokens can be imported using the `{region}/{id}`, e.g. + This section explains how to import a Cockpit token using the `{region}/{id}` format. bash @@ -267,9 +276,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] name: The name of the token. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit token. - :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Allowed scopes. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the Cockpit token is located. + :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Scopes allowed, each with default values: """ ... @overload @@ -278,12 +287,21 @@ def __init__(__self__, args: Optional[CockpitTokenArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Cockpit Tokens. + The `CockpitToken` resource allows you to create and manage your Cockpit [tokens](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#tokens). + Refer 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. ## Example Usage + ### Use a Cockpit token + + The following commands allow you to: + + - create a Scaleway Project named `my-project` + - create a Cockpit token named `my-awesome-token` inside the Project + - assign `read` permissions to the token for metrics and logs + - disable `write` permissions for metrics and logs + ```python import pulumi import pulumiverse_scaleway as scaleway @@ -313,7 +331,7 @@ def __init__(__self__, ## Import - Cockpits tokens can be imported using the `{region}/{id}`, e.g. + This section explains how to import a Cockpit token using the `{region}/{id}` format. bash @@ -384,9 +402,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] created_at: The date and time of the creation of the Cockpit Token (Format ISO 8601) :param pulumi.Input[str] name: The name of the token. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cockpit is associated with. - :param pulumi.Input[str] region: `region`) The region of the cockpit token. - :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Allowed scopes. + :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with. + :param pulumi.Input[str] region: ) The region where the Cockpit token is located. + :param pulumi.Input[Union['CockpitTokenScopesArgs', 'CockpitTokenScopesArgsDict']] scopes: Scopes allowed, each with default values: :param pulumi.Input[str] secret_key: The secret key of the token. :param pulumi.Input[str] updated_at: The date and time of the last update of the Cockpit Token (Format ISO 8601) """ @@ -423,7 +441,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the cockpit is associated with. + ) The ID of the Project the Cockpit is associated with. """ return pulumi.get(self, "project_id") @@ -431,7 +449,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter def region(self) -> pulumi.Output[str]: """ - `region`) The region of the cockpit token. + ) The region where the Cockpit token is located. """ return pulumi.get(self, "region") @@ -439,7 +457,7 @@ def region(self) -> pulumi.Output[str]: @pulumi.getter def scopes(self) -> pulumi.Output['outputs.CockpitTokenScopes']: """ - Allowed scopes. + Scopes allowed, each with default values: """ return pulumi.get(self, "scopes") diff --git a/sdk/python/pulumiverse_scaleway/database_instance.py b/sdk/python/pulumiverse_scaleway/database_instance.py index 34a8254c..0def9855 100644 --- a/sdk/python/pulumiverse_scaleway/database_instance.py +++ b/sdk/python/pulumiverse_scaleway/database_instance.py @@ -427,8 +427,8 @@ def __init__(__self__, *, :param pulumi.Input[str] certificate: Certificate of the Database Instance. :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance. - :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. - :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. + :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. + :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`). > **Important** Updates to `engine` will recreate the Database Instance. @@ -480,6 +480,9 @@ def __init__(__self__, *, pulumi.log.warn("""endpoint_ip is deprecated: Please use the private_network or the load_balancer attribute""") if endpoint_ip is not None: pulumi.set(__self__, "endpoint_ip", endpoint_ip) + if endpoint_port is not None: + warnings.warn("""Please use the private_network or the load_balancer attribute""", DeprecationWarning) + pulumi.log.warn("""endpoint_port is deprecated: Please use the private_network or the load_balancer attribute""") if endpoint_port is not None: pulumi.set(__self__, "endpoint_port", endpoint_port) if engine is not None: @@ -596,7 +599,7 @@ def encryption_at_rest(self, value: Optional[pulumi.Input[bool]]): @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""") def endpoint_ip(self) -> Optional[pulumi.Input[str]]: """ - (Deprecated) The IP of the Database Instance. + (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. """ return pulumi.get(self, "endpoint_ip") @@ -606,9 +609,10 @@ def endpoint_ip(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="endpointPort") + @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""") def endpoint_port(self) -> Optional[pulumi.Input[int]]: """ - (Deprecated) The port of the Database Instance. + (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. """ return pulumi.get(self, "endpoint_port") @@ -1342,8 +1346,8 @@ def get(resource_name: str, :param pulumi.Input[str] certificate: Certificate of the Database Instance. :param pulumi.Input[bool] disable_backup: Disable automated backup for the database instance :param pulumi.Input[bool] encryption_at_rest: Enable or disable encryption at rest for the Database Instance. - :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. - :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. + :param pulumi.Input[str] endpoint_ip: (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. + :param pulumi.Input[int] endpoint_port: (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `PostgreSQL-11`). > **Important** Updates to `engine` will recreate the Database Instance. @@ -1463,15 +1467,16 @@ def encryption_at_rest(self) -> pulumi.Output[Optional[bool]]: @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""") def endpoint_ip(self) -> pulumi.Output[str]: """ - (Deprecated) The IP of the Database Instance. + (Deprecated) The IP of the Database Instance. Please use the private_network or the load_balancer attribute. """ return pulumi.get(self, "endpoint_ip") @property @pulumi.getter(name="endpointPort") + @_utilities.deprecated("""Please use the private_network or the load_balancer attribute""") def endpoint_port(self) -> pulumi.Output[int]: """ - (Deprecated) The port of the Database Instance. + (Deprecated) The port of the Database Instance. Please use the private_network or the load_balancer attribute. """ return pulumi.get(self, "endpoint_port") diff --git a/sdk/python/pulumiverse_scaleway/domain_record.py b/sdk/python/pulumiverse_scaleway/domain_record.py index 9bf6cc06..1da31e1b 100644 --- a/sdk/python/pulumiverse_scaleway/domain_record.py +++ b/sdk/python/pulumiverse_scaleway/domain_record.py @@ -35,14 +35,14 @@ def __init__(__self__, *, weighteds: Optional[pulumi.Input[Sequence[pulumi.Input['DomainRecordWeightedArgs']]]] = None): """ The set of arguments for constructing a DomainRecord resource. - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - :param pulumi.Input[str] dns_zone: The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). + :param pulumi.Input[str] dns_zone: The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. :param pulumi.Input[str] type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). :param pulumi.Input['DomainRecordGeoIpArgs'] geo_ip: Return record based on client localisation :param pulumi.Input['DomainRecordHttpServiceArgs'] http_service: Return record based on client localisation - :param pulumi.Input[bool] keep_empty_zone: When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + :param pulumi.Input[bool] keep_empty_zone: 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/). :param pulumi.Input[str] name: The name of the record (can be an empty string for a root record). - :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record) + :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[int] ttl: Time To Live of the record in seconds. :param pulumi.Input[Sequence[pulumi.Input['DomainRecordViewArgs']]] views: Return record based on client subnet @@ -74,7 +74,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> pulumi.Input[str]: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -86,7 +86,7 @@ def data(self, value: pulumi.Input[str]): @pulumi.getter(name="dnsZone") def dns_zone(self) -> pulumi.Input[str]: """ - The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. """ return pulumi.get(self, "dns_zone") @@ -134,7 +134,7 @@ def http_service(self, value: Optional[pulumi.Input['DomainRecordHttpServiceArgs @pulumi.getter(name="keepEmptyZone") def keep_empty_zone(self) -> Optional[pulumi.Input[bool]]: """ - When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + 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/). """ return pulumi.get(self, "keep_empty_zone") @@ -158,7 +158,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def priority(self) -> Optional[pulumi.Input[int]]: """ - The priority of the record (mostly used with an `MX` record) + The priority of the record (mostly used with an `MX` record). """ return pulumi.get(self, "priority") @@ -234,14 +234,14 @@ def __init__(__self__, *, weighteds: Optional[pulumi.Input[Sequence[pulumi.Input['DomainRecordWeightedArgs']]]] = None): """ Input properties used for looking up and filtering DomainRecord resources. - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - :param pulumi.Input[str] dns_zone: The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). + :param pulumi.Input[str] dns_zone: The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. :param pulumi.Input[str] fqdn: The FQDN of the record. :param pulumi.Input['DomainRecordGeoIpArgs'] geo_ip: Return record based on client localisation :param pulumi.Input['DomainRecordHttpServiceArgs'] http_service: Return record based on client localisation - :param pulumi.Input[bool] keep_empty_zone: When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + :param pulumi.Input[bool] keep_empty_zone: 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/). :param pulumi.Input[str] name: The name of the record (can be an empty string for a root record). - :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record) + :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[bool] root_zone: Does the DNS zone is the root zone or not :param pulumi.Input[int] ttl: Time To Live of the record in seconds. @@ -282,7 +282,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> Optional[pulumi.Input[str]]: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -294,7 +294,7 @@ def data(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dnsZone") def dns_zone(self) -> Optional[pulumi.Input[str]]: """ - The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. """ return pulumi.get(self, "dns_zone") @@ -342,7 +342,7 @@ def http_service(self, value: Optional[pulumi.Input['DomainRecordHttpServiceArgs @pulumi.getter(name="keepEmptyZone") def keep_empty_zone(self) -> Optional[pulumi.Input[bool]]: """ - When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + 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/). """ return pulumi.get(self, "keep_empty_zone") @@ -366,7 +366,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def priority(self) -> Optional[pulumi.Input[int]]: """ - The priority of the record (mostly used with an `MX` record) + The priority of the record (mostly used with an `MX` record). """ return pulumi.get(self, "priority") @@ -466,12 +466,19 @@ def __init__(__self__, weighteds: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DomainRecordWeightedArgs', 'DomainRecordWeightedArgsDict']]]]] = None, __props__=None): """ - Creates and manages Scaleway Domain record.\\ - For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/). + The `DomainRecord` resource allows you to create and manage DNS records for Scaleway domains. + + Refer 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. ## Example Usage - ### Basic + ### Create basic DNS records + + The folllowing commands allow you to: + + - 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` + + - 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 ```python import pulumi @@ -505,7 +512,17 @@ def __init__(__self__, priority=20) ``` - ### With dynamic records + ### Create dynamic records + + The folllowing commands allow you to: + + - 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) + + - create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status. + + - create view-based records for `db.domain.tld` that resolve differently based on the client's subnet. + + - create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights. ```python import pulumi @@ -580,7 +597,12 @@ def __init__(__self__, ]) ``` - ### Create an instance and add records with the new instance IP + ### Create an Instance and add records with the new Instance IP + + The following commands allow you to: + + - create a Scaleway Instance + - assign The Instance's IP address to various DNS records for a specified DNS zone ```python import pulumi @@ -626,14 +648,13 @@ def __init__(__self__, ## Multiple records - Some record types can have multiple `data` with the same `name` (eg: `A`, `AAAA`, `MX`, `NS`...).\\ - You can duplicate a resource `DomainRecord` with the same `name`, the records will be added. + Some record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `DomainRecord` resource with the same `name`, and the records will be added. - Please note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique. + Note however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique. ## Import - Record can be imported using the `{dns_zone}/{id}`, e.g. + This section explains how to import a record using the `{dns_zone}/{id}` format. bash @@ -643,13 +664,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - :param pulumi.Input[str] dns_zone: The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). + :param pulumi.Input[str] dns_zone: The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. :param pulumi.Input[Union['DomainRecordGeoIpArgs', 'DomainRecordGeoIpArgsDict']] geo_ip: Return record based on client localisation :param pulumi.Input[Union['DomainRecordHttpServiceArgs', 'DomainRecordHttpServiceArgsDict']] http_service: Return record based on client localisation - :param pulumi.Input[bool] keep_empty_zone: When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + :param pulumi.Input[bool] keep_empty_zone: 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/). :param pulumi.Input[str] name: The name of the record (can be an empty string for a root record). - :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record) + :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[int] ttl: Time To Live of the record in seconds. :param pulumi.Input[str] type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). @@ -663,12 +684,19 @@ def __init__(__self__, args: DomainRecordArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Domain record.\\ - For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/). + The `DomainRecord` resource allows you to create and manage DNS records for Scaleway domains. + + Refer 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. ## Example Usage - ### Basic + ### Create basic DNS records + + The folllowing commands allow you to: + + - 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` + + - 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 ```python import pulumi @@ -702,7 +730,17 @@ def __init__(__self__, priority=20) ``` - ### With dynamic records + ### Create dynamic records + + The folllowing commands allow you to: + + - 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) + + - create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status. + + - create view-based records for `db.domain.tld` that resolve differently based on the client's subnet. + + - create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights. ```python import pulumi @@ -777,7 +815,12 @@ def __init__(__self__, ]) ``` - ### Create an instance and add records with the new instance IP + ### Create an Instance and add records with the new Instance IP + + The following commands allow you to: + + - create a Scaleway Instance + - assign The Instance's IP address to various DNS records for a specified DNS zone ```python import pulumi @@ -823,14 +866,13 @@ def __init__(__self__, ## Multiple records - Some record types can have multiple `data` with the same `name` (eg: `A`, `AAAA`, `MX`, `NS`...).\\ - You can duplicate a resource `DomainRecord` with the same `name`, the records will be added. + Some record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `DomainRecord` resource with the same `name`, and the records will be added. - Please note, some record (eg: `CNAME`, Multiple dynamic records of different types...) has to be unique. + Note however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique. ## Import - Record can be imported using the `{dns_zone}/{id}`, e.g. + This section explains how to import a record using the `{dns_zone}/{id}` format. bash @@ -925,14 +967,14 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - :param pulumi.Input[str] dns_zone: The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + :param pulumi.Input[str] data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). + :param pulumi.Input[str] dns_zone: The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. :param pulumi.Input[str] fqdn: The FQDN of the record. :param pulumi.Input[Union['DomainRecordGeoIpArgs', 'DomainRecordGeoIpArgsDict']] geo_ip: Return record based on client localisation :param pulumi.Input[Union['DomainRecordHttpServiceArgs', 'DomainRecordHttpServiceArgsDict']] http_service: Return record based on client localisation - :param pulumi.Input[bool] keep_empty_zone: When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + :param pulumi.Input[bool] keep_empty_zone: 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/). :param pulumi.Input[str] name: The name of the record (can be an empty string for a root record). - :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record) + :param pulumi.Input[int] priority: The priority of the record (mostly used with an `MX` record). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[bool] root_zone: Does the DNS zone is the root zone or not :param pulumi.Input[int] ttl: Time To Live of the record in seconds. @@ -964,7 +1006,7 @@ def get(resource_name: str, @pulumi.getter def data(self) -> pulumi.Output[str]: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -972,7 +1014,7 @@ def data(self) -> pulumi.Output[str]: @pulumi.getter(name="dnsZone") def dns_zone(self) -> pulumi.Output[str]: """ - The DNS Zone of the domain. If the DNS zone doesn't exist, it will be automatically created. + The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created. """ return pulumi.get(self, "dns_zone") @@ -1004,7 +1046,7 @@ def http_service(self) -> pulumi.Output[Optional['outputs.DomainRecordHttpServic @pulumi.getter(name="keepEmptyZone") def keep_empty_zone(self) -> pulumi.Output[Optional[bool]]: """ - When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Please note, each zone not deleted will [cost you money](https://www.scaleway.com/en/dns/) + 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/). """ return pulumi.get(self, "keep_empty_zone") @@ -1020,7 +1062,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def priority(self) -> pulumi.Output[int]: """ - The priority of the record (mostly used with an `MX` record) + The priority of the record (mostly used with an `MX` record). """ return pulumi.get(self, "priority") diff --git a/sdk/python/pulumiverse_scaleway/domain_zone.py b/sdk/python/pulumiverse_scaleway/domain_zone.py index 2f3944c0..7d676c9f 100644 --- a/sdk/python/pulumiverse_scaleway/domain_zone.py +++ b/sdk/python/pulumiverse_scaleway/domain_zone.py @@ -24,9 +24,9 @@ def __init__(__self__, *, project_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a DomainZone resource. - :param pulumi.Input[str] domain: The domain where the DNS zone will be created. - :param pulumi.Input[str] subdomain: The subdomain(zone name) to create in the domain. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with. + :param pulumi.Input[str] domain: The main domain where the DNS zone will be created. + :param pulumi.Input[str] subdomain: The name of the subdomain (zone name) to create within the domain. + :param pulumi.Input[str] project_id: `project_id`) The ID of the Project associated with the domain. """ pulumi.set(__self__, "domain", domain) pulumi.set(__self__, "subdomain", subdomain) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter def domain(self) -> pulumi.Input[str]: """ - The domain where the DNS zone will be created. + The main domain where the DNS zone will be created. """ return pulumi.get(self, "domain") @@ -49,7 +49,7 @@ def domain(self, value: pulumi.Input[str]): @pulumi.getter def subdomain(self) -> pulumi.Input[str]: """ - The subdomain(zone name) to create in the domain. + The name of the subdomain (zone name) to create within the domain. """ return pulumi.get(self, "subdomain") @@ -61,7 +61,7 @@ def subdomain(self, value: pulumi.Input[str]): @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the domain is associated with. + `project_id`) The ID of the Project associated with the domain. """ return pulumi.get(self, "project_id") @@ -84,15 +84,15 @@ def __init__(__self__, *, updated_at: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering DomainZone resources. - :param pulumi.Input[str] domain: The domain where the DNS zone will be created. - :param pulumi.Input[str] message: Message - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns: NameServer list for zone. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_defaults: NameServer default list for zone. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_masters: NameServer master list for zone. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with. - :param pulumi.Input[str] status: The domain zone status. - :param pulumi.Input[str] subdomain: The subdomain(zone name) to create in the domain. - :param pulumi.Input[str] updated_at: The date and time of the last update of the DNS zone. + :param pulumi.Input[str] domain: The main domain where the DNS zone will be created. + :param pulumi.Input[str] message: Message. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns: The list of same servers for the zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_defaults: The default list of same servers for the zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_masters: The master list of same servers for the zone. + :param pulumi.Input[str] project_id: `project_id`) The ID of the Project associated with the domain. + :param pulumi.Input[str] status: The status of the domain zone. + :param pulumi.Input[str] subdomain: The name of the subdomain (zone name) to create within the domain. + :param pulumi.Input[str] updated_at: The date and time at which the DNS zone was last updated. """ if domain is not None: pulumi.set(__self__, "domain", domain) @@ -117,7 +117,7 @@ def __init__(__self__, *, @pulumi.getter def domain(self) -> Optional[pulumi.Input[str]]: """ - The domain where the DNS zone will be created. + The main domain where the DNS zone will be created. """ return pulumi.get(self, "domain") @@ -129,7 +129,7 @@ def domain(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def message(self) -> Optional[pulumi.Input[str]]: """ - Message + Message. """ return pulumi.get(self, "message") @@ -141,7 +141,7 @@ def message(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - NameServer list for zone. + The list of same servers for the zone. """ return pulumi.get(self, "ns") @@ -153,7 +153,7 @@ def ns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="nsDefaults") def ns_defaults(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - NameServer default list for zone. + The default list of same servers for the zone. """ return pulumi.get(self, "ns_defaults") @@ -165,7 +165,7 @@ def ns_defaults(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="nsMasters") def ns_masters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - NameServer master list for zone. + The master list of same servers for the zone. """ return pulumi.get(self, "ns_masters") @@ -177,7 +177,7 @@ def ns_masters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]) @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[str]]: """ - `project_id`) The ID of the project the domain is associated with. + `project_id`) The ID of the Project associated with the domain. """ return pulumi.get(self, "project_id") @@ -189,7 +189,7 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: """ - The domain zone status. + The status of the domain zone. """ return pulumi.get(self, "status") @@ -201,7 +201,7 @@ def status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def subdomain(self) -> Optional[pulumi.Input[str]]: """ - The subdomain(zone name) to create in the domain. + The name of the subdomain (zone name) to create within the domain. """ return pulumi.get(self, "subdomain") @@ -213,7 +213,7 @@ def subdomain(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="updatedAt") def updated_at(self) -> Optional[pulumi.Input[str]]: """ - The date and time of the last update of the DNS zone. + The date and time at which the DNS zone was last updated. """ return pulumi.get(self, "updated_at") @@ -232,23 +232,9 @@ def __init__(__self__, subdomain: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Domain zone.\\ - For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/). - - ## Example Usage - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - test = scaleway.DomainZone("test", - domain="scaleway-terraform.com", - subdomain="test") - ``` - ## Import - Zone can be imported using the `{subdomain}.{domain}`, e.g. + This section explains how to import a zone using the `{subdomain}.{domain}` format. bash @@ -258,9 +244,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] domain: The domain where the DNS zone will be created. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with. - :param pulumi.Input[str] subdomain: The subdomain(zone name) to create in the domain. + :param pulumi.Input[str] domain: The main domain where the DNS zone will be created. + :param pulumi.Input[str] project_id: `project_id`) The ID of the Project associated with the domain. + :param pulumi.Input[str] subdomain: The name of the subdomain (zone name) to create within the domain. """ ... @overload @@ -269,23 +255,9 @@ def __init__(__self__, args: DomainZoneArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Domain zone.\\ - For more information, see [the documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/configure-dns-zones/). - - ## Example Usage - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - test = scaleway.DomainZone("test", - domain="scaleway-terraform.com", - subdomain="test") - ``` - ## Import - Zone can be imported using the `{subdomain}.{domain}`, e.g. + This section explains how to import a zone using the `{subdomain}.{domain}` format. bash @@ -359,15 +331,15 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] domain: The domain where the DNS zone will be created. - :param pulumi.Input[str] message: Message - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns: NameServer list for zone. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_defaults: NameServer default list for zone. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_masters: NameServer master list for zone. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the domain is associated with. - :param pulumi.Input[str] status: The domain zone status. - :param pulumi.Input[str] subdomain: The subdomain(zone name) to create in the domain. - :param pulumi.Input[str] updated_at: The date and time of the last update of the DNS zone. + :param pulumi.Input[str] domain: The main domain where the DNS zone will be created. + :param pulumi.Input[str] message: Message. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns: The list of same servers for the zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_defaults: The default list of same servers for the zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ns_masters: The master list of same servers for the zone. + :param pulumi.Input[str] project_id: `project_id`) The ID of the Project associated with the domain. + :param pulumi.Input[str] status: The status of the domain zone. + :param pulumi.Input[str] subdomain: The name of the subdomain (zone name) to create within the domain. + :param pulumi.Input[str] updated_at: The date and time at which the DNS zone was last updated. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -388,7 +360,7 @@ def get(resource_name: str, @pulumi.getter def domain(self) -> pulumi.Output[str]: """ - The domain where the DNS zone will be created. + The main domain where the DNS zone will be created. """ return pulumi.get(self, "domain") @@ -396,7 +368,7 @@ def domain(self) -> pulumi.Output[str]: @pulumi.getter def message(self) -> pulumi.Output[str]: """ - Message + Message. """ return pulumi.get(self, "message") @@ -404,7 +376,7 @@ def message(self) -> pulumi.Output[str]: @pulumi.getter def ns(self) -> pulumi.Output[Sequence[str]]: """ - NameServer list for zone. + The list of same servers for the zone. """ return pulumi.get(self, "ns") @@ -412,7 +384,7 @@ def ns(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="nsDefaults") def ns_defaults(self) -> pulumi.Output[Sequence[str]]: """ - NameServer default list for zone. + The default list of same servers for the zone. """ return pulumi.get(self, "ns_defaults") @@ -420,7 +392,7 @@ def ns_defaults(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="nsMasters") def ns_masters(self) -> pulumi.Output[Sequence[str]]: """ - NameServer master list for zone. + The master list of same servers for the zone. """ return pulumi.get(self, "ns_masters") @@ -428,7 +400,7 @@ def ns_masters(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[str]: """ - `project_id`) The ID of the project the domain is associated with. + `project_id`) The ID of the Project associated with the domain. """ return pulumi.get(self, "project_id") @@ -436,7 +408,7 @@ def project_id(self) -> pulumi.Output[str]: @pulumi.getter def status(self) -> pulumi.Output[str]: """ - The domain zone status. + The status of the domain zone. """ return pulumi.get(self, "status") @@ -444,7 +416,7 @@ def status(self) -> pulumi.Output[str]: @pulumi.getter def subdomain(self) -> pulumi.Output[str]: """ - The subdomain(zone name) to create in the domain. + The name of the subdomain (zone name) to create within the domain. """ return pulumi.get(self, "subdomain") @@ -452,7 +424,7 @@ def subdomain(self) -> pulumi.Output[str]: @pulumi.getter(name="updatedAt") def updated_at(self) -> pulumi.Output[str]: """ - The date and time of the last update of the DNS zone. + The date and time at which the DNS zone was last updated. """ return pulumi.get(self, "updated_at") diff --git a/sdk/python/pulumiverse_scaleway/get_block_snapshot.py b/sdk/python/pulumiverse_scaleway/get_block_snapshot.py index f4c16260..9bbd0dfd 100644 --- a/sdk/python/pulumiverse_scaleway/get_block_snapshot.py +++ b/sdk/python/pulumiverse_scaleway/get_block_snapshot.py @@ -110,14 +110,16 @@ def get_block_snapshot(name: Optional[str] = None, zone: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBlockSnapshotResult: """ - Gets information about a Block Snapshot. + The `BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. - :param str name: The name of the snapshot. Only one of `name` and `snapshot_id` should be specified. - :param str project_id: The ID of the project the snapshot is associated with. - :param str snapshot_id: The ID of the snapshot. Only one of `name` and `snapshot_id` should be specified. - :param str volume_id: The ID of the volume from which the snapshot has been created. - :param str zone: `zone`) The zone in which the snapshot exists. + + :param str name: The name of the snapshot. Only one of name or snapshot_id should be specified. + :param str project_id: The unique identifier of the Project to which the snapshot is associated. + :param str snapshot_id: The unique identifier of the snapshot. Only one of `name` and `snapshot_id` should be specified. + :param str volume_id: The unique identifier of the volume from which the snapshot was created. + :param str zone: ) The zone in which the snapshot exists. """ __args__ = dict() __args__['name'] = name @@ -143,14 +145,16 @@ def get_block_snapshot_output(name: Optional[pulumi.Input[Optional[str]]] = None zone: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBlockSnapshotResult]: """ - Gets information about a Block Snapshot. + The `BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. + + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. - :param str name: The name of the snapshot. Only one of `name` and `snapshot_id` should be specified. - :param str project_id: The ID of the project the snapshot is associated with. - :param str snapshot_id: The ID of the snapshot. Only one of `name` and `snapshot_id` should be specified. - :param str volume_id: The ID of the volume from which the snapshot has been created. - :param str zone: `zone`) The zone in which the snapshot exists. + :param str name: The name of the snapshot. Only one of name or snapshot_id should be specified. + :param str project_id: The unique identifier of the Project to which the snapshot is associated. + :param str snapshot_id: The unique identifier of the snapshot. Only one of `name` and `snapshot_id` should be specified. + :param str volume_id: The unique identifier of the volume from which the snapshot was created. + :param str zone: ) The zone in which the snapshot exists. """ __args__ = dict() __args__['name'] = name diff --git a/sdk/python/pulumiverse_scaleway/get_block_volume.py b/sdk/python/pulumiverse_scaleway/get_block_volume.py index 59e0ed51..37a05ec2 100644 --- a/sdk/python/pulumiverse_scaleway/get_block_volume.py +++ b/sdk/python/pulumiverse_scaleway/get_block_volume.py @@ -127,13 +127,14 @@ def get_block_volume(name: Optional[str] = None, zone: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBlockVolumeResult: """ - Gets information about a Block Volume. + The `BlockVolume` data source is used to retrieve information about a Block Storage volume. + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. :param str name: The name of the volume. Only one of `name` and `volume_id` should be specified. - :param str project_id: The ID of the project the volume is associated with. - :param str volume_id: The ID of the volume. Only one of `name` and `volume_id` should be specified. - :param str zone: `zone`) The zone in which the volume exists. + :param str project_id: The unique identifier of the Project to which the volume is associated. + :param str volume_id: The unique identifier of the volume. Only one of `name` and `volume_id` should be specified. + :param str zone: ). The zone in which the volume exists. """ __args__ = dict() __args__['name'] = name @@ -159,13 +160,14 @@ def get_block_volume_output(name: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBlockVolumeResult]: """ - Gets information about a Block Volume. + The `BlockVolume` data source is used to retrieve information about a Block Storage volume. + Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information. :param str name: The name of the volume. Only one of `name` and `volume_id` should be specified. - :param str project_id: The ID of the project the volume is associated with. - :param str volume_id: The ID of the volume. Only one of `name` and `volume_id` should be specified. - :param str zone: `zone`) The zone in which the volume exists. + :param str project_id: The unique identifier of the Project to which the volume is associated. + :param str volume_id: The unique identifier of the volume. Only one of `name` and `volume_id` should be specified. + :param str zone: ). The zone in which the volume exists. """ __args__ = dict() __args__['name'] = name diff --git a/sdk/python/pulumiverse_scaleway/get_cockpit.py b/sdk/python/pulumiverse_scaleway/get_cockpit.py index 02fd9b5d..f17c6cde 100644 --- a/sdk/python/pulumiverse_scaleway/get_cockpit.py +++ b/sdk/python/pulumiverse_scaleway/get_cockpit.py @@ -27,13 +27,16 @@ class GetCockpitResult: """ A collection of values returned by getCockpit. """ - def __init__(__self__, endpoints=None, id=None, plan_id=None, project_id=None, push_urls=None): + def __init__(__self__, endpoints=None, id=None, plan=None, plan_id=None, project_id=None, push_urls=None): if endpoints and not isinstance(endpoints, list): raise TypeError("Expected argument 'endpoints' to be a list") pulumi.set(__self__, "endpoints", endpoints) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if plan and not isinstance(plan, str): + raise TypeError("Expected argument 'plan' to be a str") + pulumi.set(__self__, "plan", plan) if plan_id and not isinstance(plan_id, str): raise TypeError("Expected argument 'plan_id' to be a str") pulumi.set(__self__, "plan_id", plan_id) @@ -48,7 +51,7 @@ def __init__(__self__, endpoints=None, id=None, plan_id=None, project_id=None, p @pulumi.getter def endpoints(self) -> Sequence['outputs.GetCockpitEndpointResult']: """ - Endpoints + (Deprecated) A list of [endpoints](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#endpoints) related to Cockpit, each with specific URLs: """ return pulumi.get(self, "endpoints") @@ -60,11 +63,16 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter + def plan(self) -> str: + return pulumi.get(self, "plan") + @property @pulumi.getter(name="planId") def plan_id(self) -> str: """ - The ID of the current plan + (Deprecated) ID of the current pricing plan """ return pulumi.get(self, "plan_id") @@ -87,6 +95,7 @@ def __await__(self): return GetCockpitResult( endpoints=self.endpoints, id=self.id, + plan=self.plan, plan_id=self.plan_id, project_id=self.project_id, push_urls=self.push_urls) @@ -95,21 +104,28 @@ def __await__(self): def get_cockpit(project_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCockpitResult: """ + > **Important:** The data source `Cockpit` has been deprecated and will no longer be supported. Instead, use resource `Cockpit`. + > **Note:** - As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. + + The `Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. - Gets information about the Scaleway Cockpit. + Refer 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. - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + ## Retrieve a Cockpit - ## Example Usage + The following commands allow you to: + + - get information on the Cockpit associated with your Scaleway default Project + - get information on the Cockpit associated with a specific Scaleway Project ```python import pulumi import pulumi_scaleway as scaleway - # Get default project's cockpit + # Get the default Project's Cockpit main = scaleway.get_cockpit() ``` @@ -117,12 +133,12 @@ def get_cockpit(project_id: Optional[str] = None, import pulumi import pulumi_scaleway as scaleway - # Get a specific project's cockpit + # Get a specific Project's Cockpit main = scaleway.get_cockpit(project_id="11111111-1111-1111-1111-111111111111") ``` - :param str project_id: `project_id`) The ID of the project the cockpit is associated with. + :param str project_id: Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. """ __args__ = dict() __args__['projectId'] = project_id @@ -132,27 +148,35 @@ def get_cockpit(project_id: Optional[str] = None, return AwaitableGetCockpitResult( endpoints=pulumi.get(__ret__, 'endpoints'), id=pulumi.get(__ret__, 'id'), + plan=pulumi.get(__ret__, 'plan'), plan_id=pulumi.get(__ret__, 'plan_id'), project_id=pulumi.get(__ret__, 'project_id'), push_urls=pulumi.get(__ret__, 'push_urls')) def get_cockpit_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCockpitResult]: """ + > **Important:** The data source `Cockpit` has been deprecated and will no longer be supported. Instead, use resource `Cockpit`. + > **Note:** - As of April 2024, Cockpit has introduced regionalization to offer more flexibility and resilience. - If you have customized dashboards in Grafana for monitoring Scaleway resources, please update your queries to accommodate the new regionalized data sources. + As of April 2024, Cockpit has introduced [regionalization](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#region) to offer more flexibility and resilience. + If you have created customized dashboards with data for your Scaleway resources before April 2024, you will need to update your queries in Grafana, with the new regionalized data sources. + + The `Cockpit` data source is used to retrieve information about a Scaleway Cockpit associated with a given Project. This can be the default Project or a specific Project identified by its ID. + + Refer 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. - Gets information about the Scaleway Cockpit. + ## Retrieve a Cockpit - For more information consult the [documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/). + The following commands allow you to: - ## Example Usage + - get information on the Cockpit associated with your Scaleway default Project + - get information on the Cockpit associated with a specific Scaleway Project ```python import pulumi import pulumi_scaleway as scaleway - # Get default project's cockpit + # Get the default Project's Cockpit main = scaleway.get_cockpit() ``` @@ -160,12 +184,12 @@ def get_cockpit_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, import pulumi import pulumi_scaleway as scaleway - # Get a specific project's cockpit + # Get a specific Project's Cockpit main = scaleway.get_cockpit(project_id="11111111-1111-1111-1111-111111111111") ``` - :param str project_id: `project_id`) The ID of the project the cockpit is associated with. + :param str project_id: Specifies the ID of the Scaleway Project that the Cockpit is associated with. If not specified, it defaults to the Project ID specified in the provider configuration. """ __args__ = dict() __args__['projectId'] = project_id @@ -174,6 +198,7 @@ def get_cockpit_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, return __ret__.apply(lambda __response__: GetCockpitResult( endpoints=pulumi.get(__response__, 'endpoints'), id=pulumi.get(__response__, 'id'), + plan=pulumi.get(__response__, 'plan'), plan_id=pulumi.get(__response__, 'plan_id'), project_id=pulumi.get(__response__, 'project_id'), push_urls=pulumi.get(__response__, 'push_urls'))) diff --git a/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py b/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py index c6c98b64..8172d097 100644 --- a/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py +++ b/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py @@ -61,9 +61,15 @@ def __await__(self): def get_cockpit_plan(name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCockpitPlanResult: """ - Gets information about a Scaleway Cockpit plan. + The `get_cockpit_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `Cockpit`. - ## Example Usage + Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + + Refer 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. + + ## Fetch and associate a pricing plan to a Cockpit + + The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. ```python import pulumi @@ -75,7 +81,7 @@ def get_cockpit_plan(name: Optional[str] = None, ``` - :param str name: The name of the plan. + :param str name: Name of the pricing plan you want to retrieve information about. """ __args__ = dict() __args__['name'] = name @@ -88,9 +94,15 @@ def get_cockpit_plan(name: Optional[str] = None, def get_cockpit_plan_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCockpitPlanResult]: """ - Gets information about a Scaleway Cockpit plan. + The `get_cockpit_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `Cockpit`. + + Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console. + + Refer 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. + + ## Fetch and associate a pricing plan to a Cockpit - ## Example Usage + The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project. ```python import pulumi @@ -102,7 +114,7 @@ def get_cockpit_plan_output(name: Optional[pulumi.Input[str]] = None, ``` - :param str name: The name of the plan. + :param str name: Name of the pricing plan you want to retrieve information about. """ __args__ = dict() __args__['name'] = name diff --git a/sdk/python/pulumiverse_scaleway/get_domain_record.py b/sdk/python/pulumiverse_scaleway/get_domain_record.py index 7a68a43b..8fff97f6 100644 --- a/sdk/python/pulumiverse_scaleway/get_domain_record.py +++ b/sdk/python/pulumiverse_scaleway/get_domain_record.py @@ -96,7 +96,7 @@ def fqdn(self) -> str: @pulumi.getter(name="geoIps") def geo_ips(self) -> Sequence['outputs.GetDomainRecordGeoIpResult']: """ - Dynamic record base on user geolocalisation (More information about dynamic records) + Information about dynamic records based on user geolocation. Find out more about dynamic records. """ return pulumi.get(self, "geo_ips") @@ -104,7 +104,7 @@ def geo_ips(self) -> Sequence['outputs.GetDomainRecordGeoIpResult']: @pulumi.getter(name="httpServices") def http_services(self) -> Sequence['outputs.GetDomainRecordHttpServiceResult']: """ - Dynamic record base on URL resolve (More information about dynamic records) + Information about dynamic records based on URL resolution. Find out more about dynamic records. """ return pulumi.get(self, "http_services") @@ -130,7 +130,7 @@ def name(self) -> Optional[str]: @pulumi.getter def priority(self) -> int: """ - The priority of the record (mostly used with an `MX` record) + The priority of the record, mainly used with `MX` records. """ return pulumi.get(self, "priority") @@ -153,7 +153,7 @@ def root_zone(self) -> bool: @pulumi.getter def ttl(self) -> int: """ - Time To Live of the record in seconds. + The Time To Live (TTL) of the record in seconds. """ return pulumi.get(self, "ttl") @@ -166,7 +166,7 @@ def type(self) -> Optional[str]: @pulumi.getter def views(self) -> Sequence['outputs.GetDomainRecordViewResult']: """ - Dynamic record based on the client’s (resolver) subnet (More information about dynamic records) + Information about dynamic records based on the client’s (resolver) subnet. Find out more about dynamic records. """ return pulumi.get(self, "views") @@ -174,7 +174,7 @@ def views(self) -> Sequence['outputs.GetDomainRecordViewResult']: @pulumi.getter def weighteds(self) -> Sequence['outputs.GetDomainRecordWeightedResult']: """ - Dynamic record base on IP weights (More information about dynamic records) + Information about dynamic records based on IP weights. Find out more about dynamic records. """ return pulumi.get(self, "weighteds") @@ -211,35 +211,38 @@ def get_domain_record(data: Optional[str] = None, type: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainRecordResult: """ - Gets information about a domain record. + The `DomainRecord` data source is used to get information about an existing domain record. - ## Example Usage + Refer 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. + + ## Query domain records + + The following commands allow you to: + + - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). ```python import pulumi import pulumi_scaleway as scaleway - # Get record by name, type and data + # Query record by DNS zone, record name, type and content by_content = scaleway.get_domain_record(dns_zone="domain.tld", name="www", type="A", data="1.2.3.4") - # Get info by ID + # Query record by DNS zone and record ID by_id = scaleway.get_domain_record(dns_zone="domain.tld", record_id="11111111-1111-1111-1111-111111111111") ``` - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. - :param str dns_zone: The IP address. - :param str name: The name of the record (can be an empty string for a root record). - Cannot be used with `record_id`. - :param str project_id: `project_id`) The ID of the project the domain is associated with. - :param str record_id: The record ID. - Cannot be used with `name`, `type` and `data`. - :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - Cannot be used with `record_id`. + :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. + :param str dns_zone: The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. + :param str name: The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`. + :param str project_id: ). The ID of the Project associated with the domain. + :param str record_id: The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. + :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`. """ __args__ = dict() __args__['data'] = data @@ -276,35 +279,38 @@ def get_domain_record_output(data: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainRecordResult]: """ - Gets information about a domain record. + The `DomainRecord` data source is used to get information about an existing domain record. + + Refer 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. + + ## Query domain records + + The following commands allow you to: - ## Example Usage + - query a domain record specified by the DNS zone (`domain.tld`), the record name (`www`), the record type (`A`), and the record content (`1.2.3.4`). + - query a domain record specified by the DNS zone (`domain.tld`) and the unique record ID (`11111111-1111-1111-1111-111111111111`). ```python import pulumi import pulumi_scaleway as scaleway - # Get record by name, type and data + # Query record by DNS zone, record name, type and content by_content = scaleway.get_domain_record(dns_zone="domain.tld", name="www", type="A", data="1.2.3.4") - # Get info by ID + # Query record by DNS zone and record ID by_id = scaleway.get_domain_record(dns_zone="domain.tld", record_id="11111111-1111-1111-1111-111111111111") ``` - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. - :param str dns_zone: The IP address. - :param str name: The name of the record (can be an empty string for a root record). - Cannot be used with `record_id`. - :param str project_id: `project_id`) The ID of the project the domain is associated with. - :param str record_id: The record ID. - Cannot be used with `name`, `type` and `data`. - :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`). - Cannot be used with `record_id`. + :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. + :param str dns_zone: The DNS zone (domain) to which the record belongs. This is a required field in both examples above but is optional in the context of defining the data source. + :param str name: The name of the record, which can be an empty string for a root record. Cannot be used with `record_id`. + :param str project_id: ). The ID of the Project associated with the domain. + :param str record_id: The unique identifier of the record. Cannot be used with `name`, `type`, and `data`. + :param str type: The type of the record (`A`, `AAAA`, `MX`, `CNAME`, etc.). Cannot be used with `record_id`. """ __args__ = dict() __args__['data'] = data diff --git a/sdk/python/pulumiverse_scaleway/get_domain_zone.py b/sdk/python/pulumiverse_scaleway/get_domain_zone.py index 4003b4bd..022f04f1 100644 --- a/sdk/python/pulumiverse_scaleway/get_domain_zone.py +++ b/sdk/python/pulumiverse_scaleway/get_domain_zone.py @@ -75,7 +75,7 @@ def id(self) -> str: @pulumi.getter def message(self) -> str: """ - Message + Message associated with the domain zone (typically used for status or error messages). """ return pulumi.get(self, "message") @@ -83,7 +83,7 @@ def message(self) -> str: @pulumi.getter def ns(self) -> Sequence[str]: """ - NameServer list for zone. + The list of name servers for the zone. """ return pulumi.get(self, "ns") @@ -91,7 +91,7 @@ def ns(self) -> Sequence[str]: @pulumi.getter(name="nsDefaults") def ns_defaults(self) -> Sequence[str]: """ - NameServer default list for zone. + The default list of name servers for the zone. """ return pulumi.get(self, "ns_defaults") @@ -99,7 +99,7 @@ def ns_defaults(self) -> Sequence[str]: @pulumi.getter(name="nsMasters") def ns_masters(self) -> Sequence[str]: """ - NameServer master list for zone. + The master list of name servers for the zone. """ return pulumi.get(self, "ns_masters") @@ -112,7 +112,7 @@ def project_id(self) -> str: @pulumi.getter def status(self) -> str: """ - The domain zone status. + The status of the domain zone. """ return pulumi.get(self, "status") @@ -125,7 +125,7 @@ def subdomain(self) -> Optional[str]: @pulumi.getter(name="updatedAt") def updated_at(self) -> str: """ - The date and time of the last update of the DNS zone. + The date and time of the last update to the DNS zone. """ return pulumi.get(self, "updated_at") @@ -152,22 +152,10 @@ def get_domain_zone(domain: Optional[str] = None, subdomain: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainZoneResult: """ - Gets information about a domain zone. + Use this data source to access information about an existing resource. - ## Example Usage - - ```python - import pulumi - import pulumi_scaleway as scaleway - - # Get zone - main = scaleway.get_domain_zone(domain="scaleway-terraform.com", - subdomain="test") - ``` - - - :param str domain: The domain where the DNS zone will be created. - :param str subdomain: The subdomain(zone name) to create in the domain. + :param str domain: The primary domain name where the DNS zone is located. This is a mandatory field. + :param str subdomain: The subdomain (or zone name) within the primary domain. This is a mandatory field. """ __args__ = dict() __args__['domain'] = domain @@ -190,22 +178,10 @@ def get_domain_zone_output(domain: Optional[pulumi.Input[Optional[str]]] = None, subdomain: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainZoneResult]: """ - Gets information about a domain zone. - - ## Example Usage - - ```python - import pulumi - import pulumi_scaleway as scaleway - - # Get zone - main = scaleway.get_domain_zone(domain="scaleway-terraform.com", - subdomain="test") - ``` - + Use this data source to access information about an existing resource. - :param str domain: The domain where the DNS zone will be created. - :param str subdomain: The subdomain(zone name) to create in the domain. + :param str domain: The primary domain name where the DNS zone is located. This is a mandatory field. + :param str subdomain: The subdomain (or zone name) within the primary domain. This is a mandatory field. """ __args__ = dict() __args__['domain'] = domain diff --git a/sdk/python/pulumiverse_scaleway/get_mnq_sns.py b/sdk/python/pulumiverse_scaleway/get_mnq_sns.py new file mode 100644 index 00000000..02e651b1 --- /dev/null +++ b/sdk/python/pulumiverse_scaleway/get_mnq_sns.py @@ -0,0 +1,150 @@ +# 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__ = [ + 'GetMnqSnsResult', + 'AwaitableGetMnqSnsResult', + 'get_mnq_sns', + 'get_mnq_sns_output', +] + +@pulumi.output_type +class GetMnqSnsResult: + """ + A collection of values returned by getMnqSns. + """ + def __init__(__self__, endpoint=None, id=None, project_id=None, region=None): + if endpoint and not isinstance(endpoint, str): + raise TypeError("Expected argument 'endpoint' to be a str") + pulumi.set(__self__, "endpoint", endpoint) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", 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) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + The endpoint of the SNS service for this Project. + """ + return pulumi.get(self, "endpoint") + + @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="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") + + +class AwaitableGetMnqSnsResult(GetMnqSnsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMnqSnsResult( + endpoint=self.endpoint, + id=self.id, + project_id=self.project_id, + region=self.region) + + +def get_mnq_sns(project_id: Optional[str] = None, + region: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMnqSnsResult: + """ + Gets information about SNS for a Project + + ## Examples + + ### Basic + + ```python + import pulumi + import pulumi_scaleway as scaleway + + # For default project + main = scaleway.get_mnq_sns() + # For specific project + for_project = scaleway.get_mnq_sns(project_id=main_scaleway_account_project["id"]) + ``` + + + :param str project_id: `project_id`) The ID of the Project in which sns is enabled. + :param str region: `region`). The region in which sns is enabled. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('scaleway:index/getMnqSns:getMnqSns', __args__, opts=opts, typ=GetMnqSnsResult).value + + return AwaitableGetMnqSnsResult( + endpoint=pulumi.get(__ret__, 'endpoint'), + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region')) +def get_mnq_sns_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, + region: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMnqSnsResult]: + """ + Gets information about SNS for a Project + + ## Examples + + ### Basic + + ```python + import pulumi + import pulumi_scaleway as scaleway + + # For default project + main = scaleway.get_mnq_sns() + # For specific project + for_project = scaleway.get_mnq_sns(project_id=main_scaleway_account_project["id"]) + ``` + + + :param str project_id: `project_id`) The ID of the Project in which sns is enabled. + :param str region: `region`). The region in which sns is enabled. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('scaleway:index/getMnqSns:getMnqSns', __args__, opts=opts, typ=GetMnqSnsResult) + return __ret__.apply(lambda __response__: GetMnqSnsResult( + endpoint=pulumi.get(__response__, 'endpoint'), + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumiverse_scaleway/get_secret.py b/sdk/python/pulumiverse_scaleway/get_secret.py index f0b872d2..d5dc9b95 100644 --- a/sdk/python/pulumiverse_scaleway/get_secret.py +++ b/sdk/python/pulumiverse_scaleway/get_secret.py @@ -13,6 +13,7 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities +from . import outputs __all__ = [ 'GetSecretResult', @@ -26,13 +27,16 @@ class GetSecretResult: """ A collection of values returned by getSecret. """ - def __init__(__self__, created_at=None, description=None, id=None, name=None, organization_id=None, path=None, project_id=None, region=None, secret_id=None, status=None, tags=None, updated_at=None, version_count=None): + def __init__(__self__, created_at=None, description=None, ephemeral_policies=None, id=None, name=None, organization_id=None, path=None, project_id=None, protected=None, region=None, secret_id=None, status=None, tags=None, type=None, updated_at=None, version_count=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 description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if ephemeral_policies and not isinstance(ephemeral_policies, list): + raise TypeError("Expected argument 'ephemeral_policies' to be a list") + pulumi.set(__self__, "ephemeral_policies", ephemeral_policies) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -48,6 +52,9 @@ def __init__(__self__, created_at=None, description=None, id=None, name=None, or 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 protected and not isinstance(protected, bool): + raise TypeError("Expected argument 'protected' to be a bool") + pulumi.set(__self__, "protected", protected) if region and not isinstance(region, str): raise TypeError("Expected argument 'region' to be a str") pulumi.set(__self__, "region", region) @@ -60,6 +67,9 @@ def __init__(__self__, created_at=None, description=None, id=None, name=None, or if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) 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) @@ -77,6 +87,11 @@ def created_at(self) -> str: def description(self) -> str: return pulumi.get(self, "description") + @property + @pulumi.getter(name="ephemeralPolicies") + def ephemeral_policies(self) -> Sequence['outputs.GetSecretEphemeralPolicyResult']: + return pulumi.get(self, "ephemeral_policies") + @property @pulumi.getter def id(self) -> str: @@ -105,6 +120,11 @@ def path(self) -> Optional[str]: def project_id(self) -> Optional[str]: return pulumi.get(self, "project_id") + @property + @pulumi.getter + def protected(self) -> bool: + return pulumi.get(self, "protected") + @property @pulumi.getter def region(self) -> Optional[str]: @@ -125,6 +145,11 @@ def status(self) -> str: def tags(self) -> Sequence[str]: return pulumi.get(self, "tags") + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + @property @pulumi.getter(name="updatedAt") def updated_at(self) -> str: @@ -144,15 +169,18 @@ def __await__(self): return GetSecretResult( created_at=self.created_at, description=self.description, + ephemeral_policies=self.ephemeral_policies, id=self.id, name=self.name, organization_id=self.organization_id, path=self.path, project_id=self.project_id, + protected=self.protected, region=self.region, secret_id=self.secret_id, status=self.status, tags=self.tags, + type=self.type, updated_at=self.updated_at, version_count=self.version_count) @@ -165,38 +193,45 @@ def get_secret(name: Optional[str] = None, secret_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecretResult: """ - Gets information about Scaleway Secrets. - For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + The `Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + + ## Example Usage + + ### Create a secret and get its information - ## Examples + The following commands allow you to: - ### Basic + - create a secret named `foo` with the description `barr` + - retrieve the secret's information using the secret's ID + - retrieve the secret's information using the secret's name ```python import pulumi import pulumi_scaleway as scaleway import pulumiverse_scaleway as scaleway + # Create a secret main = scaleway.Secret("main", name="foo", description="barr") - # Get info by secret ID + # Get the secret information specified by the secret ID my_secret = scaleway.get_secret(secret_id="11111111-1111-1111-1111-111111111111") - # Get info by secret Name + # Get the secret information specified by the secret name by_name = scaleway.get_secret(name="your_secret_name") ``` - :param str name: The secret name. + :param str name: The name of the secret. Only one of `name` and `secret_id` should be specified. - :param str organization_id: The organization ID the Project is associated with. - If no default organization_id is set, one must be set explicitly in this datasource - :param str path: The secret path. + :param str organization_id: The ID of the Scaleway Organization the Project is associated with. If no default `organization_id` is set, it must be set explicitly in this data source. + :param str path: The path of the secret. Conflicts with `secret_id`. - :param str project_id: `project_id`) The ID of the - project the secret is associated with. - :param str region: `region`) The region in which the secret exists. - :param str secret_id: The secret id. + :param str project_id: ). The ID of the + Project the secret is associated with. + :param str region: ). The region in which the secret exists. + :param str secret_id: The ID of the secret. Only one of `name` and `secret_id` should be specified. """ __args__ = dict() @@ -212,15 +247,18 @@ def get_secret(name: Optional[str] = None, return AwaitableGetSecretResult( created_at=pulumi.get(__ret__, 'created_at'), description=pulumi.get(__ret__, 'description'), + ephemeral_policies=pulumi.get(__ret__, 'ephemeral_policies'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), organization_id=pulumi.get(__ret__, 'organization_id'), path=pulumi.get(__ret__, 'path'), project_id=pulumi.get(__ret__, 'project_id'), + protected=pulumi.get(__ret__, 'protected'), region=pulumi.get(__ret__, 'region'), secret_id=pulumi.get(__ret__, 'secret_id'), status=pulumi.get(__ret__, 'status'), tags=pulumi.get(__ret__, 'tags'), + type=pulumi.get(__ret__, 'type'), updated_at=pulumi.get(__ret__, 'updated_at'), version_count=pulumi.get(__ret__, 'version_count')) def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None, @@ -231,38 +269,45 @@ def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None, secret_id: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretResult]: """ - Gets information about Scaleway Secrets. - For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/). + The `Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + + ## Example Usage + + ### Create a secret and get its information - ## Examples + The following commands allow you to: - ### Basic + - create a secret named `foo` with the description `barr` + - retrieve the secret's information using the secret's ID + - retrieve the secret's information using the secret's name ```python import pulumi import pulumi_scaleway as scaleway import pulumiverse_scaleway as scaleway + # Create a secret main = scaleway.Secret("main", name="foo", description="barr") - # Get info by secret ID + # Get the secret information specified by the secret ID my_secret = scaleway.get_secret(secret_id="11111111-1111-1111-1111-111111111111") - # Get info by secret Name + # Get the secret information specified by the secret name by_name = scaleway.get_secret(name="your_secret_name") ``` - :param str name: The secret name. + :param str name: The name of the secret. Only one of `name` and `secret_id` should be specified. - :param str organization_id: The organization ID the Project is associated with. - If no default organization_id is set, one must be set explicitly in this datasource - :param str path: The secret path. + :param str organization_id: The ID of the Scaleway Organization the Project is associated with. If no default `organization_id` is set, it must be set explicitly in this data source. + :param str path: The path of the secret. Conflicts with `secret_id`. - :param str project_id: `project_id`) The ID of the - project the secret is associated with. - :param str region: `region`) The region in which the secret exists. - :param str secret_id: The secret id. + :param str project_id: ). The ID of the + Project the secret is associated with. + :param str region: ). The region in which the secret exists. + :param str secret_id: The ID of the secret. Only one of `name` and `secret_id` should be specified. """ __args__ = dict() @@ -277,14 +322,17 @@ def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None, return __ret__.apply(lambda __response__: GetSecretResult( created_at=pulumi.get(__response__, 'created_at'), description=pulumi.get(__response__, 'description'), + ephemeral_policies=pulumi.get(__response__, 'ephemeral_policies'), id=pulumi.get(__response__, 'id'), name=pulumi.get(__response__, 'name'), organization_id=pulumi.get(__response__, 'organization_id'), path=pulumi.get(__response__, 'path'), project_id=pulumi.get(__response__, 'project_id'), + protected=pulumi.get(__response__, 'protected'), region=pulumi.get(__response__, 'region'), secret_id=pulumi.get(__response__, 'secret_id'), status=pulumi.get(__response__, 'status'), tags=pulumi.get(__response__, 'tags'), + type=pulumi.get(__response__, 'type'), updated_at=pulumi.get(__response__, 'updated_at'), version_count=pulumi.get(__response__, 'version_count'))) diff --git a/sdk/python/pulumiverse_scaleway/get_secret_version.py b/sdk/python/pulumiverse_scaleway/get_secret_version.py index c0a59ffa..eb242c70 100644 --- a/sdk/python/pulumiverse_scaleway/get_secret_version.py +++ b/sdk/python/pulumiverse_scaleway/get_secret_version.py @@ -26,7 +26,7 @@ class GetSecretVersionResult: """ A collection of values returned by getSecretVersion. """ - def __init__(__self__, created_at=None, data=None, description=None, id=None, project_id=None, region=None, revision=None, secret_id=None, secret_name=None, status=None, updated_at=None): + def __init__(__self__, created_at=None, data=None, description=None, id=None, organization_id=None, project_id=None, region=None, revision=None, secret_id=None, secret_name=None, status=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) @@ -39,6 +39,9 @@ def __init__(__self__, created_at=None, data=None, description=None, id=None, pr if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + 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) @@ -65,7 +68,7 @@ def __init__(__self__, created_at=None, data=None, description=None, id=None, pr @pulumi.getter(name="createdAt") def created_at(self) -> str: """ - Date and time of secret version's creation (RFC 3339 format). + The date and time of the secret version's creation in RFC 3339 format. """ return pulumi.get(self, "created_at") @@ -73,7 +76,7 @@ def created_at(self) -> str: @pulumi.getter def data(self) -> str: """ - The data payload of the secret version. more on the data section + The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information). """ return pulumi.get(self, "data") @@ -81,7 +84,7 @@ def data(self) -> str: @pulumi.getter def description(self) -> str: """ - (Optional) Description of the secret version (e.g. `my-new-description`). + (Optional) The description of the secret version (e.g. `my-new-description`). """ return pulumi.get(self, "description") @@ -93,6 +96,11 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> str: + return pulumi.get(self, "organization_id") + @property @pulumi.getter(name="projectId") def project_id(self) -> Optional[str]: @@ -122,7 +130,7 @@ def secret_name(self) -> Optional[str]: @pulumi.getter def status(self) -> str: """ - The status of the Secret Version. + The status of the secret version. """ return pulumi.get(self, "status") @@ -130,7 +138,7 @@ def status(self) -> str: @pulumi.getter(name="updatedAt") def updated_at(self) -> str: """ - Date and time of secret version's last update (RFC 3339 format). + The date and time of the secret version's last update in RFC 3339 format. """ return pulumi.get(self, "updated_at") @@ -145,6 +153,7 @@ def __await__(self): data=self.data, description=self.description, id=self.id, + organization_id=self.organization_id, project_id=self.project_id, region=self.region, revision=self.revision, @@ -154,60 +163,73 @@ def __await__(self): updated_at=self.updated_at) -def get_secret_version(project_id: Optional[str] = None, +def get_secret_version(organization_id: Optional[str] = None, + project_id: Optional[str] = None, region: Optional[str] = None, revision: Optional[str] = None, secret_id: Optional[str] = None, secret_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecretVersionResult: """ - Gets information about Scaleway a Secret Version. - For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + The `SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + + ## Example Usage + + ### Use Secret Manager + + The following commands allow you to: - ## Examples + - create a secret named `fooii` + - create a new version of `fooii` containing data (`your_secret`) + - retrieve the secret version specified by the secret ID and the desired version + - retrieve the secret version specified by the secret name and the desired version - ### Basic + The output blocks display the sensitive data contained in your secret version. ```python import pulumi import pulumi_scaleway as scaleway import pulumiverse_scaleway as scaleway + # Create a secret named fooii main = scaleway.Secret("main", name="fooii", description="barr") + # Create a version of fooii containing data main_secret_version = scaleway.SecretVersion("main", description="your description", secret_id=main.id, data="your_secret") + # Retrieve the secret version specified by the secret ID and the desired version data_by_secret_id = scaleway.get_secret_version_output(secret_id=main.id, revision="1") + # Retrieve the secret version specified by the secret name and the desired version data_by_secret_name = scaleway.get_secret_version_output(secret_name=main.name, revision="1") pulumi.export("scalewaySecretAccessPayload", data_by_secret_name.data) pulumi.export("scalewaySecretAccessPayloadById", data_by_secret_id.data) ``` - ## Data + ## Data information - Note: This Data Source give you **access** to the secret payload encoded en base64. + Note: This data source provides you with access to the secret payload, which is encoded in base64. - Be aware that this is a sensitive attribute. For more information, + Keep in mind that this is a sensitive attribute. For more information, see Sensitive Data in State. - > **Important:** This property is sensitive and will not be displayed in the plan. + > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. - :param str project_id: The ID of the project the Secret version is associated with. - :param str region: `region`) The region - in which the resource exists. - :param str revision: The revision for this Secret Version. - :param str secret_id: The Secret ID associated wit the secret version. - Only one of `secret_id` and `secret_name` should be specified. - :param str secret_name: The Name of Secret associated wit the secret version. + :param str project_id: The ID of the Scaleway Project associated with the secret version. + :param str revision: The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) + :param str secret_id: The ID of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. + :param str secret_name: The name of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. """ __args__ = dict() + __args__['organizationId'] = organization_id __args__['projectId'] = project_id __args__['region'] = region __args__['revision'] = revision @@ -221,6 +243,7 @@ def get_secret_version(project_id: Optional[str] = None, data=pulumi.get(__ret__, 'data'), description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), + organization_id=pulumi.get(__ret__, 'organization_id'), project_id=pulumi.get(__ret__, 'project_id'), region=pulumi.get(__ret__, 'region'), revision=pulumi.get(__ret__, 'revision'), @@ -228,60 +251,73 @@ def get_secret_version(project_id: Optional[str] = None, secret_name=pulumi.get(__ret__, 'secret_name'), status=pulumi.get(__ret__, 'status'), updated_at=pulumi.get(__ret__, 'updated_at')) -def get_secret_version_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, +def get_secret_version_output(organization_id: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, revision: Optional[pulumi.Input[Optional[str]]] = None, secret_id: Optional[pulumi.Input[Optional[str]]] = None, secret_name: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretVersionResult]: """ - Gets information about Scaleway a Secret Version. - For more information, see [the documentation](https://developers.scaleway.com/en/products/secret_manager/api/v1alpha1/#secret-versions-079501). + The `SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. + + ## Example Usage - ## Examples + ### Use Secret Manager - ### Basic + The following commands allow you to: + + - create a secret named `fooii` + - create a new version of `fooii` containing data (`your_secret`) + - retrieve the secret version specified by the secret ID and the desired version + - retrieve the secret version specified by the secret name and the desired version + + The output blocks display the sensitive data contained in your secret version. ```python import pulumi import pulumi_scaleway as scaleway import pulumiverse_scaleway as scaleway + # Create a secret named fooii main = scaleway.Secret("main", name="fooii", description="barr") + # Create a version of fooii containing data main_secret_version = scaleway.SecretVersion("main", description="your description", secret_id=main.id, data="your_secret") + # Retrieve the secret version specified by the secret ID and the desired version data_by_secret_id = scaleway.get_secret_version_output(secret_id=main.id, revision="1") + # Retrieve the secret version specified by the secret name and the desired version data_by_secret_name = scaleway.get_secret_version_output(secret_name=main.name, revision="1") pulumi.export("scalewaySecretAccessPayload", data_by_secret_name.data) pulumi.export("scalewaySecretAccessPayloadById", data_by_secret_id.data) ``` - ## Data + ## Data information - Note: This Data Source give you **access** to the secret payload encoded en base64. + Note: This data source provides you with access to the secret payload, which is encoded in base64. - Be aware that this is a sensitive attribute. For more information, + Keep in mind that this is a sensitive attribute. For more information, see Sensitive Data in State. - > **Important:** This property is sensitive and will not be displayed in the plan. + > **Important:** This property is sensitive and will not be displayed in the pulumi preview, for security reasons. - :param str project_id: The ID of the project the Secret version is associated with. - :param str region: `region`) The region - in which the resource exists. - :param str revision: The revision for this Secret Version. - :param str secret_id: The Secret ID associated wit the secret version. - Only one of `secret_id` and `secret_name` should be specified. - :param str secret_name: The Name of Secret associated wit the secret version. + :param str project_id: The ID of the Scaleway Project associated with the secret version. + :param str revision: The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id) + :param str secret_id: The ID of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. + :param str secret_name: The name of the secret associated with the secret version. Only one of `secret_id` and `secret_name` should be specified. """ __args__ = dict() + __args__['organizationId'] = organization_id __args__['projectId'] = project_id __args__['region'] = region __args__['revision'] = revision @@ -294,6 +330,7 @@ def get_secret_version_output(project_id: Optional[pulumi.Input[Optional[str]]] data=pulumi.get(__response__, 'data'), description=pulumi.get(__response__, 'description'), id=pulumi.get(__response__, 'id'), + organization_id=pulumi.get(__response__, 'organization_id'), project_id=pulumi.get(__response__, 'project_id'), region=pulumi.get(__response__, 'region'), revision=pulumi.get(__response__, 'revision'), diff --git a/sdk/python/pulumiverse_scaleway/iam_policy.py b/sdk/python/pulumiverse_scaleway/iam_policy.py index 74ddfd56..c6effbf1 100644 --- a/sdk/python/pulumiverse_scaleway/iam_policy.py +++ b/sdk/python/pulumiverse_scaleway/iam_policy.py @@ -435,6 +435,29 @@ def __init__(__self__, }]) ``` + ### Create a policy with a particular condition + + IAM policy rule can use a condition to be applied. + The following variables are available: + + - `request.ip` + - `request.user_agent` + - `request.time` + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + main = scaleway.IamPolicy("main", + name="tf_tests_policy_condition", + no_principal=True, + rules=[{ + "organization_id": "%s", + "permission_set_names": ["AllProductsFullAccess"], + "condition": "request.user_agent == 'My User Agent'", + }]) + ``` + ## Import Policies can be imported using the `{id}`, e.g. @@ -508,6 +531,29 @@ def __init__(__self__, }]) ``` + ### Create a policy with a particular condition + + IAM policy rule can use a condition to be applied. + The following variables are available: + + - `request.ip` + - `request.user_agent` + - `request.time` + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + main = scaleway.IamPolicy("main", + name="tf_tests_policy_condition", + no_principal=True, + rules=[{ + "organization_id": "%s", + "permission_set_names": ["AllProductsFullAccess"], + "condition": "request.user_agent == 'My User Agent'", + }]) + ``` + ## Import Policies can be imported using the `{id}`, e.g. diff --git a/sdk/python/pulumiverse_scaleway/instance_server.py b/sdk/python/pulumiverse_scaleway/instance_server.py index a87d05d1..076a4e60 100644 --- a/sdk/python/pulumiverse_scaleway/instance_server.py +++ b/sdk/python/pulumiverse_scaleway/instance_server.py @@ -63,6 +63,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cloud_init: The cloud init script associated with this server :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server. :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -103,12 +104,18 @@ def __init__(__self__, *, pulumi.set(__self__, "additional_volume_ids", additional_volume_ids) if boot_type is not None: pulumi.set(__self__, "boot_type", boot_type) + if bootscript_id is not None: + warnings.warn("""bootscript is not supported anymore.""", DeprecationWarning) + pulumi.log.warn("""bootscript_id is deprecated: bootscript is not supported anymore.""") if bootscript_id is not None: pulumi.set(__self__, "bootscript_id", bootscript_id) if cloud_init is not None: pulumi.set(__self__, "cloud_init", cloud_init) if enable_dynamic_ip is not None: pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip) + if enable_ipv6 is not None: + warnings.warn("""Please use a InstanceIp with a `routed_ipv6` type""", DeprecationWarning) + pulumi.log.warn("""enable_ipv6 is deprecated: Please use a InstanceIp with a `routed_ipv6` type""") if enable_ipv6 is not None: pulumi.set(__self__, "enable_ipv6", enable_ipv6) if image is not None: @@ -192,6 +199,7 @@ def boot_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="bootscriptId") + @_utilities.deprecated("""bootscript is not supported anymore.""") def bootscript_id(self) -> Optional[pulumi.Input[str]]: """ The ID of the bootscript to use (set boot_type to `bootscript`). @@ -228,9 +236,11 @@ def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="enableIpv6") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def enable_ipv6(self) -> Optional[pulumi.Input[bool]]: """ Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "enable_ipv6") @@ -495,6 +505,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cloud_init: The cloud init script associated with this server :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server. :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -506,8 +517,11 @@ def __init__(__self__, *, > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip. :param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] name: The name of the server. :param pulumi.Input[str] organization_id: The organization ID the server is associated with. :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to. @@ -519,7 +533,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]] private_networks: The private network associated with the server. Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance. :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. - :param pulumi.Input[str] public_ip: The public IP address of the server. + :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead). :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPublicIpArgs']]] public_ips: The list of public IPs of the server. :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate. :param pulumi.Input['InstanceServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation. @@ -547,12 +561,18 @@ def __init__(__self__, *, pulumi.set(__self__, "additional_volume_ids", additional_volume_ids) if boot_type is not None: pulumi.set(__self__, "boot_type", boot_type) + if bootscript_id is not None: + warnings.warn("""bootscript is not supported anymore.""", DeprecationWarning) + pulumi.log.warn("""bootscript_id is deprecated: bootscript is not supported anymore.""") if bootscript_id is not None: pulumi.set(__self__, "bootscript_id", bootscript_id) if cloud_init is not None: pulumi.set(__self__, "cloud_init", cloud_init) if enable_dynamic_ip is not None: pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip) + if enable_ipv6 is not None: + warnings.warn("""Please use a InstanceIp with a `routed_ipv6` type""", DeprecationWarning) + pulumi.log.warn("""enable_ipv6 is deprecated: Please use a InstanceIp with a `routed_ipv6` type""") if enable_ipv6 is not None: pulumi.set(__self__, "enable_ipv6", enable_ipv6) if image is not None: @@ -561,8 +581,14 @@ def __init__(__self__, *, pulumi.set(__self__, "ip_id", ip_id) if ip_ids is not None: pulumi.set(__self__, "ip_ids", ip_ids) + if ipv6_address is not None: + warnings.warn("""Please use a InstanceIp with a `routed_ipv6` type""", DeprecationWarning) + pulumi.log.warn("""ipv6_address is deprecated: Please use a InstanceIp with a `routed_ipv6` type""") if ipv6_address is not None: pulumi.set(__self__, "ipv6_address", ipv6_address) + if ipv6_gateway is not None: + warnings.warn("""Please use a InstanceIp with a `routed_ipv6` type""", DeprecationWarning) + pulumi.log.warn("""ipv6_gateway is deprecated: Please use a InstanceIp with a `routed_ipv6` type""") if ipv6_gateway is not None: pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) if ipv6_prefix_length is not None: @@ -581,6 +607,9 @@ def __init__(__self__, *, pulumi.set(__self__, "private_networks", private_networks) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if public_ip is not None: + warnings.warn("""Use public_ips instead""", DeprecationWarning) + pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""") if public_ip is not None: pulumi.set(__self__, "public_ip", public_ip) if public_ips is not None: @@ -635,6 +664,7 @@ def boot_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="bootscriptId") + @_utilities.deprecated("""bootscript is not supported anymore.""") def bootscript_id(self) -> Optional[pulumi.Input[str]]: """ The ID of the bootscript to use (set boot_type to `bootscript`). @@ -671,9 +701,11 @@ def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="enableIpv6") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def enable_ipv6(self) -> Optional[pulumi.Input[bool]]: """ Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "enable_ipv6") @@ -726,9 +758,11 @@ def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @property @pulumi.getter(name="ipv6Address") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def ipv6_address(self) -> Optional[pulumi.Input[str]]: """ The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_address") @@ -738,9 +772,11 @@ def ipv6_address(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="ipv6Gateway") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def ipv6_gateway(self) -> Optional[pulumi.Input[str]]: """ The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_gateway") @@ -753,6 +789,7 @@ def ipv6_gateway(self, value: Optional[pulumi.Input[str]]): def ipv6_prefix_length(self) -> Optional[pulumi.Input[int]]: """ The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_prefix_length") @@ -850,9 +887,10 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="publicIp") + @_utilities.deprecated("""Use public_ips instead""") def public_ip(self) -> Optional[pulumi.Input[str]]: """ - The public IP address of the server. + The public IP address of the server (Deprecated use `public_ips` instead). """ return pulumi.get(self, "public_ip") @@ -1202,6 +1240,7 @@ def __init__(__self__, :param pulumi.Input[str] cloud_init: The cloud init script associated with this server :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server. :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -1553,6 +1592,7 @@ def get(resource_name: str, :param pulumi.Input[str] cloud_init: The cloud init script associated with this server :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server. :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images) to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume. @@ -1564,8 +1604,11 @@ def get(resource_name: str, > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip. :param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. :param pulumi.Input[str] name: The name of the server. :param pulumi.Input[str] organization_id: The organization ID the server is associated with. :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to. @@ -1577,7 +1620,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server. Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance. :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. - :param pulumi.Input[str] public_ip: The public IP address of the server. + :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead). :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPublicIpArgs', 'InstanceServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server. :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate. :param pulumi.Input[Union['InstanceServerRootVolumeArgs', 'InstanceServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation. @@ -1660,6 +1703,7 @@ def boot_type(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="bootscriptId") + @_utilities.deprecated("""bootscript is not supported anymore.""") def bootscript_id(self) -> pulumi.Output[str]: """ The ID of the bootscript to use (set boot_type to `bootscript`). @@ -1684,9 +1728,11 @@ def enable_dynamic_ip(self) -> pulumi.Output[Optional[bool]]: @property @pulumi.getter(name="enableIpv6") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def enable_ipv6(self) -> pulumi.Output[Optional[bool]]: """ Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported. + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "enable_ipv6") @@ -1723,17 +1769,21 @@ def ip_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: @property @pulumi.getter(name="ipv6Address") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def ipv6_address(self) -> pulumi.Output[str]: """ The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_address") @property @pulumi.getter(name="ipv6Gateway") + @_utilities.deprecated("""Please use a InstanceIp with a `routed_ipv6` type""") def ipv6_gateway(self) -> pulumi.Output[str]: """ The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_gateway") @@ -1742,6 +1792,7 @@ def ipv6_gateway(self) -> pulumi.Output[str]: def ipv6_prefix_length(self) -> pulumi.Output[int]: """ The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) + Deprecated: Please use a InstanceIp with a `routed_ipv6` type. """ return pulumi.get(self, "ipv6_prefix_length") @@ -1807,9 +1858,10 @@ def project_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="publicIp") + @_utilities.deprecated("""Use public_ips instead""") def public_ip(self) -> pulumi.Output[str]: """ - The public IP address of the server. + The public IP address of the server (Deprecated use `public_ips` instead). """ return pulumi.get(self, "public_ip") diff --git a/sdk/python/pulumiverse_scaleway/loadbalancer_frontend.py b/sdk/python/pulumiverse_scaleway/loadbalancer_frontend.py index 03322859..d8c57e56 100644 --- a/sdk/python/pulumiverse_scaleway/loadbalancer_frontend.py +++ b/sdk/python/pulumiverse_scaleway/loadbalancer_frontend.py @@ -196,7 +196,7 @@ def __init__(__self__, *, :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to. > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend. - :param pulumi.Input[str] certificate_id: (Deprecated) First certificate ID used by the frontend. + :param pulumi.Input[str] certificate_id: (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend. > **Important:** Certificates are not allowed on port 80. @@ -263,7 +263,7 @@ def backend_id(self, value: Optional[pulumi.Input[str]]): @_utilities.deprecated("""Please use certificate_ids""") def certificate_id(self) -> Optional[pulumi.Input[str]]: """ - (Deprecated) First certificate ID used by the frontend. + (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. """ return pulumi.get(self, "certificate_id") @@ -713,7 +713,7 @@ def get(resource_name: str, :param pulumi.Input[str] backend_id: The ID of the Load Balancer backend this frontend is attached to. > **Important:** Updates to `lb_id` or `backend_id` will recreate the frontend. - :param pulumi.Input[str] certificate_id: (Deprecated) First certificate ID used by the frontend. + :param pulumi.Input[str] certificate_id: (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend. > **Important:** Certificates are not allowed on port 80. @@ -764,7 +764,7 @@ def backend_id(self) -> pulumi.Output[str]: @_utilities.deprecated("""Please use certificate_ids""") def certificate_id(self) -> pulumi.Output[str]: """ - (Deprecated) First certificate ID used by the frontend. + (Deprecated, use `certificate_ids` instead) First certificate ID used by the frontend. """ return pulumi.get(self, "certificate_id") diff --git a/sdk/python/pulumiverse_scaleway/outputs.py b/sdk/python/pulumiverse_scaleway/outputs.py index 355febe1..ae254917 100644 --- a/sdk/python/pulumiverse_scaleway/outputs.py +++ b/sdk/python/pulumiverse_scaleway/outputs.py @@ -102,6 +102,7 @@ 'RedisClusterAcl', 'RedisClusterPrivateNetwork', 'RedisClusterPublicNetwork', + 'SecretEphemeralPolicy', 'TemDomainReputation', 'VpcGatewayNetworkIpamConfig', 'VpcPrivateNetworkIpv4Subnet', @@ -184,6 +185,7 @@ 'GetRedisClusterAclResult', 'GetRedisClusterPrivateNetworkResult', 'GetRedisClusterPublicNetworkResult', + 'GetSecretEphemeralPolicyResult', 'GetTemDomainReputationResult', 'GetVpcGatewayNetworkIpamConfigResult', 'GetVpcPrivateNetworkIpv4SubnetResult', @@ -557,11 +559,11 @@ def __init__(__self__, *, metrics_url: Optional[str] = None, traces_url: Optional[str] = None): """ - :param str alertmanager_url: The alertmanager URL. - :param str grafana_url: The grafana URL. - :param str logs_url: The logs URL. - :param str metrics_url: The metrics URL. - :param str traces_url: The traces URL. + :param str alertmanager_url: (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). + :param str grafana_url: (Deprecated) URL for Grafana. + :param str logs_url: (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. + :param str metrics_url: (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. + :param str traces_url: (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ if alertmanager_url is not None: pulumi.set(__self__, "alertmanager_url", alertmanager_url) @@ -578,7 +580,7 @@ def __init__(__self__, *, @pulumi.getter(name="alertmanagerUrl") def alertmanager_url(self) -> Optional[str]: """ - The alertmanager URL. + (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). """ return pulumi.get(self, "alertmanager_url") @@ -586,7 +588,7 @@ def alertmanager_url(self) -> Optional[str]: @pulumi.getter(name="grafanaUrl") def grafana_url(self) -> Optional[str]: """ - The grafana URL. + (Deprecated) URL for Grafana. """ return pulumi.get(self, "grafana_url") @@ -594,7 +596,7 @@ def grafana_url(self) -> Optional[str]: @pulumi.getter(name="logsUrl") def logs_url(self) -> Optional[str]: """ - The logs URL. + (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "logs_url") @@ -602,7 +604,7 @@ def logs_url(self) -> Optional[str]: @pulumi.getter(name="metricsUrl") def metrics_url(self) -> Optional[str]: """ - The metrics URL. + (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "metrics_url") @@ -610,7 +612,7 @@ def metrics_url(self) -> Optional[str]: @pulumi.getter(name="tracesUrl") def traces_url(self) -> Optional[str]: """ - The traces URL. + (Deprecated) URL for [traces](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#traces) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "traces_url") @@ -711,15 +713,15 @@ def __init__(__self__, *, write_metrics: Optional[bool] = None, write_traces: Optional[bool] = None): """ - :param bool query_logs: Query logs. - :param bool query_metrics: Query metrics. - :param bool query_traces: Query traces. - :param bool setup_alerts: Setup alerts. - :param bool setup_logs_rules: Setup logs rules. - :param bool setup_metrics_rules: Setup metrics rules. - :param bool write_logs: Write logs. - :param bool write_metrics: Write metrics. - :param bool write_traces: Write traces. + :param bool query_logs: Permission to query logs. + :param bool query_metrics: Permission to query metrics. + :param bool query_traces: Permission to query traces. + :param bool setup_alerts: Permission to set up alerts. + :param bool setup_logs_rules: Permission to set up logs rules. + :param bool setup_metrics_rules: Permission to set up metrics rules. + :param bool write_logs: Permission to write logs. + :param bool write_metrics: Permission to write metrics. + :param bool write_traces: Permission to write traces. """ if query_logs is not None: pulumi.set(__self__, "query_logs", query_logs) @@ -744,7 +746,7 @@ def __init__(__self__, *, @pulumi.getter(name="queryLogs") def query_logs(self) -> Optional[bool]: """ - Query logs. + Permission to query logs. """ return pulumi.get(self, "query_logs") @@ -752,7 +754,7 @@ def query_logs(self) -> Optional[bool]: @pulumi.getter(name="queryMetrics") def query_metrics(self) -> Optional[bool]: """ - Query metrics. + Permission to query metrics. """ return pulumi.get(self, "query_metrics") @@ -760,7 +762,7 @@ def query_metrics(self) -> Optional[bool]: @pulumi.getter(name="queryTraces") def query_traces(self) -> Optional[bool]: """ - Query traces. + Permission to query traces. """ return pulumi.get(self, "query_traces") @@ -768,7 +770,7 @@ def query_traces(self) -> Optional[bool]: @pulumi.getter(name="setupAlerts") def setup_alerts(self) -> Optional[bool]: """ - Setup alerts. + Permission to set up alerts. """ return pulumi.get(self, "setup_alerts") @@ -776,7 +778,7 @@ def setup_alerts(self) -> Optional[bool]: @pulumi.getter(name="setupLogsRules") def setup_logs_rules(self) -> Optional[bool]: """ - Setup logs rules. + Permission to set up logs rules. """ return pulumi.get(self, "setup_logs_rules") @@ -784,7 +786,7 @@ def setup_logs_rules(self) -> Optional[bool]: @pulumi.getter(name="setupMetricsRules") def setup_metrics_rules(self) -> Optional[bool]: """ - Setup metrics rules. + Permission to set up metrics rules. """ return pulumi.get(self, "setup_metrics_rules") @@ -792,7 +794,7 @@ def setup_metrics_rules(self) -> Optional[bool]: @pulumi.getter(name="writeLogs") def write_logs(self) -> Optional[bool]: """ - Write logs. + Permission to write logs. """ return pulumi.get(self, "write_logs") @@ -800,7 +802,7 @@ def write_logs(self) -> Optional[bool]: @pulumi.getter(name="writeMetrics") def write_metrics(self) -> Optional[bool]: """ - Write metrics. + Permission to write metrics. """ return pulumi.get(self, "write_metrics") @@ -808,7 +810,7 @@ def write_metrics(self) -> Optional[bool]: @pulumi.getter(name="writeTraces") def write_traces(self) -> Optional[bool]: """ - Write traces. + Permission to write traces. """ return pulumi.get(self, "write_traces") @@ -1872,7 +1874,7 @@ def __init__(__self__, *, continents: Optional[Sequence[str]] = None, countries: Optional[Sequence[str]] = None): """ - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + :param str data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). :param Sequence[str] continents: List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents :param Sequence[str] countries: List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries """ @@ -1886,7 +1888,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> str: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -1995,7 +1997,7 @@ def __init__(__self__, *, data: str, subnet: str): """ - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + :param str data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). :param str subnet: The subnet of the view """ pulumi.set(__self__, "data", data) @@ -2005,7 +2007,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> str: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). + The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.). """ return pulumi.get(self, "data") @@ -2219,6 +2221,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, permission_set_names: Sequence[str], + condition: Optional[str] = None, organization_id: Optional[str] = None, project_ids: Optional[Sequence[str]] = None): """ @@ -2229,12 +2232,15 @@ def __init__(__self__, *, ```shell scw IAM permission-set list ``` + :param str condition: The condition of the IAM policy. :param str organization_id: ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization. :param Sequence[str] project_ids: List of project IDs scoped to the rule. > **Important** One `organization_id` or `project_ids` must be set per rule. """ pulumi.set(__self__, "permission_set_names", permission_set_names) + if condition is not None: + pulumi.set(__self__, "condition", condition) if organization_id is not None: pulumi.set(__self__, "organization_id", organization_id) if project_ids is not None: @@ -2254,6 +2260,14 @@ def permission_set_names(self) -> Sequence[str]: """ return pulumi.get(self, "permission_set_names") + @property + @pulumi.getter + def condition(self) -> Optional[str]: + """ + The condition of the IAM policy. + """ + return pulumi.get(self, "condition") + @property @pulumi.getter(name="organizationId") def organization_id(self) -> Optional[str]: @@ -4066,8 +4080,8 @@ def __init__(__self__, *, """ :param str name: The name for the pool. > **Important:** Updates to this field will recreate a new resource. - :param str public_ip: The public IPv4. - :param str public_ip_v6: The public IPv6. + :param str public_ip: The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) + :param str public_ip_v6: The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) :param str status: The status of the node. """ if name is not None: @@ -4090,17 +4104,19 @@ def name(self) -> Optional[str]: @property @pulumi.getter(name="publicIp") + @_utilities.deprecated("""Please use the official Kubernetes provider and the kubernetes_nodes data source""") def public_ip(self) -> Optional[str]: """ - The public IPv4. + The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ return pulumi.get(self, "public_ip") @property @pulumi.getter(name="publicIpV6") + @_utilities.deprecated("""Please use the official Kubernetes provider and the kubernetes_nodes data source""") def public_ip_v6(self) -> Optional[str]: """ - The public IPv6. + The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source) """ return pulumi.get(self, "public_ip_v6") @@ -4875,7 +4891,7 @@ def __init__(__self__, *, zone: Optional[str] = None): """ :param str private_network_id: (Required) The ID of the Private Network to attach to. - :param bool dhcp_config: (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + :param bool dhcp_config: (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. :param str ipam_ids: (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network. :param str static_config: (Deprecated) Please use `ipam_ids`. Define a local ip address of your choice for the load balancer instance. :param str status: The status of private network connection @@ -4903,9 +4919,10 @@ def private_network_id(self) -> str: @property @pulumi.getter(name="dhcpConfig") + @_utilities.deprecated("""dhcp_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") def dhcp_config(self) -> Optional[bool]: """ - (Optional) Set to `true` if you want to let DHCP assign IP addresses. See below. + (Deprecated) Please use `ipam_ids`. Set to `true` if you want to let DHCP assign IP addresses. See below. """ return pulumi.get(self, "dhcp_config") @@ -4919,7 +4936,7 @@ def ipam_ids(self) -> Optional[str]: @property @pulumi.getter(name="staticConfig") - @_utilities.deprecated("""static_config field is deprecated, please use dhcp_config instead""") + @_utilities.deprecated("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""") def static_config(self) -> Optional[str]: """ (Deprecated) Please use `ipam_ids`. Define a local ip address of your choice for the load balancer instance. @@ -5844,6 +5861,65 @@ def port(self) -> Optional[int]: return pulumi.get(self, "port") +@pulumi.output_type +class SecretEphemeralPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "expiresOnceAccessed": + suggest = "expires_once_accessed" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecretEphemeralPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecretEphemeralPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecretEphemeralPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: str, + expires_once_accessed: Optional[bool] = None, + ttl: Optional[str] = None): + """ + :param str action: Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + :param bool expires_once_accessed: True if the secret version expires after a single user access. + :param str ttl: Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + """ + pulumi.set(__self__, "action", action) + if expires_once_accessed is not None: + pulumi.set(__self__, "expires_once_accessed", expires_once_accessed) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @property + @pulumi.getter + def action(self) -> str: + """ + Action to perform when the version of a secret expires. Available values can be found in [SDK constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="expiresOnceAccessed") + def expires_once_accessed(self) -> Optional[bool]: + """ + True if the secret version expires after a single user access. + """ + return pulumi.get(self, "expires_once_accessed") + + @property + @pulumi.getter + def ttl(self) -> Optional[str]: + """ + Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in [Go Duration format](https://pkg.go.dev/time#ParseDuration) (ex: "30m", "24h"). + """ + return pulumi.get(self, "ttl") + + @pulumi.output_type class TemDomainReputation(dict): @staticmethod @@ -6934,10 +7010,10 @@ def __init__(__self__, *, metrics_url: str, traces_url: str): """ - :param str alertmanager_url: The alertmanager URL - :param str grafana_url: The grafana URL - :param str logs_url: The logs URL - :param str metrics_url: The metrics URL + :param str alertmanager_url: (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). + :param str grafana_url: (Deprecated) URL for Grafana. + :param str logs_url: (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. + :param str metrics_url: (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. :param str traces_url: The traces URL """ pulumi.set(__self__, "alertmanager_url", alertmanager_url) @@ -6950,7 +7026,7 @@ def __init__(__self__, *, @pulumi.getter(name="alertmanagerUrl") def alertmanager_url(self) -> str: """ - The alertmanager URL + (Deprecated) URL for the [Alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager). """ return pulumi.get(self, "alertmanager_url") @@ -6958,7 +7034,7 @@ def alertmanager_url(self) -> str: @pulumi.getter(name="grafanaUrl") def grafana_url(self) -> str: """ - The grafana URL + (Deprecated) URL for Grafana. """ return pulumi.get(self, "grafana_url") @@ -6966,7 +7042,7 @@ def grafana_url(self) -> str: @pulumi.getter(name="logsUrl") def logs_url(self) -> str: """ - The logs URL + (Deprecated) URL for [logs](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#logs) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "logs_url") @@ -6974,7 +7050,7 @@ def logs_url(self) -> str: @pulumi.getter(name="metricsUrl") def metrics_url(self) -> str: """ - The metrics URL + (Deprecated) URL for [metrics](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#metric) to retrieve in the [Data sources tab](https://console.scaleway.com/cockpit/dataSource) of the Scaleway console. """ return pulumi.get(self, "metrics_url") @@ -7309,8 +7385,7 @@ def __init__(__self__, *, """ :param Sequence[str] continents: List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents :param Sequence[str] countries: List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. + :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. """ pulumi.set(__self__, "continents", continents) pulumi.set(__self__, "countries", countries) @@ -7336,8 +7411,7 @@ def countries(self) -> Sequence[str]: @pulumi.getter def data(self) -> str: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. + The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. """ return pulumi.get(self, "data") @@ -7410,8 +7484,7 @@ def __init__(__self__, *, data: str, subnet: str): """ - :param str data: The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. + :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. :param str subnet: The subnet of the view """ pulumi.set(__self__, "data", data) @@ -7421,8 +7494,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> str: """ - The content of the record (an IPv4 for an `A`, a string for a `TXT`...). - Cannot be used with `record_id`. + The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`. """ return pulumi.get(self, "data") @@ -8085,6 +8157,7 @@ def boot_type(self) -> str: @property @pulumi.getter(name="bootscriptId") + @_utilities.deprecated("""bootscript are not supported""") def bootscript_id(self) -> str: """ The ID of the bootscript. @@ -8194,6 +8267,7 @@ def project_id(self) -> str: @property @pulumi.getter(name="publicIp") + @_utilities.deprecated("""Use public_ips instead""") def public_ip(self) -> str: """ The public IP address of the server. @@ -11013,6 +11087,46 @@ def port(self) -> int: return pulumi.get(self, "port") +@pulumi.output_type +class GetSecretEphemeralPolicyResult(dict): + def __init__(__self__, *, + action: str, + expires_once_accessed: bool, + ttl: str): + """ + :param str action: Action to perform when the version of a secret expires. + :param bool expires_once_accessed: True if the secret version expires after a single user access. + :param str ttl: Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "expires_once_accessed", expires_once_accessed) + pulumi.set(__self__, "ttl", ttl) + + @property + @pulumi.getter + def action(self) -> str: + """ + Action to perform when the version of a secret expires. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="expiresOnceAccessed") + def expires_once_accessed(self) -> bool: + """ + True if the secret version expires after a single user access. + """ + return pulumi.get(self, "expires_once_accessed") + + @property + @pulumi.getter + def ttl(self) -> str: + """ + Time frame, from one second and up to one year, during which the secret's versions are valid. Has to be specified in Go Duration format + """ + return pulumi.get(self, "ttl") + + @pulumi.output_type class GetTemDomainReputationResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumiverse_scaleway/secret.py b/sdk/python/pulumiverse_scaleway/secret.py index 1518bd83..c260f150 100644 --- a/sdk/python/pulumiverse_scaleway/secret.py +++ b/sdk/python/pulumiverse_scaleway/secret.py @@ -13,6 +13,8 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities +from . import outputs +from ._inputs import * __all__ = ['SecretArgs', 'Secret'] @@ -20,33 +22,45 @@ class SecretArgs: def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, + ephemeral_policies: Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + protected: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Secret resource. :param pulumi.Input[str] description: Description of the secret (e.g. `my-new-description`). + :param pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]] ephemeral_policies: Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. :param pulumi.Input[str] name: Name of the secret (e.g. `my-secret`). :param pulumi.Input[str] path: Path of the secret, defaults to `/`. :param pulumi.Input[str] project_id: The project ID containing is the secret. + :param pulumi.Input[bool] protected: True if secret protection is enabled on a given secret. A protected secret cannot be deleted. :param pulumi.Input[str] region: `region`) The region in which the resource exists. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags of the secret (e.g. `["tag", "secret"]`). + :param pulumi.Input[str] type: Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). """ if description is not None: pulumi.set(__self__, "description", description) + if ephemeral_policies is not None: + pulumi.set(__self__, "ephemeral_policies", ephemeral_policies) if name is not None: pulumi.set(__self__, "name", name) if path is not None: pulumi.set(__self__, "path", path) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if protected is not None: + pulumi.set(__self__, "protected", protected) if region is not None: pulumi.set(__self__, "region", region) if tags is not None: pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter @@ -60,6 +74,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="ephemeralPolicies") + def ephemeral_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]]: + """ + Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + """ + return pulumi.get(self, "ephemeral_policies") + + @ephemeral_policies.setter + def ephemeral_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]]): + pulumi.set(self, "ephemeral_policies", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -96,6 +122,18 @@ def project_id(self) -> Optional[pulumi.Input[str]]: def project_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project_id", value) + @property + @pulumi.getter + def protected(self) -> Optional[pulumi.Input[bool]]: + """ + True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + """ + return pulumi.get(self, "protected") + + @protected.setter + def protected(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "protected", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: @@ -121,50 +159,74 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + @pulumi.input_type class _SecretState: def __init__(__self__, *, created_at: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + ephemeral_policies: Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + protected: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, updated_at: Optional[pulumi.Input[str]] = None, version_count: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering Secret resources. - :param pulumi.Input[str] created_at: Date and time of secret's creation (RFC 3339 format). + :param pulumi.Input[str] created_at: Date and time of the secret's creation (in RFC 3339 format). :param pulumi.Input[str] description: Description of the secret (e.g. `my-new-description`). + :param pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]] ephemeral_policies: Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. :param pulumi.Input[str] name: Name of the secret (e.g. `my-secret`). :param pulumi.Input[str] path: Path of the secret, defaults to `/`. :param pulumi.Input[str] project_id: The project ID containing is the secret. + :param pulumi.Input[bool] protected: True if secret protection is enabled on a given secret. A protected secret cannot be deleted. :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] status: The status of the Secret. + :param pulumi.Input[str] status: The status of the secret. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags of the secret (e.g. `["tag", "secret"]`). - :param pulumi.Input[str] updated_at: Date and time of secret's last update (RFC 3339 format). - :param pulumi.Input[int] version_count: The number of versions for this Secret. + :param pulumi.Input[str] type: Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + :param pulumi.Input[str] updated_at: Date and time of the secret's last update (in RFC 3339 format). + :param pulumi.Input[int] version_count: The amount of secret versions. """ if created_at is not None: pulumi.set(__self__, "created_at", created_at) if description is not None: pulumi.set(__self__, "description", description) + if ephemeral_policies is not None: + pulumi.set(__self__, "ephemeral_policies", ephemeral_policies) if name is not None: pulumi.set(__self__, "name", name) if path is not None: pulumi.set(__self__, "path", path) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if protected is not None: + pulumi.set(__self__, "protected", protected) if region is not None: pulumi.set(__self__, "region", region) if status is not None: pulumi.set(__self__, "status", status) if tags is not None: pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) if updated_at is not None: pulumi.set(__self__, "updated_at", updated_at) if version_count is not None: @@ -174,7 +236,7 @@ def __init__(__self__, *, @pulumi.getter(name="createdAt") def created_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of secret's creation (RFC 3339 format). + Date and time of the secret's creation (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -194,6 +256,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="ephemeralPolicies") + def ephemeral_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]]: + """ + Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + """ + return pulumi.get(self, "ephemeral_policies") + + @ephemeral_policies.setter + def ephemeral_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretEphemeralPolicyArgs']]]]): + pulumi.set(self, "ephemeral_policies", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -230,6 +304,18 @@ def project_id(self) -> Optional[pulumi.Input[str]]: def project_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project_id", value) + @property + @pulumi.getter + def protected(self) -> Optional[pulumi.Input[bool]]: + """ + True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + """ + return pulumi.get(self, "protected") + + @protected.setter + def protected(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "protected", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: @@ -247,7 +333,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: """ - The status of the Secret. + The status of the secret. """ return pulumi.get(self, "status") @@ -267,11 +353,23 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + @property @pulumi.getter(name="updatedAt") def updated_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of secret's last update (RFC 3339 format). + Date and time of the secret's last update (in RFC 3339 format). """ return pulumi.get(self, "updated_at") @@ -283,7 +381,7 @@ def updated_at(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="versionCount") def version_count(self) -> Optional[pulumi.Input[int]]: """ - The number of versions for this Secret. + The amount of secret versions. """ return pulumi.get(self, "version_count") @@ -298,36 +396,19 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + ephemeral_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretEphemeralPolicyArgs', 'SecretEphemeralPolicyArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + protected: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Secrets. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/). - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - main = scaleway.Secret("main", - name="foo", - description="barr", - tags=[ - "foo", - "terraform", - ]) - ``` - ## Import - The Secret can be imported using the `{region}/{id}`, e.g. + This section explains how to import a secret using the `{region}/{id}` format. bash @@ -338,12 +419,15 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description of the secret (e.g. `my-new-description`). + :param pulumi.Input[Sequence[pulumi.Input[Union['SecretEphemeralPolicyArgs', 'SecretEphemeralPolicyArgsDict']]]] ephemeral_policies: Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. :param pulumi.Input[str] name: Name of the secret (e.g. `my-secret`). :param pulumi.Input[str] path: Path of the secret, defaults to `/`. :param pulumi.Input[str] project_id: The project ID containing is the secret. + :param pulumi.Input[bool] protected: True if secret protection is enabled on a given secret. A protected secret cannot be deleted. :param pulumi.Input[str] region: `region`) The region in which the resource exists. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags of the secret (e.g. `["tag", "secret"]`). + :param pulumi.Input[str] type: Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). """ ... @overload @@ -352,29 +436,9 @@ def __init__(__self__, args: Optional[SecretArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Secrets. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/). - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - main = scaleway.Secret("main", - name="foo", - description="barr", - tags=[ - "foo", - "terraform", - ]) - ``` - ## Import - The Secret can be imported using the `{region}/{id}`, e.g. + This section explains how to import a secret using the `{region}/{id}` format. bash @@ -398,11 +462,14 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + ephemeral_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretEphemeralPolicyArgs', 'SecretEphemeralPolicyArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + protected: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -413,11 +480,14 @@ def _internal_init(__self__, __props__ = SecretArgs.__new__(SecretArgs) __props__.__dict__["description"] = description + __props__.__dict__["ephemeral_policies"] = ephemeral_policies __props__.__dict__["name"] = name __props__.__dict__["path"] = path __props__.__dict__["project_id"] = project_id + __props__.__dict__["protected"] = protected __props__.__dict__["region"] = region __props__.__dict__["tags"] = tags + __props__.__dict__["type"] = type __props__.__dict__["created_at"] = None __props__.__dict__["status"] = None __props__.__dict__["updated_at"] = None @@ -434,12 +504,15 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, created_at: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + ephemeral_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretEphemeralPolicyArgs', 'SecretEphemeralPolicyArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, + protected: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None, updated_at: Optional[pulumi.Input[str]] = None, version_count: Optional[pulumi.Input[int]] = None) -> 'Secret': """ @@ -449,17 +522,20 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] created_at: Date and time of secret's creation (RFC 3339 format). + :param pulumi.Input[str] created_at: Date and time of the secret's creation (in RFC 3339 format). :param pulumi.Input[str] description: Description of the secret (e.g. `my-new-description`). + :param pulumi.Input[Sequence[pulumi.Input[Union['SecretEphemeralPolicyArgs', 'SecretEphemeralPolicyArgsDict']]]] ephemeral_policies: Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. :param pulumi.Input[str] name: Name of the secret (e.g. `my-secret`). :param pulumi.Input[str] path: Path of the secret, defaults to `/`. :param pulumi.Input[str] project_id: The project ID containing is the secret. + :param pulumi.Input[bool] protected: True if secret protection is enabled on a given secret. A protected secret cannot be deleted. :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] status: The status of the Secret. + :param pulumi.Input[str] status: The status of the secret. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags of the secret (e.g. `["tag", "secret"]`). - :param pulumi.Input[str] updated_at: Date and time of secret's last update (RFC 3339 format). - :param pulumi.Input[int] version_count: The number of versions for this Secret. + :param pulumi.Input[str] type: Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + :param pulumi.Input[str] updated_at: Date and time of the secret's last update (in RFC 3339 format). + :param pulumi.Input[int] version_count: The amount of secret versions. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -467,12 +543,15 @@ def get(resource_name: str, __props__.__dict__["created_at"] = created_at __props__.__dict__["description"] = description + __props__.__dict__["ephemeral_policies"] = ephemeral_policies __props__.__dict__["name"] = name __props__.__dict__["path"] = path __props__.__dict__["project_id"] = project_id + __props__.__dict__["protected"] = protected __props__.__dict__["region"] = region __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags + __props__.__dict__["type"] = type __props__.__dict__["updated_at"] = updated_at __props__.__dict__["version_count"] = version_count return Secret(resource_name, opts=opts, __props__=__props__) @@ -481,7 +560,7 @@ def get(resource_name: str, @pulumi.getter(name="createdAt") def created_at(self) -> pulumi.Output[str]: """ - Date and time of secret's creation (RFC 3339 format). + Date and time of the secret's creation (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -493,6 +572,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="ephemeralPolicies") + def ephemeral_policies(self) -> pulumi.Output[Optional[Sequence['outputs.SecretEphemeralPolicy']]]: + """ + Ephemeral policy of the secret. Policy that defines whether/when a secret's versions expire. By default, the policy is applied to all the secret's versions. + """ + return pulumi.get(self, "ephemeral_policies") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: @@ -517,6 +604,14 @@ def project_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "project_id") + @property + @pulumi.getter + def protected(self) -> pulumi.Output[Optional[bool]]: + """ + True if secret protection is enabled on a given secret. A protected secret cannot be deleted. + """ + return pulumi.get(self, "protected") + @property @pulumi.getter def region(self) -> pulumi.Output[str]: @@ -530,7 +625,7 @@ def region(self) -> pulumi.Output[str]: @pulumi.getter def status(self) -> pulumi.Output[str]: """ - The status of the Secret. + The status of the secret. """ return pulumi.get(self, "status") @@ -542,11 +637,19 @@ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter + def type(self) -> pulumi.Output[Optional[str]]: + """ + Type of the secret. If not specified, the type is Opaque. Available values can be found in [SDK Constants](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/secret/v1beta1#pkg-constants). + """ + return pulumi.get(self, "type") + @property @pulumi.getter(name="updatedAt") def updated_at(self) -> pulumi.Output[str]: """ - Date and time of secret's last update (RFC 3339 format). + Date and time of the secret's last update (in RFC 3339 format). """ return pulumi.get(self, "updated_at") @@ -554,7 +657,7 @@ def updated_at(self) -> pulumi.Output[str]: @pulumi.getter(name="versionCount") def version_count(self) -> pulumi.Output[int]: """ - The number of versions for this Secret. + The amount of secret versions. """ return pulumi.get(self, "version_count") diff --git a/sdk/python/pulumiverse_scaleway/secret_version.py b/sdk/python/pulumiverse_scaleway/secret_version.py index d92dd8aa..561d1c8a 100644 --- a/sdk/python/pulumiverse_scaleway/secret_version.py +++ b/sdk/python/pulumiverse_scaleway/secret_version.py @@ -25,11 +25,10 @@ def __init__(__self__, *, region: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a SecretVersion resource. - :param pulumi.Input[str] data: The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section - :param pulumi.Input[str] secret_id: The Secret ID associated wit the secret version. + :param pulumi.Input[str] data: The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). + :param pulumi.Input[str] secret_id: The ID of the secret associated with the version. :param pulumi.Input[str] description: Description of the secret version (e.g. `my-new-description`). - :param pulumi.Input[str] region: `region`) The region - in which the resource exists. + :param pulumi.Input[str] region: ). The region where the resource exists. """ pulumi.set(__self__, "data", data) pulumi.set(__self__, "secret_id", secret_id) @@ -42,7 +41,7 @@ def __init__(__self__, *, @pulumi.getter def data(self) -> pulumi.Input[str]: """ - The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). """ return pulumi.get(self, "data") @@ -54,7 +53,7 @@ def data(self, value: pulumi.Input[str]): @pulumi.getter(name="secretId") def secret_id(self) -> pulumi.Input[str]: """ - The Secret ID associated wit the secret version. + The ID of the secret associated with the version. """ return pulumi.get(self, "secret_id") @@ -78,8 +77,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region - in which the resource exists. + ). The region where the resource exists. """ return pulumi.get(self, "region") @@ -101,15 +99,14 @@ def __init__(__self__, *, updated_at: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering SecretVersion resources. - :param pulumi.Input[str] created_at: Date and time of secret version's creation (RFC 3339 format). - :param pulumi.Input[str] data: The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + :param pulumi.Input[str] created_at: The date and time of the secret version's creation (in RFC 3339 format). + :param pulumi.Input[str] data: The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). :param pulumi.Input[str] description: Description of the secret version (e.g. `my-new-description`). - :param pulumi.Input[str] region: `region`) The region - in which the resource exists. - :param pulumi.Input[str] revision: The revision for this Secret Version. - :param pulumi.Input[str] secret_id: The Secret ID associated wit the secret version. - :param pulumi.Input[str] status: The status of the Secret Version. - :param pulumi.Input[str] updated_at: Date and time of secret version's last update (RFC 3339 format). + :param pulumi.Input[str] region: ). The region where the resource exists. + :param pulumi.Input[str] revision: The revision number of the secret version. + :param pulumi.Input[str] secret_id: The ID of the secret associated with the version. + :param pulumi.Input[str] status: The status of the secret version. + :param pulumi.Input[str] updated_at: The date and time of the secret version's last update (in RFC 3339 format). """ if created_at is not None: pulumi.set(__self__, "created_at", created_at) @@ -132,7 +129,7 @@ def __init__(__self__, *, @pulumi.getter(name="createdAt") def created_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of secret version's creation (RFC 3339 format). + The date and time of the secret version's creation (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -144,7 +141,7 @@ def created_at(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def data(self) -> Optional[pulumi.Input[str]]: """ - The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). """ return pulumi.get(self, "data") @@ -168,8 +165,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - `region`) The region - in which the resource exists. + ). The region where the resource exists. """ return pulumi.get(self, "region") @@ -181,7 +177,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def revision(self) -> Optional[pulumi.Input[str]]: """ - The revision for this Secret Version. + The revision number of the secret version. """ return pulumi.get(self, "revision") @@ -193,7 +189,7 @@ def revision(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="secretId") def secret_id(self) -> Optional[pulumi.Input[str]]: """ - The Secret ID associated wit the secret version. + The ID of the secret associated with the version. """ return pulumi.get(self, "secret_id") @@ -205,7 +201,7 @@ def secret_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: """ - The status of the Secret Version. + The status of the secret version. """ return pulumi.get(self, "status") @@ -217,7 +213,7 @@ def status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="updatedAt") def updated_at(self) -> Optional[pulumi.Input[str]]: """ - Date and time of secret version's last update (RFC 3339 format). + The date and time of the secret version's last update (in RFC 3339 format). """ return pulumi.get(self, "updated_at") @@ -237,12 +233,18 @@ def __init__(__self__, secret_id: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates and manages Scaleway Secret Versions. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501). + The `SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. ## Example Usage - ### Basic + ### Create a secret and a version + + The following commands allow you to: + + - create a secret named `foo` + - create a version of this secret containing the `my_new_secret` data ```python import pulumi @@ -263,9 +265,9 @@ def __init__(__self__, ## Import - The Secret Version can be imported using the `{region}/{id}/{revision}`, e.g. + This section explains how to import a secret version using the `{region}/{id}/{revision}` format. - ~> **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before. + ~> **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using. bash @@ -275,11 +277,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] data: The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + :param pulumi.Input[str] data: The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). :param pulumi.Input[str] description: Description of the secret version (e.g. `my-new-description`). - :param pulumi.Input[str] region: `region`) The region - in which the resource exists. - :param pulumi.Input[str] secret_id: The Secret ID associated wit the secret version. + :param pulumi.Input[str] region: ). The region where the resource exists. + :param pulumi.Input[str] secret_id: The ID of the secret associated with the version. """ ... @overload @@ -288,12 +289,18 @@ def __init__(__self__, args: SecretVersionArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates and manages Scaleway Secret Versions. - For more information, see [the documentation](https://www.scaleway.com/en/developers/api/secret-manager/#secret-versions-079501). + The `SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager. + + Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information. ## Example Usage - ### Basic + ### Create a secret and a version + + The following commands allow you to: + + - create a secret named `foo` + - create a version of this secret containing the `my_new_secret` data ```python import pulumi @@ -314,9 +321,9 @@ def __init__(__self__, ## Import - The Secret Version can be imported using the `{region}/{id}/{revision}`, e.g. + This section explains how to import a secret version using the `{region}/{id}/{revision}` format. - ~> **Important:** Be aware if you import with revision `latest` you will overwrite the version you used before. + ~> **Important:** Keep in mind that if you import with the `latest` revision, you will overwrite the previous version you might have been using. bash @@ -391,15 +398,14 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] created_at: Date and time of secret version's creation (RFC 3339 format). - :param pulumi.Input[str] data: The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + :param pulumi.Input[str] created_at: The date and time of the secret version's creation (in RFC 3339 format). + :param pulumi.Input[str] data: The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). :param pulumi.Input[str] description: Description of the secret version (e.g. `my-new-description`). - :param pulumi.Input[str] region: `region`) The region - in which the resource exists. - :param pulumi.Input[str] revision: The revision for this Secret Version. - :param pulumi.Input[str] secret_id: The Secret ID associated wit the secret version. - :param pulumi.Input[str] status: The status of the Secret Version. - :param pulumi.Input[str] updated_at: Date and time of secret version's last update (RFC 3339 format). + :param pulumi.Input[str] region: ). The region where the resource exists. + :param pulumi.Input[str] revision: The revision number of the secret version. + :param pulumi.Input[str] secret_id: The ID of the secret associated with the version. + :param pulumi.Input[str] status: The status of the secret version. + :param pulumi.Input[str] updated_at: The date and time of the secret version's last update (in RFC 3339 format). """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -419,7 +425,7 @@ def get(resource_name: str, @pulumi.getter(name="createdAt") def created_at(self) -> pulumi.Output[str]: """ - Date and time of secret version's creation (RFC 3339 format). + The date and time of the secret version's creation (in RFC 3339 format). """ return pulumi.get(self, "created_at") @@ -427,7 +433,7 @@ def created_at(self) -> pulumi.Output[str]: @pulumi.getter def data(self) -> pulumi.Output[str]: """ - The data payload of the secret version. Must be no larger than 64KiB. (e.g. `my-secret-version-payload`). more on the data section + The data payload of the secret version. Must not exceed 64KiB in size (e.g. `my-secret-version-payload`). Find out more on the [data section](https://www.terraform.io/#data-information). """ return pulumi.get(self, "data") @@ -443,8 +449,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def region(self) -> pulumi.Output[str]: """ - `region`) The region - in which the resource exists. + ). The region where the resource exists. """ return pulumi.get(self, "region") @@ -452,7 +457,7 @@ def region(self) -> pulumi.Output[str]: @pulumi.getter def revision(self) -> pulumi.Output[str]: """ - The revision for this Secret Version. + The revision number of the secret version. """ return pulumi.get(self, "revision") @@ -460,7 +465,7 @@ def revision(self) -> pulumi.Output[str]: @pulumi.getter(name="secretId") def secret_id(self) -> pulumi.Output[str]: """ - The Secret ID associated wit the secret version. + The ID of the secret associated with the version. """ return pulumi.get(self, "secret_id") @@ -468,7 +473,7 @@ def secret_id(self) -> pulumi.Output[str]: @pulumi.getter def status(self) -> pulumi.Output[str]: """ - The status of the Secret Version. + The status of the secret version. """ return pulumi.get(self, "status") @@ -476,7 +481,7 @@ def status(self) -> pulumi.Output[str]: @pulumi.getter(name="updatedAt") def updated_at(self) -> pulumi.Output[str]: """ - Date and time of secret version's last update (RFC 3339 format). + The date and time of the secret version's last update (in RFC 3339 format). """ return pulumi.get(self, "updated_at") diff --git a/sdk/python/pulumiverse_scaleway/tem_domain.py b/sdk/python/pulumiverse_scaleway/tem_domain.py index 29ea6060..73444938 100644 --- a/sdk/python/pulumiverse_scaleway/tem_domain.py +++ b/sdk/python/pulumiverse_scaleway/tem_domain.py @@ -127,7 +127,7 @@ def __init__(__self__, *, :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone. :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone. :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone. - :param pulumi.Input[str] last_error: The error message if the last check failed. + :param pulumi.Input[str] last_error: (Deprecated) The error message if the last check failed. :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format). :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one. :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain. @@ -157,6 +157,9 @@ def __init__(__self__, *, pulumi.set(__self__, "dmarc_config", dmarc_config) if dmarc_name is not None: pulumi.set(__self__, "dmarc_name", dmarc_name) + if last_error is not None: + warnings.warn("""last_error is deprecated""", DeprecationWarning) + pulumi.log.warn("""last_error is deprecated: last_error is deprecated""") if last_error is not None: pulumi.set(__self__, "last_error", last_error) if last_valid_at is not None: @@ -257,9 +260,10 @@ def dmarc_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="lastError") + @_utilities.deprecated("""last_error is deprecated""") def last_error(self) -> Optional[pulumi.Input[str]]: """ - The error message if the last check failed. + (Deprecated) The error message if the last check failed. """ return pulumi.get(self, "last_error") @@ -713,7 +717,7 @@ def get(resource_name: str, :param pulumi.Input[str] dkim_config: The DKIM public key, as should be recorded in the DNS zone. :param pulumi.Input[str] dmarc_config: DMARC record for the domain, as should be recorded in the DNS zone. :param pulumi.Input[str] dmarc_name: DMARC name for the domain, as should be recorded in the DNS zone. - :param pulumi.Input[str] last_error: The error message if the last check failed. + :param pulumi.Input[str] last_error: (Deprecated) The error message if the last check failed. :param pulumi.Input[str] last_valid_at: The date and time the domain was last found to be valid (RFC 3339 format). :param pulumi.Input[str] mx_blackhole: The Scaleway's blackhole MX server to use if you do not have one. :param pulumi.Input[str] name: The domain name, must not be used in another Transactional Email Domain. @@ -805,9 +809,10 @@ def dmarc_name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="lastError") + @_utilities.deprecated("""last_error is deprecated""") def last_error(self) -> pulumi.Output[str]: """ - The error message if the last check failed. + (Deprecated) The error message if the last check failed. """ return pulumi.get(self, "last_error") diff --git a/sdk/python/pulumiverse_scaleway/tem_webhook.py b/sdk/python/pulumiverse_scaleway/tem_webhook.py new file mode 100644 index 00000000..f03f843a --- /dev/null +++ b/sdk/python/pulumiverse_scaleway/tem_webhook.py @@ -0,0 +1,640 @@ +# 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__ = ['TemWebhookArgs', 'TemWebhook'] + +@pulumi.input_type +class TemWebhookArgs: + def __init__(__self__, *, + domain_id: pulumi.Input[str], + event_types: pulumi.Input[Sequence[pulumi.Input[str]]], + sns_arn: 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 TemWebhook resource. + :param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook. + :param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic. + :param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided. + :param pulumi.Input[str] project_id: The ID of the project the webhook is associated with. + :param pulumi.Input[str] region: . The region in which the webhook should be created. + """ + pulumi.set(__self__, "domain_id", domain_id) + pulumi.set(__self__, "event_types", event_types) + pulumi.set(__self__, "sns_arn", sns_arn) + 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="domainId") + def domain_id(self) -> pulumi.Input[str]: + """ + The ID of the domain the webhook is associated with. + """ + return pulumi.get(self, "domain_id") + + @domain_id.setter + def domain_id(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_id", value) + + @property + @pulumi.getter(name="eventTypes") + def event_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of event types that trigger the webhook. + """ + return pulumi.get(self, "event_types") + + @event_types.setter + def event_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "event_types", value) + + @property + @pulumi.getter(name="snsArn") + def sns_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the SNS topic. + """ + return pulumi.get(self, "sns_arn") + + @sns_arn.setter + def sns_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "sns_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the webhook. Defaults to an autogenerated name if not provided. + """ + 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 ID of the project the webhook 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]]: + """ + . The region in which the webhook 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 _TemWebhookState: + def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, + domain_id: Optional[pulumi.Input[str]] = None, + event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + sns_arn: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TemWebhook resources. + :param pulumi.Input[str] created_at: The date and time of the webhook's creation (RFC 3339 format). + :param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook. + :param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided. + :param pulumi.Input[str] organization_id: The ID of the organization the webhook belongs to. + :param pulumi.Input[str] project_id: The ID of the project the webhook is associated with. + :param pulumi.Input[str] region: . The region in which the webhook should be created. + :param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic. + :param pulumi.Input[str] updated_at: The date and time of the webhook's last update (RFC 3339 format). + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if domain_id is not None: + pulumi.set(__self__, "domain_id", domain_id) + if event_types is not None: + pulumi.set(__self__, "event_types", event_types) + if name is not None: + pulumi.set(__self__, "name", name) + if organization_id is not None: + pulumi.set(__self__, "organization_id", organization_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if sns_arn is not None: + pulumi.set(__self__, "sns_arn", sns_arn) + if updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + The date and time of the webhook's creation (RFC 3339 format). + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="domainId") + def domain_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the domain the webhook is associated with. + """ + return pulumi.get(self, "domain_id") + + @domain_id.setter + def domain_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_id", value) + + @property + @pulumi.getter(name="eventTypes") + def event_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of event types that trigger the webhook. + """ + return pulumi.get(self, "event_types") + + @event_types.setter + def event_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "event_types", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the webhook. Defaults to an autogenerated name if not provided. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the organization the webhook belongs to. + """ + return pulumi.get(self, "organization_id") + + @organization_id.setter + def organization_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "organization_id", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the project the webhook 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]]: + """ + . The region in which the webhook 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(name="snsArn") + def sns_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the SNS topic. + """ + return pulumi.get(self, "sns_arn") + + @sns_arn.setter + def sns_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sns_arn", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + """ + The date and time of the webhook's last update (RFC 3339 format). + """ + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class TemWebhook(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + domain_id: Optional[pulumi.Input[str]] = None, + event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + sns_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Creates and manages Scaleway Transactional Email Webhooks. + For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email). + + ## Example Usage + + ### Basic + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + main = scaleway.TemWebhook("main", + domain_id="your-domain-id", + event_types=[ + "email_delivered", + "email_bounced", + ], + sns_arn="arn:scw:sns:fr-par:project-xxxx:your-sns-topic", + name="example-webhook") + ``` + + ### Complete Example with Dependencies + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + config = pulumi.Config() + domain_name = config.require("domainName") + sns = scaleway.MnqSns("sns") + sns_credentials = scaleway.MnqSnsCredentials("sns_credentials", permissions={ + "can_manage": True, + }) + sns_topic = scaleway.MnqSnsTopic("sns_topic", + name="test-mnq-sns-topic-basic", + access_key=sns_credentials.access_key, + secret_key=sns_credentials.secret_key) + cr01 = scaleway.TemDomain("cr01", + name=domain_name, + accept_tos=True) + spf = scaleway.DomainRecord("spf", + dns_zone=domain_name, + type="TXT", + data=cr01.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all")) + dkim = scaleway.DomainRecord("dkim", + dns_zone=domain_name, + name=cr01.project_id.apply(lambda project_id: f"{project_id}._domainkey"), + type="TXT", + data=cr01.dkim_config) + mx = scaleway.DomainRecord("mx", + dns_zone=domain_name, + type="MX", + data=".") + dmarc = scaleway.DomainRecord("dmarc", + dns_zone=domain_name, + name=cr01.dmarc_name, + type="TXT", + data=cr01.dmarc_config) + valid = scaleway.TemDomainValidation("valid", + domain_id=cr01.id, + region=cr01.region, + timeout=3600) + webhook = scaleway.TemWebhook("webhook", + name="example-webhook", + domain_id=cr01.id, + event_types=[ + "email_delivered", + "email_bounced", + ], + sns_arn=sns_topic.arn, + opts = pulumi.ResourceOptions(depends_on=[ + valid, + sns_topic, + ])) + ``` + + ## Import + + Webhooks can be imported using the {region}/{id}, e.g. + + bash + + ```sh + $ pulumi import scaleway:index/temWebhook:TemWebhook main 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] domain_id: The ID of the domain the webhook is associated with. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook. + :param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided. + :param pulumi.Input[str] project_id: The ID of the project the webhook is associated with. + :param pulumi.Input[str] region: . The region in which the webhook should be created. + :param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TemWebhookArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates and manages Scaleway Transactional Email Webhooks. + For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/transactional-email). + + ## Example Usage + + ### Basic + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + main = scaleway.TemWebhook("main", + domain_id="your-domain-id", + event_types=[ + "email_delivered", + "email_bounced", + ], + sns_arn="arn:scw:sns:fr-par:project-xxxx:your-sns-topic", + name="example-webhook") + ``` + + ### Complete Example with Dependencies + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + config = pulumi.Config() + domain_name = config.require("domainName") + sns = scaleway.MnqSns("sns") + sns_credentials = scaleway.MnqSnsCredentials("sns_credentials", permissions={ + "can_manage": True, + }) + sns_topic = scaleway.MnqSnsTopic("sns_topic", + name="test-mnq-sns-topic-basic", + access_key=sns_credentials.access_key, + secret_key=sns_credentials.secret_key) + cr01 = scaleway.TemDomain("cr01", + name=domain_name, + accept_tos=True) + spf = scaleway.DomainRecord("spf", + dns_zone=domain_name, + type="TXT", + data=cr01.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all")) + dkim = scaleway.DomainRecord("dkim", + dns_zone=domain_name, + name=cr01.project_id.apply(lambda project_id: f"{project_id}._domainkey"), + type="TXT", + data=cr01.dkim_config) + mx = scaleway.DomainRecord("mx", + dns_zone=domain_name, + type="MX", + data=".") + dmarc = scaleway.DomainRecord("dmarc", + dns_zone=domain_name, + name=cr01.dmarc_name, + type="TXT", + data=cr01.dmarc_config) + valid = scaleway.TemDomainValidation("valid", + domain_id=cr01.id, + region=cr01.region, + timeout=3600) + webhook = scaleway.TemWebhook("webhook", + name="example-webhook", + domain_id=cr01.id, + event_types=[ + "email_delivered", + "email_bounced", + ], + sns_arn=sns_topic.arn, + opts = pulumi.ResourceOptions(depends_on=[ + valid, + sns_topic, + ])) + ``` + + ## Import + + Webhooks can be imported using the {region}/{id}, e.g. + + bash + + ```sh + $ pulumi import scaleway:index/temWebhook:TemWebhook main fr-par/11111111-1111-1111-1111-111111111111 + ``` + + :param str resource_name: The name of the resource. + :param TemWebhookArgs 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(TemWebhookArgs, 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, + domain_id: Optional[pulumi.Input[str]] = None, + event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + sns_arn: 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__ = TemWebhookArgs.__new__(TemWebhookArgs) + + if domain_id is None and not opts.urn: + raise TypeError("Missing required property 'domain_id'") + __props__.__dict__["domain_id"] = domain_id + if event_types is None and not opts.urn: + raise TypeError("Missing required property 'event_types'") + __props__.__dict__["event_types"] = event_types + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + if sns_arn is None and not opts.urn: + raise TypeError("Missing required property 'sns_arn'") + __props__.__dict__["sns_arn"] = sns_arn + __props__.__dict__["created_at"] = None + __props__.__dict__["organization_id"] = None + __props__.__dict__["updated_at"] = None + super(TemWebhook, __self__).__init__( + 'scaleway:index/temWebhook:TemWebhook', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, + domain_id: Optional[pulumi.Input[str]] = None, + event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + organization_id: Optional[pulumi.Input[str]] = None, + project_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + sns_arn: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'TemWebhook': + """ + Get an existing TemWebhook 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] created_at: The date and time of the webhook's creation (RFC 3339 format). + :param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook. + :param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided. + :param pulumi.Input[str] organization_id: The ID of the organization the webhook belongs to. + :param pulumi.Input[str] project_id: The ID of the project the webhook is associated with. + :param pulumi.Input[str] region: . The region in which the webhook should be created. + :param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic. + :param pulumi.Input[str] updated_at: The date and time of the webhook's last update (RFC 3339 format). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TemWebhookState.__new__(_TemWebhookState) + + __props__.__dict__["created_at"] = created_at + __props__.__dict__["domain_id"] = domain_id + __props__.__dict__["event_types"] = event_types + __props__.__dict__["name"] = name + __props__.__dict__["organization_id"] = organization_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["sns_arn"] = sns_arn + __props__.__dict__["updated_at"] = updated_at + return TemWebhook(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The date and time of the webhook's creation (RFC 3339 format). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="domainId") + def domain_id(self) -> pulumi.Output[str]: + """ + The ID of the domain the webhook is associated with. + """ + return pulumi.get(self, "domain_id") + + @property + @pulumi.getter(name="eventTypes") + def event_types(self) -> pulumi.Output[Sequence[str]]: + """ + A list of event types that trigger the webhook. + """ + return pulumi.get(self, "event_types") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the webhook. Defaults to an autogenerated name if not provided. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> pulumi.Output[str]: + """ + The ID of the organization the webhook belongs to. + """ + return pulumi.get(self, "organization_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[str]: + """ + The ID of the project the webhook is associated with. + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[str]: + """ + . The region in which the webhook should be created. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="snsArn") + def sns_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the SNS topic. + """ + return pulumi.get(self, "sns_arn") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + """ + The date and time of the webhook's last update (RFC 3339 format). + """ + return pulumi.get(self, "updated_at") +