From c758fd103378d37a54feab064a7307ae38148ba9 Mon Sep 17 00:00:00 2001 From: Ringo De Smet Date: Wed, 8 Jan 2025 10:30:23 +0100 Subject: [PATCH] Upgrade terraform-provider-scaleway to v2.49.0 (#356) * make tfgen * make build_sdks --------- Co-authored-by: bot@pulumi.com --- .pulumi-java-gen.version | 2 +- examples/go.mod | 14 +- examples/go.sum | 28 +- .../bridge-metadata.json | 3 + .../cmd/pulumi-resource-scaleway/schema.json | 291 +++++++++++++----- provider/go.mod | 59 ++-- provider/go.sum | 147 +++++---- provider/shim/go.mod | 39 ++- provider/shim/go.sum | 103 +++++-- sdk/dotnet/BaremetalServer.cs | 54 +++- sdk/dotnet/CockpitGrafanaUser.cs | 12 + sdk/dotnet/CockpitSource.cs | 21 +- sdk/dotnet/GetAccountProject.cs | 8 + sdk/dotnet/GetAccountSshKey.cs | 8 + sdk/dotnet/GetAvailabilityZones.cs | 32 ++ sdk/dotnet/GetBaremetalOffer.cs | 6 + sdk/dotnet/GetBaremetalOption.cs | 32 ++ sdk/dotnet/GetBaremetalOs.cs | 35 +++ sdk/dotnet/GetBaremetalServer.cs | 33 ++ sdk/dotnet/GetBillingConsumptions.cs | 6 + sdk/dotnet/GetBillingInvoices.cs | 6 + sdk/dotnet/GetBlockSnapshot.cs | 8 + sdk/dotnet/GetBlockVolume.cs | 7 + sdk/dotnet/GetCockpit.cs | 52 ++++ sdk/dotnet/GetCockpitPlan.cs | 36 +++ sdk/dotnet/GetCockpitSource.cs | 257 ++++++++++++++++ sdk/dotnet/GetConfig.cs | 3 + sdk/dotnet/GetContainer.cs | 63 ++++ sdk/dotnet/GetContainerNamespace.cs | 38 +++ sdk/dotnet/GetDatabase.cs | 26 ++ sdk/dotnet/GetDatabaseAcl.cs | 25 ++ sdk/dotnet/GetDatabaseBackup.cs | 35 +++ sdk/dotnet/GetDatabaseInstance.cs | 8 + sdk/dotnet/GetDatabasePrivilege.cs | 27 ++ sdk/dotnet/GetDomainRecord.cs | 43 +++ sdk/dotnet/GetDomainZone.cs | 3 + sdk/dotnet/GetFlexibleIp.cs | 6 + sdk/dotnet/GetFlexibleIps.cs | 70 +++++ sdk/dotnet/GetFunction.cs | 10 + sdk/dotnet/GetFunctionNamespace.cs | 8 + sdk/dotnet/GetIamApiKey.cs | 25 ++ sdk/dotnet/GetIamApplication.cs | 31 ++ sdk/dotnet/GetIamGroup.cs | 33 ++ sdk/dotnet/GetIamSshKey.cs | 6 + sdk/dotnet/GetIamUser.cs | 32 ++ sdk/dotnet/GetInstanceImage.cs | 6 + sdk/dotnet/GetInstanceIp.cs | 6 + sdk/dotnet/GetInstancePlacementGroup.cs | 6 + sdk/dotnet/GetInstancePrivateNic.cs | 40 +++ sdk/dotnet/GetInstanceSecurityGroup.cs | 6 + sdk/dotnet/GetInstanceServer.cs | 6 + sdk/dotnet/GetInstanceServers.cs | 8 + sdk/dotnet/GetInstanceSnapshot.cs | 31 ++ sdk/dotnet/GetInstanceVolume.cs | 6 + sdk/dotnet/GetIotDevice.cs | 6 + sdk/dotnet/GetIotHub.cs | 6 + sdk/dotnet/GetIpamIp.cs | 112 +++++++ sdk/dotnet/GetIpamIps.cs | 86 ++++++ sdk/dotnet/GetK8sVersion.cs | 47 +++ sdk/dotnet/GetKubernetesCluster.cs | 6 + sdk/dotnet/GetKubernetesNodePool.cs | 6 + sdk/dotnet/GetLbAcls.cs | 34 ++ sdk/dotnet/GetLbBackend.cs | 50 +++ sdk/dotnet/GetLbBackends.cs | 34 ++ sdk/dotnet/GetLbFrontend.cs | 57 ++++ sdk/dotnet/GetLbFrontends.cs | 34 ++ sdk/dotnet/GetLbIps.cs | 8 + sdk/dotnet/GetLbRoute.cs | 58 ++++ sdk/dotnet/GetLbRoutes.cs | 34 ++ sdk/dotnet/GetLbs.cs | 8 + sdk/dotnet/GetLoadbalancer.cs | 33 ++ sdk/dotnet/GetLoadbalancerCertificate.cs | 12 + sdk/dotnet/GetLoadbalancerIp.cs | 8 + sdk/dotnet/GetMarketplaceImage.cs | 24 ++ sdk/dotnet/GetMnqSns.cs | 30 ++ sdk/dotnet/GetMnqSqs.cs | 30 ++ sdk/dotnet/GetMongoDbInstance.cs | 8 + sdk/dotnet/GetObjectBucket.cs | 60 ++++ sdk/dotnet/GetObjectBucketPolicy.cs | 28 ++ sdk/dotnet/GetRedisCluster.cs | 8 + sdk/dotnet/GetRegistryImage.cs | 6 + sdk/dotnet/GetRegistryImageTag.cs | 6 + sdk/dotnet/GetRegistryNamespace.cs | 6 + sdk/dotnet/GetSecret.cs | 49 +++ sdk/dotnet/GetSecretVersion.cs | 78 +++++ sdk/dotnet/GetTemDomain.cs | 6 + sdk/dotnet/GetVpc.cs | 37 +++ sdk/dotnet/GetVpcGatewayNetwork.cs | 40 +++ sdk/dotnet/GetVpcPrivateNetwork.cs | 38 +++ sdk/dotnet/GetVpcPublicGateway.cs | 38 +++ sdk/dotnet/GetVpcPublicGatewayDhcp.cs | 30 ++ .../GetVpcPublicGatewayDhcpReservation.cs | 155 ++++++++++ sdk/dotnet/GetVpcPublicGatewayIp.cs | 29 ++ sdk/dotnet/GetVpcPublicPatRule.cs | 99 ++++++ sdk/dotnet/GetVpcRoutes.cs | 6 + sdk/dotnet/GetVpcs.cs | 6 + sdk/dotnet/GetWebHostOffer.cs | 31 ++ sdk/dotnet/GetWebhosting.cs | 31 ++ .../Inputs/InstanceServerRootVolumeArgs.cs | 2 +- .../Inputs/InstanceServerRootVolumeGetArgs.cs | 2 +- sdk/dotnet/InstanceServer.cs | 4 +- sdk/dotnet/ObjectItem.cs | 42 +++ .../Outputs/InstanceServerRootVolume.cs | 2 +- sdk/dotnet/RedisCluster.cs | 27 +- sdk/dotnet/Utilities.cs | 8 + sdk/dotnet/VpcGatewayNetwork.cs | 6 +- sdk/go.mod | 12 +- sdk/go.sum | 24 +- sdk/go/scaleway/baremetalServer.go | 71 ++++- sdk/go/scaleway/cockpitGrafanaUser.go | 11 + sdk/go/scaleway/cockpitSource.go | 28 +- sdk/go/scaleway/getAccountProject.go | 16 +- sdk/go/scaleway/getAccountSshKey.go | 16 +- sdk/go/scaleway/getAvailabilityZones.go | 16 +- sdk/go/scaleway/getBaremetalOffer.go | 16 +- sdk/go/scaleway/getBaremetalOption.go | 16 +- sdk/go/scaleway/getBaremetalOs.go | 16 +- sdk/go/scaleway/getBaremetalServer.go | 16 +- sdk/go/scaleway/getBillingConsumptions.go | 16 +- sdk/go/scaleway/getBillingInvoices.go | 16 +- sdk/go/scaleway/getBlockSnapshot.go | 16 +- sdk/go/scaleway/getBlockVolume.go | 16 +- sdk/go/scaleway/getCockpit.go | 16 +- sdk/go/scaleway/getCockpitPlan.go | 16 +- sdk/go/scaleway/getCockpitSource.go | 188 +++++++++++ sdk/go/scaleway/getConfig.go | 14 +- sdk/go/scaleway/getContainer.go | 16 +- sdk/go/scaleway/getContainerNamespace.go | 16 +- sdk/go/scaleway/getDatabase.go | 16 +- sdk/go/scaleway/getDatabaseAcl.go | 16 +- sdk/go/scaleway/getDatabaseBackup.go | 16 +- sdk/go/scaleway/getDatabaseInstance.go | 16 +- sdk/go/scaleway/getDatabasePrivilege.go | 16 +- sdk/go/scaleway/getDomainRecord.go | 16 +- sdk/go/scaleway/getDomainZone.go | 16 +- sdk/go/scaleway/getFlexibleIp.go | 16 +- sdk/go/scaleway/getFlexibleIps.go | 16 +- sdk/go/scaleway/getFunction.go | 16 +- sdk/go/scaleway/getFunctionNamespace.go | 16 +- sdk/go/scaleway/getIamApiKey.go | 16 +- sdk/go/scaleway/getIamApplication.go | 16 +- sdk/go/scaleway/getIamGroup.go | 16 +- sdk/go/scaleway/getIamSshKey.go | 16 +- sdk/go/scaleway/getIamUser.go | 16 +- sdk/go/scaleway/getInstanceImage.go | 16 +- sdk/go/scaleway/getInstanceIp.go | 16 +- sdk/go/scaleway/getInstancePlacementGroup.go | 16 +- sdk/go/scaleway/getInstancePrivateNic.go | 16 +- sdk/go/scaleway/getInstanceSecurityGroup.go | 16 +- sdk/go/scaleway/getInstanceServer.go | 16 +- sdk/go/scaleway/getInstanceServers.go | 16 +- sdk/go/scaleway/getInstanceSnapshot.go | 16 +- sdk/go/scaleway/getInstanceVolume.go | 16 +- sdk/go/scaleway/getIotDevice.go | 16 +- sdk/go/scaleway/getIotHub.go | 16 +- sdk/go/scaleway/getIpamIp.go | 16 +- sdk/go/scaleway/getIpamIps.go | 16 +- sdk/go/scaleway/getK8sVersion.go | 16 +- sdk/go/scaleway/getKubernetesCluster.go | 16 +- sdk/go/scaleway/getKubernetesNodePool.go | 16 +- sdk/go/scaleway/getLbAcls.go | 16 +- sdk/go/scaleway/getLbBackend.go | 16 +- sdk/go/scaleway/getLbBackends.go | 16 +- sdk/go/scaleway/getLbFrontend.go | 16 +- sdk/go/scaleway/getLbFrontends.go | 16 +- sdk/go/scaleway/getLbIps.go | 16 +- sdk/go/scaleway/getLbRoute.go | 16 +- sdk/go/scaleway/getLbRoutes.go | 16 +- sdk/go/scaleway/getLbs.go | 16 +- sdk/go/scaleway/getLoadbalancer.go | 16 +- sdk/go/scaleway/getLoadbalancerCertificate.go | 16 +- sdk/go/scaleway/getLoadbalancerIp.go | 16 +- sdk/go/scaleway/getMarketplaceImage.go | 16 +- sdk/go/scaleway/getMnqSns.go | 16 +- sdk/go/scaleway/getMnqSqs.go | 16 +- sdk/go/scaleway/getMongoDbInstance.go | 16 +- sdk/go/scaleway/getObjectBucket.go | 16 +- sdk/go/scaleway/getObjectBucketPolicy.go | 16 +- sdk/go/scaleway/getRedisCluster.go | 16 +- sdk/go/scaleway/getRegistryImage.go | 16 +- sdk/go/scaleway/getRegistryImageTag.go | 16 +- sdk/go/scaleway/getRegistryNamespace.go | 16 +- sdk/go/scaleway/getSecret.go | 16 +- sdk/go/scaleway/getSecretVersion.go | 16 +- sdk/go/scaleway/getTemDomain.go | 16 +- sdk/go/scaleway/getVpc.go | 16 +- sdk/go/scaleway/getVpcGatewayNetwork.go | 16 +- sdk/go/scaleway/getVpcPrivateNetwork.go | 16 +- sdk/go/scaleway/getVpcPublicGateway.go | 16 +- sdk/go/scaleway/getVpcPublicGatewayDhcp.go | 16 +- .../getVpcPublicGatewayDhcpReservation.go | 16 +- sdk/go/scaleway/getVpcPublicGatewayIp.go | 16 +- sdk/go/scaleway/getVpcPublicPatRule.go | 16 +- sdk/go/scaleway/getVpcRoutes.go | 16 +- sdk/go/scaleway/getVpcs.go | 16 +- sdk/go/scaleway/getWebHostOffer.go | 16 +- sdk/go/scaleway/getWebhosting.go | 16 +- sdk/go/scaleway/instanceServer.go | 16 +- sdk/go/scaleway/objectItem.go | 22 ++ sdk/go/scaleway/pulumiTypes.go | 8 +- sdk/go/scaleway/redisCluster.go | 54 +++- sdk/go/scaleway/vpcGatewayNetwork.go | 12 +- sdk/nodejs/baremetalServer.ts | 37 ++- sdk/nodejs/cockpitGrafanaUser.ts | 10 + sdk/nodejs/cockpitSource.ts | 20 +- sdk/nodejs/getAccountProject.ts | 2 +- sdk/nodejs/getAccountSshKey.ts | 2 +- sdk/nodejs/getAvailabilityZones.ts | 2 +- sdk/nodejs/getBaremetalOffer.ts | 2 +- sdk/nodejs/getBaremetalOption.ts | 2 +- sdk/nodejs/getBaremetalOs.ts | 2 +- sdk/nodejs/getBaremetalServer.ts | 2 +- sdk/nodejs/getBillingConsumptions.ts | 2 +- sdk/nodejs/getBillingInvoices.ts | 2 +- sdk/nodejs/getBlockSnapshot.ts | 2 +- sdk/nodejs/getBlockVolume.ts | 2 +- sdk/nodejs/getCockpit.ts | 2 +- sdk/nodejs/getCockpitPlan.ts | 2 +- sdk/nodejs/getCockpitSource.ts | 158 ++++++++++ sdk/nodejs/getConfig.ts | 2 +- sdk/nodejs/getContainer.ts | 2 +- sdk/nodejs/getContainerNamespace.ts | 2 +- sdk/nodejs/getDatabase.ts | 2 +- sdk/nodejs/getDatabaseAcl.ts | 2 +- sdk/nodejs/getDatabaseBackup.ts | 2 +- sdk/nodejs/getDatabaseInstance.ts | 2 +- sdk/nodejs/getDatabasePrivilege.ts | 2 +- sdk/nodejs/getDomainRecord.ts | 2 +- sdk/nodejs/getDomainZone.ts | 2 +- sdk/nodejs/getFlexibleIp.ts | 2 +- sdk/nodejs/getFlexibleIps.ts | 2 +- sdk/nodejs/getFunction.ts | 2 +- sdk/nodejs/getFunctionNamespace.ts | 2 +- sdk/nodejs/getIamApiKey.ts | 2 +- sdk/nodejs/getIamApplication.ts | 2 +- sdk/nodejs/getIamGroup.ts | 2 +- sdk/nodejs/getIamSshKey.ts | 2 +- sdk/nodejs/getIamUser.ts | 2 +- sdk/nodejs/getInstanceImage.ts | 2 +- sdk/nodejs/getInstanceIp.ts | 2 +- sdk/nodejs/getInstancePlacementGroup.ts | 2 +- sdk/nodejs/getInstancePrivateNic.ts | 2 +- sdk/nodejs/getInstanceSecurityGroup.ts | 2 +- sdk/nodejs/getInstanceServer.ts | 2 +- sdk/nodejs/getInstanceServers.ts | 2 +- sdk/nodejs/getInstanceSnapshot.ts | 2 +- sdk/nodejs/getInstanceVolume.ts | 2 +- sdk/nodejs/getIotDevice.ts | 2 +- sdk/nodejs/getIotHub.ts | 2 +- sdk/nodejs/getIpamIp.ts | 2 +- sdk/nodejs/getIpamIps.ts | 2 +- sdk/nodejs/getK8sVersion.ts | 2 +- sdk/nodejs/getKubernetesCluster.ts | 2 +- sdk/nodejs/getKubernetesNodePool.ts | 2 +- sdk/nodejs/getLbAcls.ts | 2 +- sdk/nodejs/getLbBackend.ts | 2 +- sdk/nodejs/getLbBackends.ts | 2 +- sdk/nodejs/getLbFrontend.ts | 2 +- sdk/nodejs/getLbFrontends.ts | 2 +- sdk/nodejs/getLbIps.ts | 2 +- sdk/nodejs/getLbRoute.ts | 2 +- sdk/nodejs/getLbRoutes.ts | 2 +- sdk/nodejs/getLbs.ts | 2 +- sdk/nodejs/getLoadbalancer.ts | 2 +- sdk/nodejs/getLoadbalancerCertificate.ts | 2 +- sdk/nodejs/getLoadbalancerIp.ts | 2 +- sdk/nodejs/getMarketplaceImage.ts | 2 +- sdk/nodejs/getMnqSns.ts | 2 +- sdk/nodejs/getMnqSqs.ts | 2 +- sdk/nodejs/getMongoDbInstance.ts | 2 +- sdk/nodejs/getObjectBucket.ts | 2 +- sdk/nodejs/getObjectBucketPolicy.ts | 2 +- sdk/nodejs/getRedisCluster.ts | 2 +- sdk/nodejs/getRegistryImage.ts | 2 +- sdk/nodejs/getRegistryImageTag.ts | 2 +- sdk/nodejs/getRegistryNamespace.ts | 2 +- sdk/nodejs/getSecret.ts | 2 +- sdk/nodejs/getSecretVersion.ts | 2 +- sdk/nodejs/getTemDomain.ts | 2 +- sdk/nodejs/getVpc.ts | 2 +- sdk/nodejs/getVpcGatewayNetwork.ts | 2 +- sdk/nodejs/getVpcPrivateNetwork.ts | 2 +- sdk/nodejs/getVpcPublicGateway.ts | 2 +- sdk/nodejs/getVpcPublicGatewayDhcp.ts | 2 +- .../getVpcPublicGatewayDhcpReservation.ts | 2 +- sdk/nodejs/getVpcPublicGatewayIp.ts | 2 +- sdk/nodejs/getVpcPublicPatRule.ts | 2 +- sdk/nodejs/getVpcRoutes.ts | 2 +- sdk/nodejs/getVpcs.ts | 2 +- sdk/nodejs/getWebHostOffer.ts | 2 +- sdk/nodejs/getWebhosting.ts | 2 +- sdk/nodejs/index.ts | 5 + sdk/nodejs/instanceServer.ts | 8 +- sdk/nodejs/objectBucket.ts | 2 +- sdk/nodejs/objectItem.ts | 16 + sdk/nodejs/redisCluster.ts | 27 +- sdk/nodejs/tsconfig.json | 1 + sdk/nodejs/types/input.ts | 2 +- sdk/nodejs/types/output.ts | 2 +- sdk/nodejs/vpcGatewayNetwork.ts | 6 +- sdk/python/pulumiverse_scaleway/__init__.py | 1 + sdk/python/pulumiverse_scaleway/_inputs.py | 6 +- .../pulumiverse_scaleway/baremetal_server.py | 74 ++++- .../cockpit_grafana_user.py | 28 ++ .../pulumiverse_scaleway/cockpit_source.py | 56 +++- .../get_account_project.py | 4 +- .../get_account_ssh_key.py | 4 +- .../get_availability_zones.py | 4 +- .../get_baremetal_offer.py | 4 +- .../get_baremetal_option.py | 4 +- .../pulumiverse_scaleway/get_baremetal_os.py | 4 +- .../get_baremetal_server.py | 4 +- .../get_billing_consumptions.py | 4 +- .../get_billing_invoices.py | 4 +- .../get_block_snapshot.py | 4 +- .../pulumiverse_scaleway/get_block_volume.py | 4 +- .../pulumiverse_scaleway/get_cockpit.py | 4 +- .../pulumiverse_scaleway/get_cockpit_plan.py | 4 +- .../get_cockpit_source.py | 262 ++++++++++++++++ sdk/python/pulumiverse_scaleway/get_config.py | 4 +- .../pulumiverse_scaleway/get_container.py | 4 +- .../get_container_namespace.py | 4 +- .../pulumiverse_scaleway/get_database.py | 4 +- .../pulumiverse_scaleway/get_database_acl.py | 4 +- .../get_database_backup.py | 4 +- .../get_database_instance.py | 4 +- .../get_database_privilege.py | 4 +- .../pulumiverse_scaleway/get_domain_record.py | 4 +- .../pulumiverse_scaleway/get_domain_zone.py | 4 +- .../pulumiverse_scaleway/get_flexible_ip.py | 4 +- .../pulumiverse_scaleway/get_flexible_ips.py | 4 +- .../pulumiverse_scaleway/get_function.py | 4 +- .../get_function_namespace.py | 4 +- .../pulumiverse_scaleway/get_iam_api_key.py | 4 +- .../get_iam_application.py | 4 +- .../pulumiverse_scaleway/get_iam_group.py | 4 +- .../pulumiverse_scaleway/get_iam_ssh_key.py | 4 +- .../pulumiverse_scaleway/get_iam_user.py | 4 +- .../get_instance_image.py | 4 +- .../pulumiverse_scaleway/get_instance_ip.py | 4 +- .../get_instance_placement_group.py | 4 +- .../get_instance_private_nic.py | 4 +- .../get_instance_security_group.py | 4 +- .../get_instance_server.py | 4 +- .../get_instance_servers.py | 4 +- .../get_instance_snapshot.py | 4 +- .../get_instance_volume.py | 4 +- .../pulumiverse_scaleway/get_iot_device.py | 4 +- .../pulumiverse_scaleway/get_iot_hub.py | 4 +- .../pulumiverse_scaleway/get_ipam_ip.py | 4 +- .../pulumiverse_scaleway/get_ipam_ips.py | 4 +- .../pulumiverse_scaleway/get_k8s_version.py | 4 +- .../get_kubernetes_cluster.py | 4 +- .../get_kubernetes_node_pool.py | 4 +- .../pulumiverse_scaleway/get_lb_acls.py | 4 +- .../pulumiverse_scaleway/get_lb_backend.py | 4 +- .../pulumiverse_scaleway/get_lb_backends.py | 4 +- .../pulumiverse_scaleway/get_lb_frontend.py | 4 +- .../pulumiverse_scaleway/get_lb_frontends.py | 4 +- sdk/python/pulumiverse_scaleway/get_lb_ips.py | 4 +- .../pulumiverse_scaleway/get_lb_route.py | 4 +- .../pulumiverse_scaleway/get_lb_routes.py | 4 +- sdk/python/pulumiverse_scaleway/get_lbs.py | 4 +- .../pulumiverse_scaleway/get_loadbalancer.py | 4 +- .../get_loadbalancer_certificate.py | 4 +- .../get_loadbalancer_ip.py | 4 +- .../get_marketplace_image.py | 4 +- .../pulumiverse_scaleway/get_mnq_sns.py | 4 +- .../pulumiverse_scaleway/get_mnq_sqs.py | 4 +- .../get_mongo_db_instance.py | 4 +- .../pulumiverse_scaleway/get_object_bucket.py | 4 +- .../get_object_bucket_policy.py | 4 +- .../pulumiverse_scaleway/get_redis_cluster.py | 4 +- .../get_registry_image.py | 4 +- .../get_registry_image_tag.py | 4 +- .../get_registry_namespace.py | 4 +- sdk/python/pulumiverse_scaleway/get_secret.py | 4 +- .../get_secret_version.py | 4 +- .../pulumiverse_scaleway/get_tem_domain.py | 4 +- sdk/python/pulumiverse_scaleway/get_vpc.py | 4 +- .../get_vpc_gateway_network.py | 4 +- .../get_vpc_private_network.py | 4 +- .../get_vpc_public_gateway.py | 4 +- .../get_vpc_public_gateway_dhcp.py | 4 +- ...get_vpc_public_gateway_dhcp_reservation.py | 4 +- .../get_vpc_public_gateway_ip.py | 4 +- .../get_vpc_public_pat_rule.py | 4 +- .../pulumiverse_scaleway/get_vpc_routes.py | 4 +- sdk/python/pulumiverse_scaleway/get_vpcs.py | 4 +- .../get_web_host_offer.py | 4 +- .../pulumiverse_scaleway/get_webhosting.py | 4 +- .../pulumiverse_scaleway/instance_server.py | 13 +- .../pulumiverse_scaleway/object_bucket.py | 2 +- .../pulumiverse_scaleway/object_item.py | 49 +++ sdk/python/pulumiverse_scaleway/outputs.py | 4 +- .../pulumiverse_scaleway/redis_cluster.py | 63 +++- .../vpc_gateway_network.py | 14 +- sdk/python/pyproject.toml | 2 +- 398 files changed, 4979 insertions(+), 1720 deletions(-) create mode 100644 sdk/dotnet/GetCockpitSource.cs create mode 100644 sdk/go/scaleway/getCockpitSource.go create mode 100644 sdk/nodejs/getCockpitSource.ts create mode 100644 sdk/python/pulumiverse_scaleway/get_cockpit_source.py diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 47d04a52..afaf360d 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.18.0 \ No newline at end of file +1.0.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index e772b415..fe885732 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -4,7 +4,7 @@ go 1.22 toolchain go1.22.4 -require github.com/pulumi/pulumi/pkg/v3 v3.140.0 +require github.com/pulumi/pulumi/pkg/v3 v3.143.0 require ( cloud.google.com/go v0.112.1 // indirect @@ -125,7 +125,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.140.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.143.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -155,15 +155,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.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect diff --git a/examples/go.sum b/examples/go.sum index e2374cde..bb2014fc 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -339,10 +339,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= -github.com/pulumi/pulumi/pkg/v3 v3.140.0 h1:/bvHa19HY/6qHWvuAOVII8qr72MDGGczBWlPYlPo3j0= -github.com/pulumi/pulumi/pkg/v3 v3.140.0/go.mod h1:rcTtSyisd7BzZTugNk/s9zlYgX9S0S10+pha3Tko6yM= -github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= -github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/pkg/v3 v3.143.0 h1:diAlaNVZSRc59ePqbMuvuf/AwecpZyjhh1pGvmLEUwg= +github.com/pulumi/pulumi/pkg/v3 v3.143.0/go.mod h1:XzjN1uQI2HWXYolT2L4RIXzvLEnWTSOzFgFFIUfFEa8= +github.com/pulumi/pulumi/sdk/v3 v3.143.0 h1:z1m8Fc6l723eU2J/bP7UHE5t6WbBu4iIDAl1WaalQk4= +github.com/pulumi/pulumi/sdk/v3 v3.143.0/go.mod h1:OFpZabILGxrFqzcABFpMCksrHGVp4ymRM2BkKjlazDY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -434,8 +434,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= 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.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= @@ -485,8 +485,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.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/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -513,8 +513,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -524,8 +524,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= 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.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -536,8 +536,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= 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.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/provider/cmd/pulumi-resource-scaleway/bridge-metadata.json b/provider/cmd/pulumi-resource-scaleway/bridge-metadata.json index 377ee6a5..b5965784 100644 --- a/provider/cmd/pulumi-resource-scaleway/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-scaleway/bridge-metadata.json @@ -1179,6 +1179,9 @@ "scaleway_cockpit_plan": { "current": "scaleway:index/getCockpitPlan:getCockpitPlan" }, + "scaleway_cockpit_source": { + "current": "scaleway:index/getCockpitSource:getCockpitSource" + }, "scaleway_config": { "current": "scaleway:index/getConfig:getConfig" }, diff --git a/provider/cmd/pulumi-resource-scaleway/schema.json b/provider/cmd/pulumi-resource-scaleway/schema.json index b5df48a7..a6043de7 100644 --- a/provider/cmd/pulumi-resource-scaleway/schema.json +++ b/provider/cmd/pulumi-resource-scaleway/schema.json @@ -1313,8 +1313,7 @@ }, "sizeInGb": { "type": "integer", - "description": "Size of the root volume in gigabytes.\nTo find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and\ncheck the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.\nUpdates to this field will recreate a new resource.\n", - "willReplaceOnChanges": true + "description": "Size of the root volume in gigabytes.\nTo find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and\ncheck the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.\nDepending on `volume_type`, updates to this field may recreate a new resource.\n" }, "volumeId": { "type": "string", @@ -6612,7 +6611,7 @@ } }, "scaleway:index/baremetalServer:BaremetalServer": { - "description": "Creates and manages Scaleway Compute Baremetal servers. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).\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 \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: \"GP-BM1-S\",\n os: \"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n sshKeyIds: [mainScalewayAccountSshKey.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=\"GP-BM1-S\",\n os=\"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n ssh_key_ids=[main_scaleway_account_ssh_key[\"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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = \"GP-BM1-S\",\n Os = \"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(\"GP-BM1-S\"),\n\t\t\tOs: pulumi.String(\"d17d6872-0412-45d9-a198-af82c34d3c5c\"),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(\"GP-BM1-S\")\n .os(\"d17d6872-0412-45d9-a198-af82c34d3c5c\")\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: GP-BM1-S\n os: d17d6872-0412-45d9-a198-af82c34d3c5c\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\nvariables:\n main:\n fn::invoke:\n Function: scaleway:getIamSshKey\n Arguments:\n name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With option\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 = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Private Network\",\n});\nconst remoteAccess = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Remote Access\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [mainScalewayAccountSshKey.id],\n options: [\n {\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n },\n {\n id: remoteAccess.then(remoteAccess =\u003e remoteAccess.optionId),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Private Network\")\nremote_access = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Remote Access\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[main_scaleway_account_ssh_key[\"id\"]],\n options=[\n {\n \"id\": private_network.option_id,\n },\n {\n \"id\": remote_access.option_id,\n },\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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Private Network\",\n });\n\n var remoteAccess = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Remote Access\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = remoteAccess.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\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.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tremoteAccess, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Remote Access\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(remoteAccess.OptionId),\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.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Private Network\")\n .build());\n\n final var remoteAccess = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Remote Access\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .options( \n BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build(),\n BaremetalServerOptionArgs.builder()\n .id(remoteAccess.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n - id: ${remoteAccess.optionId}\nvariables:\n main:\n fn::invoke:\n Function: scaleway:getIamSshKey\n Arguments:\n name: main\n myOs:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n privateNetwork:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n zone: fr-par-2\n name: Private Network\n remoteAccess:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n zone: fr-par-2\n name: Remote Access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With private network\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 = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Private Network\",\n});\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {\n region: \"fr-par\",\n name: \"baremetal_private_network\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [mainScalewayAccountSshKey.id],\n options: [{\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n }],\n privateNetworks: [{\n id: pn.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Private Network\")\npn = scaleway.VpcPrivateNetwork(\"pn\",\n region=\"fr-par\",\n name=\"baremetal_private_network\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[main_scaleway_account_ssh_key[\"id\"]],\n options=[{\n \"id\": private_network.option_id,\n }],\n private_networks=[{\n \"id\": pn.id,\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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Private Network\",\n });\n\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\", new()\n {\n Region = \"fr-par\",\n Name = \"baremetal_private_network\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n },\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs\n {\n Id = pn.Id,\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.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tRegion: pulumi.String(\"fr-par\"),\n\t\t\tName: pulumi.String(\"baremetal_private_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.BaremetalServerPrivateNetworkArgs{\n\t\t\t\t\tId: pn.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Private Network\")\n .build());\n\n var pn = new VpcPrivateNetwork(\"pn\", VpcPrivateNetworkArgs.builder()\n .region(\"fr-par\")\n .name(\"baremetal_private_network\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .options(BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()\n .id(pn.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n properties:\n region: fr-par\n name: baremetal_private_network\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n privateNetworks:\n - id: ${pn.id}\nvariables:\n main:\n fn::invoke:\n Function: scaleway:getIamSshKey\n Arguments:\n name: main\n myOs:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n privateNetwork:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n zone: fr-par-2\n name: Private Network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With IPAM IP IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst vpc01 = new scaleway.Vpc(\"vpc01\", {name: \"vpc_baremetal\"});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n name: \"private_network_baremetal\",\n ipv4Subnet: {\n subnet: \"172.16.64.0/22\",\n },\n vpcId: vpc01.id,\n});\nconst ip01 = new scaleway.IpamIp(\"ip01\", {\n address: \"172.16.64.7\",\n sources: [{\n privateNetworkId: pn01.id,\n }],\n});\nconst myKey = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-1\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-1\",\n name: \"EM-A115X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-1\",\n name: \"Private Network\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [myKeyScalewayAccountSshKey.id],\n options: [{\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n }],\n privateNetworks: [{\n id: pn01.id,\n ipamIpIds: [ip01.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\", name=\"vpc_baremetal\")\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n name=\"private_network_baremetal\",\n ipv4_subnet={\n \"subnet\": \"172.16.64.0/22\",\n },\n vpc_id=vpc01.id)\nip01 = scaleway.IpamIp(\"ip01\",\n address=\"172.16.64.7\",\n sources=[{\n \"private_network_id\": pn01.id,\n }])\nmy_key = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-1\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-1\",\n name=\"EM-A115X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-1\",\n name=\"Private Network\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[my_key_scaleway_account_ssh_key[\"id\"]],\n options=[{\n \"id\": private_network.option_id,\n }],\n private_networks=[{\n \"id\": pn01.id,\n \"ipam_ip_ids\": [ip01.id],\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 vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"vpc_baremetal\",\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_baremetal\",\n Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs\n {\n Subnet = \"172.16.64.0/22\",\n },\n VpcId = vpc01.Id,\n });\n\n var ip01 = new Scaleway.IpamIp(\"ip01\", new()\n {\n Address = \"172.16.64.7\",\n Sources = new[]\n {\n new Scaleway.Inputs.IpamIpSourceArgs\n {\n PrivateNetworkId = pn01.Id,\n },\n },\n });\n\n var myKey = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"EM-A115X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"Private Network\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n myKeyScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n },\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs\n {\n Id = pn01.Id,\n IpamIpIds = new[]\n {\n ip01.Id,\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\tvpc01, err := scaleway.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"vpc_baremetal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_baremetal\"),\n\t\t\tIpv4Subnet: \u0026scaleway.VpcPrivateNetworkIpv4SubnetArgs{\n\t\t\t\tSubnet: pulumi.String(\"172.16.64.0/22\"),\n\t\t\t},\n\t\t\tVpcId: vpc01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewIpamIp(ctx, \"ip01\", \u0026scaleway.IpamIpArgs{\n\t\t\tAddress: pulumi.String(\"172.16.64.7\"),\n\t\t\tSources: scaleway.IpamIpSourceArray{\n\t\t\t\t\u0026scaleway.IpamIpSourceArgs{\n\t\t\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"EM-A115X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmyKeyScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.BaremetalServerPrivateNetworkArgs{\n\t\t\t\t\tId: pn01.ID(),\n\t\t\t\t\tIpamIpIds: pulumi.StringArray{\n\t\t\t\t\t\tip01.ID(),\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.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;\nimport com.pulumi.scaleway.IpamIp;\nimport com.pulumi.scaleway.IpamIpArgs;\nimport com.pulumi.scaleway.inputs.IpamIpSourceArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc01 = new Vpc(\"vpc01\", VpcArgs.builder()\n .name(\"vpc_baremetal\")\n .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_baremetal\")\n .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()\n .subnet(\"172.16.64.0/22\")\n .build())\n .vpcId(vpc01.id())\n .build());\n\n var ip01 = new IpamIp(\"ip01\", IpamIpArgs.builder()\n .address(\"172.16.64.7\")\n .sources(IpamIpSourceArgs.builder()\n .privateNetworkId(pn01.id())\n .build())\n .build());\n\n final var myKey = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"EM-A115X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"Private Network\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(myKeyScalewayAccountSshKey.id())\n .options(BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()\n .id(pn01.id())\n .ipamIpIds(ip01.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: vpc_baremetal\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_baremetal\n ipv4Subnet:\n subnet: 172.16.64.0/22\n vpcId: ${vpc01.id}\n ip01:\n type: scaleway:IpamIp\n properties:\n address: 172.16.64.7\n sources:\n - privateNetworkId: ${pn01.id}\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${myKeyScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n privateNetworks:\n - id: ${pn01.id}\n ipamIpIds:\n - ${ip01.id}\nvariables:\n myKey:\n fn::invoke:\n Function: scaleway:getIamSshKey\n Arguments:\n name: main\n myOs:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n zone: fr-par-1\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n zone: fr-par-1\n name: EM-A115X-SSD\n privateNetwork:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n zone: fr-par-1\n name: Private Network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without install config\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 myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\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 myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = 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\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: 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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\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 myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n installConfigAfterward: true\nvariables:\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBaremetal servers can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/baremetalServer:BaremetalServer web fr-par-2/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Compute Baremetal servers. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).\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 \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: \"GP-BM1-S\",\n os: \"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n sshKeyIds: [mainScalewayAccountSshKey.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=\"GP-BM1-S\",\n os=\"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n ssh_key_ids=[main_scaleway_account_ssh_key[\"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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = \"GP-BM1-S\",\n Os = \"d17d6872-0412-45d9-a198-af82c34d3c5c\",\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(\"GP-BM1-S\"),\n\t\t\tOs: pulumi.String(\"d17d6872-0412-45d9-a198-af82c34d3c5c\"),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(\"GP-BM1-S\")\n .os(\"d17d6872-0412-45d9-a198-af82c34d3c5c\")\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: GP-BM1-S\n os: d17d6872-0412-45d9-a198-af82c34d3c5c\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\nvariables:\n main:\n fn::invoke:\n function: scaleway:getIamSshKey\n arguments:\n name: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With option\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 = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Private Network\",\n});\nconst remoteAccess = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Remote Access\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [mainScalewayAccountSshKey.id],\n options: [\n {\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n },\n {\n id: remoteAccess.then(remoteAccess =\u003e remoteAccess.optionId),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Private Network\")\nremote_access = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Remote Access\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[main_scaleway_account_ssh_key[\"id\"]],\n options=[\n {\n \"id\": private_network.option_id,\n },\n {\n \"id\": remote_access.option_id,\n },\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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Private Network\",\n });\n\n var remoteAccess = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Remote Access\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = remoteAccess.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\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.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tremoteAccess, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Remote Access\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(remoteAccess.OptionId),\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.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Private Network\")\n .build());\n\n final var remoteAccess = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Remote Access\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .options( \n BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build(),\n BaremetalServerOptionArgs.builder()\n .id(remoteAccess.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n - id: ${remoteAccess.optionId}\nvariables:\n main:\n fn::invoke:\n function: scaleway:getIamSshKey\n arguments:\n name: main\n myOs:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n privateNetwork:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n zone: fr-par-2\n name: Private Network\n remoteAccess:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n zone: fr-par-2\n name: Remote Access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With private network\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 = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-2\",\n name: \"Private Network\",\n});\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {\n region: \"fr-par\",\n name: \"baremetal_private_network\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [mainScalewayAccountSshKey.id],\n options: [{\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n }],\n privateNetworks: [{\n id: pn.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-2\",\n name=\"Private Network\")\npn = scaleway.VpcPrivateNetwork(\"pn\",\n region=\"fr-par\",\n name=\"baremetal_private_network\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[main_scaleway_account_ssh_key[\"id\"]],\n options=[{\n \"id\": private_network.option_id,\n }],\n private_networks=[{\n \"id\": pn.id,\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 main = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Private Network\",\n });\n\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\", new()\n {\n Region = \"fr-par\",\n Name = \"baremetal_private_network\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n mainScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n },\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs\n {\n Id = pn.Id,\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.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tRegion: pulumi.String(\"fr-par\"),\n\t\t\tName: pulumi.String(\"baremetal_private_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmainScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.BaremetalServerPrivateNetworkArgs{\n\t\t\t\t\tId: pn.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;\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 main = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Private Network\")\n .build());\n\n var pn = new VpcPrivateNetwork(\"pn\", VpcPrivateNetworkArgs.builder()\n .region(\"fr-par\")\n .name(\"baremetal_private_network\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(mainScalewayAccountSshKey.id())\n .options(BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()\n .id(pn.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n properties:\n region: fr-par\n name: baremetal_private_network\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${mainScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n privateNetworks:\n - id: ${pn.id}\nvariables:\n main:\n fn::invoke:\n function: scaleway:getIamSshKey\n arguments:\n name: main\n myOs:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n privateNetwork:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n zone: fr-par-2\n name: Private Network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With IPAM IP IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst vpc01 = new scaleway.Vpc(\"vpc01\", {name: \"vpc_baremetal\"});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n name: \"private_network_baremetal\",\n ipv4Subnet: {\n subnet: \"172.16.64.0/22\",\n },\n vpcId: vpc01.id,\n});\nconst ip01 = new scaleway.IpamIp(\"ip01\", {\n address: \"172.16.64.7\",\n sources: [{\n privateNetworkId: pn01.id,\n }],\n});\nconst myKey = scaleway.getIamSshKey({\n name: \"main\",\n});\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-1\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-1\",\n name: \"EM-A115X-SSD\",\n});\nconst privateNetwork = scaleway.getBaremetalOption({\n zone: \"fr-par-1\",\n name: \"Private Network\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: myOs.then(myOs =\u003e myOs.osId),\n sshKeyIds: [myKeyScalewayAccountSshKey.id],\n options: [{\n id: privateNetwork.then(privateNetwork =\u003e privateNetwork.optionId),\n }],\n privateNetworks: [{\n id: pn01.id,\n ipamIpIds: [ip01.id],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\", name=\"vpc_baremetal\")\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n name=\"private_network_baremetal\",\n ipv4_subnet={\n \"subnet\": \"172.16.64.0/22\",\n },\n vpc_id=vpc01.id)\nip01 = scaleway.IpamIp(\"ip01\",\n address=\"172.16.64.7\",\n sources=[{\n \"private_network_id\": pn01.id,\n }])\nmy_key = scaleway.get_iam_ssh_key(name=\"main\")\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-1\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-1\",\n name=\"EM-A115X-SSD\")\nprivate_network = scaleway.get_baremetal_option(zone=\"fr-par-1\",\n name=\"Private Network\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=my_os.os_id,\n ssh_key_ids=[my_key_scaleway_account_ssh_key[\"id\"]],\n options=[{\n \"id\": private_network.option_id,\n }],\n private_networks=[{\n \"id\": pn01.id,\n \"ipam_ip_ids\": [ip01.id],\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 vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"vpc_baremetal\",\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_baremetal\",\n Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs\n {\n Subnet = \"172.16.64.0/22\",\n },\n VpcId = vpc01.Id,\n });\n\n var ip01 = new Scaleway.IpamIp(\"ip01\", new()\n {\n Address = \"172.16.64.7\",\n Sources = new[]\n {\n new Scaleway.Inputs.IpamIpSourceArgs\n {\n PrivateNetworkId = pn01.Id,\n },\n },\n });\n\n var myKey = Scaleway.GetIamSshKey.Invoke(new()\n {\n Name = \"main\",\n });\n\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"EM-A115X-SSD\",\n });\n\n var privateNetwork = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"Private Network\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = new[]\n {\n myKeyScalewayAccountSshKey.Id,\n },\n Options = new[]\n {\n new Scaleway.Inputs.BaremetalServerOptionArgs\n {\n Id = privateNetwork.Apply(getBaremetalOptionResult =\u003e getBaremetalOptionResult.OptionId),\n },\n },\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.BaremetalServerPrivateNetworkArgs\n {\n Id = pn01.Id,\n IpamIpIds = new[]\n {\n ip01.Id,\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\tvpc01, err := scaleway.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"vpc_baremetal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_baremetal\"),\n\t\t\tIpv4Subnet: \u0026scaleway.VpcPrivateNetworkIpv4SubnetArgs{\n\t\t\t\tSubnet: pulumi.String(\"172.16.64.0/22\"),\n\t\t\t},\n\t\t\tVpcId: vpc01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewIpamIp(ctx, \"ip01\", \u0026scaleway.IpamIpArgs{\n\t\t\tAddress: pulumi.String(\"172.16.64.7\"),\n\t\t\tSources: scaleway.IpamIpSourceArray{\n\t\t\t\t\u0026scaleway.IpamIpSourceArgs{\n\t\t\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupIamSshKey(ctx, \u0026scaleway.LookupIamSshKeyArgs{\n\t\t\tName: pulumi.StringRef(\"main\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"EM-A115X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateNetwork, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"Private Network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmyKeyScalewayAccountSshKey.Id,\n\t\t\t},\n\t\t\tOptions: scaleway.BaremetalServerOptionArray{\n\t\t\t\t\u0026scaleway.BaremetalServerOptionArgs{\n\t\t\t\t\tId: pulumi.String(privateNetwork.OptionId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivateNetworks: scaleway.BaremetalServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.BaremetalServerPrivateNetworkArgs{\n\t\t\t\t\tId: pn01.ID(),\n\t\t\t\t\tIpamIpIds: pulumi.StringArray{\n\t\t\t\t\t\tip01.ID(),\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.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;\nimport com.pulumi.scaleway.IpamIp;\nimport com.pulumi.scaleway.IpamIpArgs;\nimport com.pulumi.scaleway.inputs.IpamIpSourceArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamSshKeyArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOptionArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerOptionArgs;\nimport com.pulumi.scaleway.inputs.BaremetalServerPrivateNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpc01 = new Vpc(\"vpc01\", VpcArgs.builder()\n .name(\"vpc_baremetal\")\n .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_baremetal\")\n .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()\n .subnet(\"172.16.64.0/22\")\n .build())\n .vpcId(vpc01.id())\n .build());\n\n var ip01 = new IpamIp(\"ip01\", IpamIpArgs.builder()\n .address(\"172.16.64.7\")\n .sources(IpamIpSourceArgs.builder()\n .privateNetworkId(pn01.id())\n .build())\n .build());\n\n final var myKey = ScalewayFunctions.getIamSshKey(GetIamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"EM-A115X-SSD\")\n .build());\n\n final var privateNetwork = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"Private Network\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(myKeyScalewayAccountSshKey.id())\n .options(BaremetalServerOptionArgs.builder()\n .id(privateNetwork.applyValue(getBaremetalOptionResult -\u003e getBaremetalOptionResult.optionId()))\n .build())\n .privateNetworks(BaremetalServerPrivateNetworkArgs.builder()\n .id(pn01.id())\n .ipamIpIds(ip01.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: vpc_baremetal\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_baremetal\n ipv4Subnet:\n subnet: 172.16.64.0/22\n vpcId: ${vpc01.id}\n ip01:\n type: scaleway:IpamIp\n properties:\n address: 172.16.64.7\n sources:\n - privateNetworkId: ${pn01.id}\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${myOs.osId}\n sshKeyIds:\n - ${myKeyScalewayAccountSshKey.id}\n options:\n - id: ${privateNetwork.optionId}\n privateNetworks:\n - id: ${pn01.id}\n ipamIpIds:\n - ${ip01.id}\nvariables:\n myKey:\n fn::invoke:\n function: scaleway:getIamSshKey\n arguments:\n name: main\n myOs:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n zone: fr-par-1\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n zone: fr-par-1\n name: EM-A115X-SSD\n privateNetwork:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n zone: fr-par-1\n name: Private Network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without install config\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 myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\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 myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = 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\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: 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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\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 myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n installConfigAfterward: true\nvariables:\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n zone: fr-par-2\n name: EM-B112X-SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With custom partitioning\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 config = new pulumi.Config();\nconst configCustomPartitioning = config.get(\"configCustomPartitioning\") || \"{\\\"disks\\\":[{\\\"device\\\":\\\"/dev/nvme0n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"uefi\\\",\\\"number\\\":1,\\\"size\\\":536870912},{\\\"label\\\":\\\"swap\\\",\\\"number\\\":2,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":3,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":4,\\\"size\\\":1017827045376}]},{\\\"device\\\":\\\"/dev/nvme1n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"swap\\\",\\\"number\\\":1,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":2,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":3,\\\"size\\\":1017827045376}]}],\\\"filesystems\\\":[{\\\"device\\\":\\\"/dev/nvme0n1p1\\\",\\\"format\\\":\\\"fat32\\\",\\\"mountpoint\\\":\\\"/boot/efi\\\"},{\\\"device\\\":\\\"/dev/md0\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/boot\\\"},{\\\"device\\\":\\\"/dev/md1\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/\\\"}],\\\"raids\\\":[{\\\"devices\\\":[\\\"/dev/nvme0n1p3\\\",\\\"/dev/nvme1n1p2\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md0\\\"},{\\\"devices\\\":[\\\"/dev/nvme0n1p4\\\",\\\"/dev/nvme1n1p3\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md1\\\"}],\\\"zfs\\\":{\\\"pools\\\":[]}}\";\nconst myOs = scaleway.getBaremetalOs({\n zone: \"fr-par-1\",\n name: \"Ubuntu\",\n version: \"22.04 LTS (Jammy Jellyfish)\",\n});\nconst main = new scaleway.IamSshKey(\"main\", {name: \"main\"});\nconst base = new scaleway.BaremetalServer(\"base\", {\n name: \"%s\",\n zone: \"fr-par-1\",\n description: \"test a description\",\n offer: \"EM-B220E-NVME\",\n os: myOs.then(myOs =\u003e myOs.osId),\n partitioning: configCustomPartitioning,\n tags: [\n \"terraform-test\",\n \"scaleway_baremetal_server\",\n \"minimal\",\n ],\n sshKeyIds: [main.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nconfig = pulumi.Config()\nconfig_custom_partitioning = config.get(\"configCustomPartitioning\")\nif config_custom_partitioning is None:\n config_custom_partitioning = \"{\\\"disks\\\":[{\\\"device\\\":\\\"/dev/nvme0n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"uefi\\\",\\\"number\\\":1,\\\"size\\\":536870912},{\\\"label\\\":\\\"swap\\\",\\\"number\\\":2,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":3,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":4,\\\"size\\\":1017827045376}]},{\\\"device\\\":\\\"/dev/nvme1n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"swap\\\",\\\"number\\\":1,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":2,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":3,\\\"size\\\":1017827045376}]}],\\\"filesystems\\\":[{\\\"device\\\":\\\"/dev/nvme0n1p1\\\",\\\"format\\\":\\\"fat32\\\",\\\"mountpoint\\\":\\\"/boot/efi\\\"},{\\\"device\\\":\\\"/dev/md0\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/boot\\\"},{\\\"device\\\":\\\"/dev/md1\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/\\\"}],\\\"raids\\\":[{\\\"devices\\\":[\\\"/dev/nvme0n1p3\\\",\\\"/dev/nvme1n1p2\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md0\\\"},{\\\"devices\\\":[\\\"/dev/nvme0n1p4\\\",\\\"/dev/nvme1n1p3\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md1\\\"}],\\\"zfs\\\":{\\\"pools\\\":[]}}\"\nmy_os = scaleway.get_baremetal_os(zone=\"fr-par-1\",\n name=\"Ubuntu\",\n version=\"22.04 LTS (Jammy Jellyfish)\")\nmain = scaleway.IamSshKey(\"main\", name=\"main\")\nbase = scaleway.BaremetalServer(\"base\",\n name=\"%s\",\n zone=\"fr-par-1\",\n description=\"test a description\",\n offer=\"EM-B220E-NVME\",\n os=my_os.os_id,\n partitioning=config_custom_partitioning,\n tags=[\n \"terraform-test\",\n \"scaleway_baremetal_server\",\n \"minimal\",\n ],\n ssh_key_ids=[main.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 config = new Config();\n var configCustomPartitioning = config.Get(\"configCustomPartitioning\") ?? \"{\\\"disks\\\":[{\\\"device\\\":\\\"/dev/nvme0n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"uefi\\\",\\\"number\\\":1,\\\"size\\\":536870912},{\\\"label\\\":\\\"swap\\\",\\\"number\\\":2,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":3,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":4,\\\"size\\\":1017827045376}]},{\\\"device\\\":\\\"/dev/nvme1n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"swap\\\",\\\"number\\\":1,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":2,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":3,\\\"size\\\":1017827045376}]}],\\\"filesystems\\\":[{\\\"device\\\":\\\"/dev/nvme0n1p1\\\",\\\"format\\\":\\\"fat32\\\",\\\"mountpoint\\\":\\\"/boot/efi\\\"},{\\\"device\\\":\\\"/dev/md0\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/boot\\\"},{\\\"device\\\":\\\"/dev/md1\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/\\\"}],\\\"raids\\\":[{\\\"devices\\\":[\\\"/dev/nvme0n1p3\\\",\\\"/dev/nvme1n1p2\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md0\\\"},{\\\"devices\\\":[\\\"/dev/nvme0n1p4\\\",\\\"/dev/nvme1n1p3\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md1\\\"}],\\\"zfs\\\":{\\\"pools\\\":[]}}\";\n var myOs = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-1\",\n Name = \"Ubuntu\",\n Version = \"22.04 LTS (Jammy Jellyfish)\",\n });\n\n var main = new Scaleway.IamSshKey(\"main\", new()\n {\n Name = \"main\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Name = \"%s\",\n Zone = \"fr-par-1\",\n Description = \"test a description\",\n Offer = \"EM-B220E-NVME\",\n Os = myOs.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n Partitioning = configCustomPartitioning,\n Tags = new[]\n {\n \"terraform-test\",\n \"scaleway_baremetal_server\",\n \"minimal\",\n },\n SshKeyIds = new[]\n {\n main.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/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\tconfigCustomPartitioning := \"{\\\"disks\\\":[{\\\"device\\\":\\\"/dev/nvme0n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"uefi\\\",\\\"number\\\":1,\\\"size\\\":536870912},{\\\"label\\\":\\\"swap\\\",\\\"number\\\":2,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":3,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":4,\\\"size\\\":1017827045376}]},{\\\"device\\\":\\\"/dev/nvme1n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"swap\\\",\\\"number\\\":1,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":2,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":3,\\\"size\\\":1017827045376}]}],\\\"filesystems\\\":[{\\\"device\\\":\\\"/dev/nvme0n1p1\\\",\\\"format\\\":\\\"fat32\\\",\\\"mountpoint\\\":\\\"/boot/efi\\\"},{\\\"device\\\":\\\"/dev/md0\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/boot\\\"},{\\\"device\\\":\\\"/dev/md1\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/\\\"}],\\\"raids\\\":[{\\\"devices\\\":[\\\"/dev/nvme0n1p3\\\",\\\"/dev/nvme1n1p2\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md0\\\"},{\\\"devices\\\":[\\\"/dev/nvme0n1p4\\\",\\\"/dev/nvme1n1p3\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md1\\\"}],\\\"zfs\\\":{\\\"pools\\\":[]}}\"\n\t\tif param := cfg.Get(\"configCustomPartitioning\"); param != \"\" {\n\t\t\tconfigCustomPartitioning = param\n\t\t}\n\t\tmyOs, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-1\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"22.04 LTS (Jammy Jellyfish)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := scaleway.NewIamSshKey(ctx, \"main\", \u0026scaleway.IamSshKeyArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tName: pulumi.String(\"%s\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tDescription: pulumi.String(\"test a description\"),\n\t\t\tOffer: pulumi.String(\"EM-B220E-NVME\"),\n\t\t\tOs: pulumi.String(myOs.OsId),\n\t\t\tPartitioning: pulumi.String(configCustomPartitioning),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform-test\"),\n\t\t\t\tpulumi.String(\"scaleway_baremetal_server\"),\n\t\t\t\tpulumi.String(\"minimal\"),\n\t\t\t},\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tmain.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.IamSshKey;\nimport com.pulumi.scaleway.IamSshKeyArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\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 configCustomPartitioning = config.get(\"configCustomPartitioning\").orElse(\"{\\\"disks\\\":[{\\\"device\\\":\\\"/dev/nvme0n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"uefi\\\",\\\"number\\\":1,\\\"size\\\":536870912},{\\\"label\\\":\\\"swap\\\",\\\"number\\\":2,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":3,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":4,\\\"size\\\":1017827045376}]},{\\\"device\\\":\\\"/dev/nvme1n1\\\",\\\"partitions\\\":[{\\\"label\\\":\\\"swap\\\",\\\"number\\\":1,\\\"size\\\":4294967296},{\\\"label\\\":\\\"boot\\\",\\\"number\\\":2,\\\"size\\\":1073741824},{\\\"label\\\":\\\"root\\\",\\\"number\\\":3,\\\"size\\\":1017827045376}]}],\\\"filesystems\\\":[{\\\"device\\\":\\\"/dev/nvme0n1p1\\\",\\\"format\\\":\\\"fat32\\\",\\\"mountpoint\\\":\\\"/boot/efi\\\"},{\\\"device\\\":\\\"/dev/md0\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/boot\\\"},{\\\"device\\\":\\\"/dev/md1\\\",\\\"format\\\":\\\"ext4\\\",\\\"mountpoint\\\":\\\"/\\\"}],\\\"raids\\\":[{\\\"devices\\\":[\\\"/dev/nvme0n1p3\\\",\\\"/dev/nvme1n1p2\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md0\\\"},{\\\"devices\\\":[\\\"/dev/nvme0n1p4\\\",\\\"/dev/nvme1n1p3\\\"],\\\"level\\\":\\\"raid_level_1\\\",\\\"name\\\":\\\"/dev/md1\\\"}],\\\"zfs\\\":{\\\"pools\\\":[]}}\");\n final var myOs = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-1\")\n .name(\"Ubuntu\")\n .version(\"22.04 LTS (Jammy Jellyfish)\")\n .build());\n\n var main = new IamSshKey(\"main\", IamSshKeyArgs.builder()\n .name(\"main\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .name(\"%s\")\n .zone(\"fr-par-1\")\n .description(\"test a description\")\n .offer(\"EM-B220E-NVME\")\n .os(myOs.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .partitioning(configCustomPartitioning)\n .tags( \n \"terraform-test\",\n \"scaleway_baremetal_server\",\n \"minimal\")\n .sshKeyIds(main.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n configCustomPartitioning:\n type: string\n default: '{\"disks\":[{\"device\":\"/dev/nvme0n1\",\"partitions\":[{\"label\":\"uefi\",\"number\":1,\"size\":536870912},{\"label\":\"swap\",\"number\":2,\"size\":4294967296},{\"label\":\"boot\",\"number\":3,\"size\":1073741824},{\"label\":\"root\",\"number\":4,\"size\":1017827045376}]},{\"device\":\"/dev/nvme1n1\",\"partitions\":[{\"label\":\"swap\",\"number\":1,\"size\":4294967296},{\"label\":\"boot\",\"number\":2,\"size\":1073741824},{\"label\":\"root\",\"number\":3,\"size\":1017827045376}]}],\"filesystems\":[{\"device\":\"/dev/nvme0n1p1\",\"format\":\"fat32\",\"mountpoint\":\"/boot/efi\"},{\"device\":\"/dev/md0\",\"format\":\"ext4\",\"mountpoint\":\"/boot\"},{\"device\":\"/dev/md1\",\"format\":\"ext4\",\"mountpoint\":\"/\"}],\"raids\":[{\"devices\":[\"/dev/nvme0n1p3\",\"/dev/nvme1n1p2\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md0\"},{\"devices\":[\"/dev/nvme0n1p4\",\"/dev/nvme1n1p3\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md1\"}],\"zfs\":{\"pools\":[]}}'\nresources:\n main:\n type: scaleway:IamSshKey\n properties:\n name: main\n base:\n type: scaleway:BaremetalServer\n properties:\n name: '%s'\n zone: fr-par-1\n description: test a description\n offer: EM-B220E-NVME\n os: ${myOs.osId}\n partitioning: ${configCustomPartitioning}\n tags:\n - terraform-test\n - scaleway_baremetal_server\n - minimal\n sshKeyIds:\n - ${main.id}\nvariables:\n myOs:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n zone: fr-par-1\n name: Ubuntu\n version: 22.04 LTS (Jammy Jellyfish)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBaremetal servers can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/baremetalServer:BaremetalServer web fr-par-2/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "description": { "type": "string", @@ -6688,7 +6687,7 @@ }, "partitioning": { "type": "string", - "description": "The partitioning schema in json format\n" + "description": "The partitioning schema in JSON format\n" }, "password": { "type": "string", @@ -6794,7 +6793,7 @@ }, "partitioning": { "type": "string", - "description": "The partitioning schema in json format\n" + "description": "The partitioning schema in JSON format\n" }, "password": { "type": "string", @@ -6931,7 +6930,7 @@ }, "partitioning": { "type": "string", - "description": "The partitioning schema in json format\n" + "description": "The partitioning schema in JSON format\n" }, "password": { "type": "string", @@ -7386,6 +7385,10 @@ "scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser": { "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": { + "grafanaUrl": { + "type": "string", + "description": "URL for Grafana.\n" + }, "login": { "type": "string", "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" @@ -7405,6 +7408,7 @@ } }, "required": [ + "grafanaUrl", "login", "password", "projectId", @@ -7434,6 +7438,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering CockpitGrafanaUser resources.\n", "properties": { + "grafanaUrl": { + "type": "string", + "description": "URL for Grafana.\n" + }, "login": { "type": "string", "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", @@ -7459,7 +7467,7 @@ } }, "scaleway:index/cockpitSource:CockpitSource": { - "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", + "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 retentionDays: 6,\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 retention_days=6)\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 RetentionDays = 6,\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\tRetentionDays: pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.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 .retentionDays(6)\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 retentionDays: 6\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", @@ -7485,6 +7493,10 @@ "type": "string", "description": ") The region where the data source is located.\n" }, + "retentionDays": { + "type": "integer", + "description": "The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource.\n" + }, "synchronizedWithGrafana": { "type": "boolean", "description": "Indicates whether the data source is synchronized with Grafana.\n" @@ -7509,6 +7521,7 @@ "projectId", "pushUrl", "region", + "retentionDays", "synchronizedWithGrafana", "updatedAt", "url" @@ -7529,12 +7542,19 @@ "description": ") The region where the data source is located.\n", "willReplaceOnChanges": true }, + "retentionDays": { + "type": "integer", + "description": "The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource.\n" + }, "type": { "type": "string", "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 } }, + "requiredInputs": [ + "retentionDays" + ], "stateInputs": { "description": "Input properties used for looking up and filtering CockpitSource resources.\n", "properties": { @@ -7565,6 +7585,10 @@ "description": ") The region where the data source is located.\n", "willReplaceOnChanges": true }, + "retentionDays": { + "type": "integer", + "description": "The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource.\n" + }, "synchronizedWithGrafana": { "type": "boolean", "description": "Indicates whether the data source is synchronized with Grafana.\n" @@ -9512,7 +9536,7 @@ } }, "scaleway:index/domainRecord:DomainRecord": { - "description": "The `scaleway.DomainRecord` resource allows you to create and manage DNS records for Scaleway domains.\n\nRefer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information.\n\n## Example Usage\n\n### Create basic DNS records\n\nThe folllowing commands allow you to:\n\n- create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`\n\n- create an MX record with the `mx.online.net.` mail server and a priority of 10, and another one with the `mx-cache.online.net.` mail server and a priority of 20\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst www = new scaleway.DomainRecord(\"www\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n});\nconst www2 = new scaleway.DomainRecord(\"www2\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.5\",\n ttl: 3600,\n});\nconst mx = new scaleway.DomainRecord(\"mx\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx.online.net.\",\n ttl: 3600,\n priority: 10,\n});\nconst mx2 = new scaleway.DomainRecord(\"mx2\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx-cache.online.net.\",\n ttl: 3600,\n priority: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nwww = scaleway.DomainRecord(\"www\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600)\nwww2 = scaleway.DomainRecord(\"www2\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.5\",\n ttl=3600)\nmx = scaleway.DomainRecord(\"mx\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx.online.net.\",\n ttl=3600,\n priority=10)\nmx2 = scaleway.DomainRecord(\"mx2\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx-cache.online.net.\",\n ttl=3600,\n priority=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Scaleway.DomainRecord(\"www\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n });\n\n var www2 = new Scaleway.DomainRecord(\"www2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.5\",\n Ttl = 3600,\n });\n\n var mx = new Scaleway.DomainRecord(\"mx\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx.online.net.\",\n Ttl = 3600,\n Priority = 10,\n });\n\n var mx2 = new Scaleway.DomainRecord(\"mx2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx-cache.online.net.\",\n Ttl = 3600,\n Priority = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"www\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"www2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx-cache.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var www = new DomainRecord(\"www\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .build());\n\n var www2 = new DomainRecord(\"www2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.5\")\n .ttl(3600)\n .build());\n\n var mx = new DomainRecord(\"mx\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx.online.net.\")\n .ttl(3600)\n .priority(10)\n .build());\n\n var mx2 = new DomainRecord(\"mx2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx-cache.online.net.\")\n .ttl(3600)\n .priority(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.4\n ttl: 3600\n www2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.5\n ttl: 3600\n mx:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx.online.net.\n ttl: 3600\n priority: 10\n mx2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx-cache.online.net.\n ttl: 3600\n priority: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create dynamic records\n\nThe folllowing commands allow you to:\n\n- create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)\n\n- create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status.\n\n- create view-based records for `db.domain.tld` that resolve differently based on the client's subnet.\n\n- create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst geoIp = new scaleway.DomainRecord(\"geo_ip\", {\n dnsZone: \"domain.tld\",\n name: \"images\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n geoIp: {\n matches: [\n {\n continents: [\"EU\"],\n countries: [\"FR\"],\n data: \"1.2.3.5\",\n },\n {\n continents: [\"NA\"],\n data: \"4.3.2.1\",\n },\n ],\n },\n});\nconst httpService = new scaleway.DomainRecord(\"http_service\", {\n dnsZone: \"domain.tld\",\n name: \"app\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n httpService: {\n ips: [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n mustContain: \"up\",\n url: \"http://mywebsite.com/health\",\n userAgent: \"scw_service_up\",\n strategy: \"hashed\",\n },\n});\nconst view = new scaleway.DomainRecord(\"view\", {\n dnsZone: \"domain.tld\",\n name: \"db\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n views: [\n {\n subnet: \"100.0.0.0/16\",\n data: \"1.2.3.5\",\n },\n {\n subnet: \"100.1.0.0/16\",\n data: \"1.2.3.6\",\n },\n ],\n});\nconst weighted = new scaleway.DomainRecord(\"weighted\", {\n dnsZone: \"domain.tld\",\n name: \"web\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n weighteds: [\n {\n ip: \"1.2.3.5\",\n weight: 1,\n },\n {\n ip: \"1.2.3.6\",\n weight: 2,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ngeo_ip = scaleway.DomainRecord(\"geo_ip\",\n dns_zone=\"domain.tld\",\n name=\"images\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n geo_ip={\n \"matches\": [\n {\n \"continents\": [\"EU\"],\n \"countries\": [\"FR\"],\n \"data\": \"1.2.3.5\",\n },\n {\n \"continents\": [\"NA\"],\n \"data\": \"4.3.2.1\",\n },\n ],\n })\nhttp_service = scaleway.DomainRecord(\"http_service\",\n dns_zone=\"domain.tld\",\n name=\"app\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n http_service={\n \"ips\": [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n \"must_contain\": \"up\",\n \"url\": \"http://mywebsite.com/health\",\n \"user_agent\": \"scw_service_up\",\n \"strategy\": \"hashed\",\n })\nview = scaleway.DomainRecord(\"view\",\n dns_zone=\"domain.tld\",\n name=\"db\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n views=[\n {\n \"subnet\": \"100.0.0.0/16\",\n \"data\": \"1.2.3.5\",\n },\n {\n \"subnet\": \"100.1.0.0/16\",\n \"data\": \"1.2.3.6\",\n },\n ])\nweighted = scaleway.DomainRecord(\"weighted\",\n dns_zone=\"domain.tld\",\n name=\"web\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n weighteds=[\n {\n \"ip\": \"1.2.3.5\",\n \"weight\": 1,\n },\n {\n \"ip\": \"1.2.3.6\",\n \"weight\": 2,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoIp = new Scaleway.DomainRecord(\"geo_ip\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"images\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n GeoIp = new Scaleway.Inputs.DomainRecordGeoIpArgs\n {\n Matches = new[]\n {\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"EU\",\n },\n Countries = new[]\n {\n \"FR\",\n },\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"NA\",\n },\n Data = \"4.3.2.1\",\n },\n },\n },\n });\n\n var httpService = new Scaleway.DomainRecord(\"http_service\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"app\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n HttpService = new Scaleway.Inputs.DomainRecordHttpServiceArgs\n {\n Ips = new[]\n {\n \"1.2.3.5\",\n \"1.2.3.6\",\n },\n MustContain = \"up\",\n Url = \"http://mywebsite.com/health\",\n UserAgent = \"scw_service_up\",\n Strategy = \"hashed\",\n },\n });\n\n var view = new Scaleway.DomainRecord(\"view\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"db\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Views = new[]\n {\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.0.0.0/16\",\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.1.0.0/16\",\n Data = \"1.2.3.6\",\n },\n },\n });\n\n var weighted = new Scaleway.DomainRecord(\"weighted\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"web\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Weighteds = new[]\n {\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.5\",\n Weight = 1,\n },\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.6\",\n Weight = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"geo_ip\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"images\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tGeoIp: \u0026scaleway.DomainRecordGeoIpArgs{\n\t\t\t\tMatches: scaleway.DomainRecordGeoIpMatchArray{\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EU\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountries: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"FR\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"NA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"4.3.2.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"http_service\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tHttpService: \u0026scaleway.DomainRecordHttpServiceArgs{\n\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tpulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t\tMustContain: pulumi.String(\"up\"),\n\t\t\t\tUrl: pulumi.String(\"http://mywebsite.com/health\"),\n\t\t\t\tUserAgent: pulumi.String(\"scw_service_up\"),\n\t\t\t\tStrategy: pulumi.String(\"hashed\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"view\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"db\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tViews: scaleway.DomainRecordViewArray{\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.0.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.1.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"weighted\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tWeighteds: scaleway.DomainRecordWeightedArray{\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t\tWeight: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordGeoIpArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordHttpServiceArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordViewArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordWeightedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var geoIp = new DomainRecord(\"geoIp\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"images\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .geoIp(DomainRecordGeoIpArgs.builder()\n .matches( \n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"EU\")\n .countries(\"FR\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"NA\")\n .data(\"4.3.2.1\")\n .build())\n .build())\n .build());\n\n var httpService = new DomainRecord(\"httpService\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"app\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .httpService(DomainRecordHttpServiceArgs.builder()\n .ips( \n \"1.2.3.5\",\n \"1.2.3.6\")\n .mustContain(\"up\")\n .url(\"http://mywebsite.com/health\")\n .userAgent(\"scw_service_up\")\n .strategy(\"hashed\")\n .build())\n .build());\n\n var view = new DomainRecord(\"view\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"db\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .views( \n DomainRecordViewArgs.builder()\n .subnet(\"100.0.0.0/16\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordViewArgs.builder()\n .subnet(\"100.1.0.0/16\")\n .data(\"1.2.3.6\")\n .build())\n .build());\n\n var weighted = new DomainRecord(\"weighted\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"web\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .weighteds( \n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.5\")\n .weight(1)\n .build(),\n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.6\")\n .weight(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoIp:\n type: scaleway:DomainRecord\n name: geo_ip\n properties:\n dnsZone: domain.tld\n name: images\n type: A\n data: 1.2.3.4\n ttl: 3600\n geoIp:\n matches:\n - continents:\n - EU\n countries:\n - FR\n data: 1.2.3.5\n - continents:\n - NA\n data: 4.3.2.1\n httpService:\n type: scaleway:DomainRecord\n name: http_service\n properties:\n dnsZone: domain.tld\n name: app\n type: A\n data: 1.2.3.4\n ttl: 3600\n httpService:\n ips:\n - 1.2.3.5\n - 1.2.3.6\n mustContain: up\n url: http://mywebsite.com/health\n userAgent: scw_service_up\n strategy: hashed\n view:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: db\n type: A\n data: 1.2.3.4\n ttl: 3600\n views:\n - subnet: 100.0.0.0/16\n data: 1.2.3.5\n - subnet: 100.1.0.0/16\n data: 1.2.3.6\n weighted:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: web\n type: A\n data: 1.2.3.4\n ttl: 3600\n weighteds:\n - ip: 1.2.3.5\n weight: 1\n - ip: 1.2.3.6\n weight: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an Instance and add records with the new Instance IP\n\nThe following commands allow you to:\n\n- create a Scaleway Instance\n- assign The Instance's IP address to various DNS records for a specified DNS zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst config = new pulumi.Config();\n// Your project ID.\nconst projectId = config.require(\"projectId\");\n// The DNS Zone used for testing records.\nconst dnsZone = config.require(\"dnsZone\");\nconst publicIp = new scaleway.InstanceIp(\"public_ip\", {projectId: projectId});\nconst web = new scaleway.InstanceServer(\"web\", {\n projectId: projectId,\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n tags: [\n \"front\",\n \"web\",\n ],\n ipId: publicIp.id,\n rootVolume: {\n sizeInGb: 20,\n },\n});\nconst webA = new scaleway.DomainRecord(\"web_A\", {\n dnsZone: dnsZone,\n name: \"web\",\n type: \"A\",\n data: web.publicIp,\n ttl: 3600,\n});\nconst webCname = new scaleway.DomainRecord(\"web_cname\", {\n dnsZone: dnsZone,\n name: \"www\",\n type: \"CNAME\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\nconst webAlias = new scaleway.DomainRecord(\"web_alias\", {\n dnsZone: dnsZone,\n name: \"\",\n type: \"ALIAS\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nconfig = pulumi.Config()\n# Your project ID.\nproject_id = config.require(\"projectId\")\n# The DNS Zone used for testing records.\ndns_zone = config.require(\"dnsZone\")\npublic_ip = scaleway.InstanceIp(\"public_ip\", project_id=project_id)\nweb = scaleway.InstanceServer(\"web\",\n project_id=project_id,\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n tags=[\n \"front\",\n \"web\",\n ],\n ip_id=public_ip.id,\n root_volume={\n \"size_in_gb\": 20,\n })\nweb_a = scaleway.DomainRecord(\"web_A\",\n dns_zone=dns_zone,\n name=\"web\",\n type=\"A\",\n data=web.public_ip,\n ttl=3600)\nweb_cname = scaleway.DomainRecord(\"web_cname\",\n dns_zone=dns_zone,\n name=\"www\",\n type=\"CNAME\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\nweb_alias = scaleway.DomainRecord(\"web_alias\",\n dns_zone=dns_zone,\n name=\"\",\n type=\"ALIAS\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // Your project ID.\n var projectId = config.Require(\"projectId\");\n // The DNS Zone used for testing records.\n var dnsZone = config.Require(\"dnsZone\");\n var publicIp = new Scaleway.InstanceIp(\"public_ip\", new()\n {\n ProjectId = projectId,\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n ProjectId = projectId,\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n Tags = new[]\n {\n \"front\",\n \"web\",\n },\n IpId = publicIp.Id,\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n SizeInGb = 20,\n },\n });\n\n var webA = new Scaleway.DomainRecord(\"web_A\", new()\n {\n DnsZone = dnsZone,\n Name = \"web\",\n Type = \"A\",\n Data = web.PublicIp,\n Ttl = 3600,\n });\n\n var webCname = new Scaleway.DomainRecord(\"web_cname\", new()\n {\n DnsZone = dnsZone,\n Name = \"www\",\n Type = \"CNAME\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n var webAlias = new Scaleway.DomainRecord(\"web_alias\", new()\n {\n DnsZone = dnsZone,\n Name = \"\",\n Type = \"ALIAS\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// Your project ID.\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\t// The DNS Zone used for testing records.\n\t\tdnsZone := cfg.Require(\"dnsZone\")\n\t\tpublicIp, err := scaleway.NewInstanceIp(ctx, \"public_ip\", \u0026scaleway.InstanceIpArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tweb, err := scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"front\"),\n\t\t\t\tpulumi.String(\"web\"),\n\t\t\t},\n\t\t\tIpId: publicIp.ID(),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tSizeInGb: pulumi.Int(20),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_A\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: web.PublicIp,\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_cname\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_alias\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"ALIAS\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.InstanceIp;\nimport com.pulumi.scaleway.InstanceIpArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var dnsZone = config.get(\"dnsZone\");\n var publicIp = new InstanceIp(\"publicIp\", InstanceIpArgs.builder()\n .projectId(projectId)\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .projectId(projectId)\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .tags( \n \"front\",\n \"web\")\n .ipId(publicIp.id())\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .sizeInGb(20)\n .build())\n .build());\n\n var webA = new DomainRecord(\"webA\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"web\")\n .type(\"A\")\n .data(web.publicIp())\n .ttl(3600)\n .build());\n\n var webCname = new DomainRecord(\"webCname\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"www\")\n .type(\"CNAME\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n var webAlias = new DomainRecord(\"webAlias\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"\")\n .type(\"ALIAS\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n projectId:\n type: string\n dnsZone:\n type: string\nresources:\n publicIp:\n type: scaleway:InstanceIp\n name: public_ip\n properties:\n projectId: ${projectId}\n web:\n type: scaleway:InstanceServer\n properties:\n projectId: ${projectId}\n type: DEV1-S\n image: ubuntu_jammy\n tags:\n - front\n - web\n ipId: ${publicIp.id}\n rootVolume:\n sizeInGb: 20\n webA:\n type: scaleway:DomainRecord\n name: web_A\n properties:\n dnsZone: ${dnsZone}\n name: web\n type: A\n data: ${web.publicIp}\n ttl: 3600\n webCname:\n type: scaleway:DomainRecord\n name: web_cname\n properties:\n dnsZone: ${dnsZone}\n name: www\n type: CNAME\n data: web.${dnsZone}.\n ttl: 3600\n webAlias:\n type: scaleway:DomainRecord\n name: web_alias\n properties:\n dnsZone: ${dnsZone}\n name:\n type: ALIAS\n data: web.${dnsZone}.\n ttl: 3600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple records\n\nSome record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `scaleway.DomainRecord` resource with the same `name`, and the records will be added.\n\nNote however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique.\n\n## Import\n\nThis section explains how to import a record using the `{dns_zone}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainRecord:DomainRecord www subdomain.domain.tld/11111111-1111-1111-1111-111111111111\n```\n\n", + "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", @@ -9860,7 +9884,7 @@ } }, "scaleway:index/flexibleIp:FlexibleIp": { - "description": "Creates and manages Scaleway flexible IPs.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).\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.FlexibleIp(\"main\", {reverse: \"my-reverse.com\"});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", reverse=\"my-reverse.com\")\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.FlexibleIp(\"main\", new()\n {\n Reverse = \"my-reverse.com\",\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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tReverse: pulumi.String(\"my-reverse.com\"),\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .reverse(\"my-reverse.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n reverse: my-reverse.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.FlexibleIp(\"main\", {zone: \"fr-par-2\"});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", zone=\"fr-par-2\")\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.FlexibleIp(\"main\", new()\n {\n Zone = \"fr-par-2\",\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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n zone: fr-par-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With IPv6\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.FlexibleIp(\"main\", {isIpv6: true});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", is_ipv6=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 main = new Scaleway.FlexibleIp(\"main\", new()\n {\n IsIpv6 = 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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tIsIpv6: 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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .isIpv6(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n isIpv6: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With baremetal server\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.AccountSshKey(\"main\", {\n name: \"main\",\n publicKey: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\",\n});\nconst byId = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"20.04 LTS (Focal Fossa)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-A210R-HDD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: byId.then(byId =\u003e byId.osId),\n sshKeyIds: main.id,\n});\nconst mainFlexibleIp = new scaleway.FlexibleIp(\"main\", {\n serverId: base.id,\n zone: \"fr-par-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.AccountSshKey(\"main\",\n name=\"main\",\n public_key=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\")\nby_id = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"20.04 LTS (Focal Fossa)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-A210R-HDD\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=by_id.os_id,\n ssh_key_ids=main.id)\nmain_flexible_ip = scaleway.FlexibleIp(\"main\",\n server_id=base.id,\n zone=\"fr-par-2\")\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.AccountSshKey(\"main\", new()\n {\n Name = \"main\",\n PublicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\",\n });\n\n var byId = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"20.04 LTS (Focal Fossa)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-A210R-HDD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = byId.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = main.Id,\n });\n\n var mainFlexibleIp = new Scaleway.FlexibleIp(\"main\", new()\n {\n ServerId = @base.Id,\n Zone = \"fr-par-2\",\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.NewAccountSshKey(ctx, \"main\", \u0026scaleway.AccountSshKeyArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyId, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04 LTS (Focal Fossa)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-A210R-HDD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(byId.OsId),\n\t\t\tSshKeyIds: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.AccountSshKey;\nimport com.pulumi.scaleway.AccountSshKeyArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 AccountSshKey(\"main\", AccountSshKeyArgs.builder()\n .name(\"main\")\n .publicKey(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\")\n .build());\n\n final var byId = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"20.04 LTS (Focal Fossa)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-A210R-HDD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(byId.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(main.id())\n .build());\n\n var mainFlexibleIp = new FlexibleIp(\"mainFlexibleIp\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:AccountSshKey\n properties:\n name: main\n publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${byId.osId}\n sshKeyIds: ${main.id}\n mainFlexibleIp:\n type: scaleway:FlexibleIp\n name: main\n properties:\n serverId: ${base.id}\n zone: fr-par-2\nvariables:\n byId:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 20.04 LTS (Focal Fossa)\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n zone: fr-par-2\n name: EM-A210R-HDD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFlexible IPs can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/flexibleIp:FlexibleIp main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway flexible IPs.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).\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.FlexibleIp(\"main\", {reverse: \"my-reverse.com\"});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", reverse=\"my-reverse.com\")\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.FlexibleIp(\"main\", new()\n {\n Reverse = \"my-reverse.com\",\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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tReverse: pulumi.String(\"my-reverse.com\"),\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .reverse(\"my-reverse.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n reverse: my-reverse.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.FlexibleIp(\"main\", {zone: \"fr-par-2\"});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", zone=\"fr-par-2\")\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.FlexibleIp(\"main\", new()\n {\n Zone = \"fr-par-2\",\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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n zone: fr-par-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With IPv6\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.FlexibleIp(\"main\", {isIpv6: true});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\", is_ipv6=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 main = new Scaleway.FlexibleIp(\"main\", new()\n {\n IsIpv6 = 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.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tIsIpv6: 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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 FlexibleIp(\"main\", FlexibleIpArgs.builder()\n .isIpv6(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n properties:\n isIpv6: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With baremetal server\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.AccountSshKey(\"main\", {\n name: \"main\",\n publicKey: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\",\n});\nconst byId = scaleway.getBaremetalOs({\n zone: \"fr-par-2\",\n name: \"Ubuntu\",\n version: \"20.04 LTS (Focal Fossa)\",\n});\nconst myOffer = scaleway.getBaremetalOffer({\n zone: \"fr-par-2\",\n name: \"EM-A210R-HDD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n zone: \"fr-par-2\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n os: byId.then(byId =\u003e byId.osId),\n sshKeyIds: main.id,\n});\nconst mainFlexibleIp = new scaleway.FlexibleIp(\"main\", {\n serverId: base.id,\n zone: \"fr-par-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.AccountSshKey(\"main\",\n name=\"main\",\n public_key=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\")\nby_id = scaleway.get_baremetal_os(zone=\"fr-par-2\",\n name=\"Ubuntu\",\n version=\"20.04 LTS (Focal Fossa)\")\nmy_offer = scaleway.get_baremetal_offer(zone=\"fr-par-2\",\n name=\"EM-A210R-HDD\")\nbase = scaleway.BaremetalServer(\"base\",\n zone=\"fr-par-2\",\n offer=my_offer.offer_id,\n os=by_id.os_id,\n ssh_key_ids=main.id)\nmain_flexible_ip = scaleway.FlexibleIp(\"main\",\n server_id=base.id,\n zone=\"fr-par-2\")\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.AccountSshKey(\"main\", new()\n {\n Name = \"main\",\n PublicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\",\n });\n\n var byId = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"Ubuntu\",\n Version = \"20.04 LTS (Focal Fossa)\",\n });\n\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Zone = \"fr-par-2\",\n Name = \"EM-A210R-HDD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Zone = \"fr-par-2\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n Os = byId.Apply(getBaremetalOsResult =\u003e getBaremetalOsResult.OsId),\n SshKeyIds = main.Id,\n });\n\n var mainFlexibleIp = new Scaleway.FlexibleIp(\"main\", new()\n {\n ServerId = @base.Id,\n Zone = \"fr-par-2\",\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.NewAccountSshKey(ctx, \"main\", \u0026scaleway.AccountSshKeyArgs{\n\t\t\tName: pulumi.String(\"main\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyId, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04 LTS (Focal Fossa)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t\tName: pulumi.StringRef(\"EM-A210R-HDD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tOs: pulumi.String(byId.OsId),\n\t\t\tSshKeyIds: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIp(ctx, \"main\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.AccountSshKey;\nimport com.pulumi.scaleway.AccountSshKeyArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 AccountSshKey(\"main\", AccountSshKeyArgs.builder()\n .name(\"main\")\n .publicKey(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\")\n .build());\n\n final var byId = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"Ubuntu\")\n .version(\"20.04 LTS (Focal Fossa)\")\n .build());\n\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .zone(\"fr-par-2\")\n .name(\"EM-A210R-HDD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .zone(\"fr-par-2\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .os(byId.applyValue(getBaremetalOsResult -\u003e getBaremetalOsResult.osId()))\n .sshKeyIds(main.id())\n .build());\n\n var mainFlexibleIp = new FlexibleIp(\"mainFlexibleIp\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:AccountSshKey\n properties:\n name: main\n publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com\n base:\n type: scaleway:BaremetalServer\n properties:\n zone: fr-par-2\n offer: ${myOffer.offerId}\n os: ${byId.osId}\n sshKeyIds: ${main.id}\n mainFlexibleIp:\n type: scaleway:FlexibleIp\n name: main\n properties:\n serverId: ${base.id}\n zone: fr-par-2\nvariables:\n byId:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n zone: fr-par-2\n name: Ubuntu\n version: 20.04 LTS (Focal Fossa)\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n zone: fr-par-2\n name: EM-A210R-HDD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFlexible IPs can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/flexibleIp:FlexibleIp main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -10022,7 +10046,7 @@ } }, "scaleway:index/flexibleIpMacAddress:FlexibleIpMacAddress": { - "description": "Creates and manages Scaleway Flexible IP Mac Addresses.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/).\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.FlexibleIp(\"main\", {});\nconst mainFlexibleIpMacAddress = new scaleway.FlexibleIpMacAddress(\"main\", {\n flexibleIpId: main.id,\n type: \"kvm\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\")\nmain_flexible_ip_mac_address = scaleway.FlexibleIpMacAddress(\"main\",\n flexible_ip_id=main.id,\n type=\"kvm\")\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.FlexibleIp(\"main\");\n\n var mainFlexibleIpMacAddress = new Scaleway.FlexibleIpMacAddress(\"main\", new()\n {\n FlexibleIpId = main.Id,\n Type = \"kvm\",\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.NewFlexibleIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIpMacAddress(ctx, \"main\", \u0026scaleway.FlexibleIpMacAddressArgs{\n\t\t\tFlexibleIpId: main.ID(),\n\t\t\tType: pulumi.String(\"kvm\"),\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpMacAddress;\nimport com.pulumi.scaleway.FlexibleIpMacAddressArgs;\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 FlexibleIp(\"main\");\n\n var mainFlexibleIpMacAddress = new FlexibleIpMacAddress(\"mainFlexibleIpMacAddress\", FlexibleIpMacAddressArgs.builder()\n .flexibleIpId(main.id())\n .type(\"kvm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n mainFlexibleIpMacAddress:\n type: scaleway:FlexibleIpMacAddress\n name: main\n properties:\n flexibleIpId: ${main.id}\n type: kvm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Duplicate on many other flexible IPs\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 myOffer = scaleway.getBaremetalOffer({\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n name: \"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\nconst ip01 = new scaleway.FlexibleIp(\"ip01\", {serverId: base.id});\nconst ip02 = new scaleway.FlexibleIp(\"ip02\", {serverId: base.id});\nconst ip03 = new scaleway.FlexibleIp(\"ip03\", {serverId: base.id});\nconst main = new scaleway.FlexibleIpMacAddress(\"main\", {\n flexibleIpId: ip01.id,\n type: \"kvm\",\n flexibleIpIdsToDuplicates: [\n ip02.id,\n ip03.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmy_offer = scaleway.get_baremetal_offer(name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n name=\"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\nip01 = scaleway.FlexibleIp(\"ip01\", server_id=base.id)\nip02 = scaleway.FlexibleIp(\"ip02\", server_id=base.id)\nip03 = scaleway.FlexibleIp(\"ip03\", server_id=base.id)\nmain = scaleway.FlexibleIpMacAddress(\"main\",\n flexible_ip_id=ip01.id,\n type=\"kvm\",\n flexible_ip_ids_to_duplicates=[\n ip02.id,\n ip03.id,\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 myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Name = \"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = true,\n });\n\n var ip01 = new Scaleway.FlexibleIp(\"ip01\", new()\n {\n ServerId = @base.Id,\n });\n\n var ip02 = new Scaleway.FlexibleIp(\"ip02\", new()\n {\n ServerId = @base.Id,\n });\n\n var ip03 = new Scaleway.FlexibleIp(\"ip03\", new()\n {\n ServerId = @base.Id,\n });\n\n var main = new Scaleway.FlexibleIpMacAddress(\"main\", new()\n {\n FlexibleIpId = ip01.Id,\n Type = \"kvm\",\n FlexibleIpIdsToDuplicates = new[]\n {\n ip02.Id,\n ip03.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tName: pulumi.String(\"TestAccScalewayBaremetalServer_WithoutInstallConfig\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewFlexibleIp(ctx, \"ip01\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip02, err := scaleway.NewFlexibleIp(ctx, \"ip02\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip03, err := scaleway.NewFlexibleIp(ctx, \"ip03\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIpMacAddress(ctx, \"main\", \u0026scaleway.FlexibleIpMacAddressArgs{\n\t\t\tFlexibleIpId: ip01.ID(),\n\t\t\tType: pulumi.String(\"kvm\"),\n\t\t\tFlexibleIpIdsToDuplicates: pulumi.StringArray{\n\t\t\t\tip02.ID(),\n\t\t\t\tip03.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\nimport com.pulumi.scaleway.FlexibleIpMacAddress;\nimport com.pulumi.scaleway.FlexibleIpMacAddressArgs;\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 myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .name(\"TestAccScalewayBaremetalServer_WithoutInstallConfig\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n var ip01 = new FlexibleIp(\"ip01\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var ip02 = new FlexibleIp(\"ip02\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var ip03 = new FlexibleIp(\"ip03\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var main = new FlexibleIpMacAddress(\"main\", FlexibleIpMacAddressArgs.builder()\n .flexibleIpId(ip01.id())\n .type(\"kvm\")\n .flexibleIpIdsToDuplicates( \n ip02.id(),\n ip03.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n name: TestAccScalewayBaremetalServer_WithoutInstallConfig\n offer: ${myOffer.offerId}\n installConfigAfterward: true\n ip01:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n ip02:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n ip03:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n main:\n type: scaleway:FlexibleIpMacAddress\n properties:\n flexibleIpId: ${ip01.id}\n type: kvm\n flexibleIpIdsToDuplicates:\n - ${ip02.id}\n - ${ip03.id}\nvariables:\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n name: EM-B112X-SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFlexible IP Mac Addresses can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/flexibleIpMacAddress:FlexibleIpMacAddress main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Flexible IP Mac Addresses.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/).\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.FlexibleIp(\"main\", {});\nconst mainFlexibleIpMacAddress = new scaleway.FlexibleIpMacAddress(\"main\", {\n flexibleIpId: main.id,\n type: \"kvm\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.FlexibleIp(\"main\")\nmain_flexible_ip_mac_address = scaleway.FlexibleIpMacAddress(\"main\",\n flexible_ip_id=main.id,\n type=\"kvm\")\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.FlexibleIp(\"main\");\n\n var mainFlexibleIpMacAddress = new Scaleway.FlexibleIpMacAddress(\"main\", new()\n {\n FlexibleIpId = main.Id,\n Type = \"kvm\",\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.NewFlexibleIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIpMacAddress(ctx, \"main\", \u0026scaleway.FlexibleIpMacAddressArgs{\n\t\t\tFlexibleIpId: main.ID(),\n\t\t\tType: pulumi.String(\"kvm\"),\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.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpMacAddress;\nimport com.pulumi.scaleway.FlexibleIpMacAddressArgs;\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 FlexibleIp(\"main\");\n\n var mainFlexibleIpMacAddress = new FlexibleIpMacAddress(\"mainFlexibleIpMacAddress\", FlexibleIpMacAddressArgs.builder()\n .flexibleIpId(main.id())\n .type(\"kvm\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FlexibleIp\n mainFlexibleIpMacAddress:\n type: scaleway:FlexibleIpMacAddress\n name: main\n properties:\n flexibleIpId: ${main.id}\n type: kvm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Duplicate on many other flexible IPs\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 myOffer = scaleway.getBaremetalOffer({\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n name: \"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\nconst ip01 = new scaleway.FlexibleIp(\"ip01\", {serverId: base.id});\nconst ip02 = new scaleway.FlexibleIp(\"ip02\", {serverId: base.id});\nconst ip03 = new scaleway.FlexibleIp(\"ip03\", {serverId: base.id});\nconst main = new scaleway.FlexibleIpMacAddress(\"main\", {\n flexibleIpId: ip01.id,\n type: \"kvm\",\n flexibleIpIdsToDuplicates: [\n ip02.id,\n ip03.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmy_offer = scaleway.get_baremetal_offer(name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n name=\"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\nip01 = scaleway.FlexibleIp(\"ip01\", server_id=base.id)\nip02 = scaleway.FlexibleIp(\"ip02\", server_id=base.id)\nip03 = scaleway.FlexibleIp(\"ip03\", server_id=base.id)\nmain = scaleway.FlexibleIpMacAddress(\"main\",\n flexible_ip_id=ip01.id,\n type=\"kvm\",\n flexible_ip_ids_to_duplicates=[\n ip02.id,\n ip03.id,\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 myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Name = \"TestAccScalewayBaremetalServer_WithoutInstallConfig\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = true,\n });\n\n var ip01 = new Scaleway.FlexibleIp(\"ip01\", new()\n {\n ServerId = @base.Id,\n });\n\n var ip02 = new Scaleway.FlexibleIp(\"ip02\", new()\n {\n ServerId = @base.Id,\n });\n\n var ip03 = new Scaleway.FlexibleIp(\"ip03\", new()\n {\n ServerId = @base.Id,\n });\n\n var main = new Scaleway.FlexibleIpMacAddress(\"main\", new()\n {\n FlexibleIpId = ip01.Id,\n Type = \"kvm\",\n FlexibleIpIdsToDuplicates = new[]\n {\n ip02.Id,\n ip03.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tName: pulumi.String(\"TestAccScalewayBaremetalServer_WithoutInstallConfig\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewFlexibleIp(ctx, \"ip01\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip02, err := scaleway.NewFlexibleIp(ctx, \"ip02\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip03, err := scaleway.NewFlexibleIp(ctx, \"ip03\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIpMacAddress(ctx, \"main\", \u0026scaleway.FlexibleIpMacAddressArgs{\n\t\t\tFlexibleIpId: ip01.ID(),\n\t\t\tType: pulumi.String(\"kvm\"),\n\t\t\tFlexibleIpIdsToDuplicates: pulumi.StringArray{\n\t\t\t\tip02.ID(),\n\t\t\t\tip03.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\nimport com.pulumi.scaleway.FlexibleIpMacAddress;\nimport com.pulumi.scaleway.FlexibleIpMacAddressArgs;\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 myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .name(\"TestAccScalewayBaremetalServer_WithoutInstallConfig\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n var ip01 = new FlexibleIp(\"ip01\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var ip02 = new FlexibleIp(\"ip02\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var ip03 = new FlexibleIp(\"ip03\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .build());\n\n var main = new FlexibleIpMacAddress(\"main\", FlexibleIpMacAddressArgs.builder()\n .flexibleIpId(ip01.id())\n .type(\"kvm\")\n .flexibleIpIdsToDuplicates( \n ip02.id(),\n ip03.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n name: TestAccScalewayBaremetalServer_WithoutInstallConfig\n offer: ${myOffer.offerId}\n installConfigAfterward: true\n ip01:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n ip02:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n ip03:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n main:\n type: scaleway:FlexibleIpMacAddress\n properties:\n flexibleIpId: ${ip01.id}\n type: kvm\n flexibleIpIdsToDuplicates:\n - ${ip02.id}\n - ${ip03.id}\nvariables:\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n name: EM-B112X-SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFlexible IP Mac Addresses can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/flexibleIpMacAddress:FlexibleIpMacAddress main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "address": { "type": "string", @@ -10546,7 +10570,7 @@ } }, "scaleway:index/functionDomain:FunctionDomain": { - "description": "The `scaleway.FunctionDomain` resource allows you to create and manage domain name bindings for Scaleway [Serverless Functions](https://www.scaleway.com/en/docs/serverless/functions/).\n\nRefer to the Functions domain [documentation](https://www.scaleway.com/en/docs/serverless/functions/how-to/add-a-custom-domain-name-to-a-function/) and the [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-domains-list-all-domain-name-bindings) for more information.\n\n## Example Usage\n\nThis command allows to bind a custom domain name to a function.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst mainFunctionNamespace = new scaleway.FunctionNamespace(\"main\", {});\nconst mainFunction = new scaleway.Function(\"main\", {\n namespaceId: mainFunctionNamespace.id,\n runtime: \"go118\",\n privacy: \"private\",\n handler: \"Handle\",\n zipFile: \"testfixture/gofunction.zip\",\n deploy: true,\n});\nconst main = new scaleway.FunctionDomain(\"main\", {\n functionId: mainFunction.id,\n hostname: \"example.com\",\n}, {\n dependsOn: [mainFunction],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain_function_namespace = scaleway.FunctionNamespace(\"main\")\nmain_function = scaleway.Function(\"main\",\n namespace_id=main_function_namespace.id,\n runtime=\"go118\",\n privacy=\"private\",\n handler=\"Handle\",\n zip_file=\"testfixture/gofunction.zip\",\n deploy=True)\nmain = scaleway.FunctionDomain(\"main\",\n function_id=main_function.id,\n hostname=\"example.com\",\n opts = pulumi.ResourceOptions(depends_on=[main_function]))\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 mainFunctionNamespace = new Scaleway.FunctionNamespace(\"main\");\n\n var mainFunction = new Scaleway.Function(\"main\", new()\n {\n NamespaceId = mainFunctionNamespace.Id,\n Runtime = \"go118\",\n Privacy = \"private\",\n Handler = \"Handle\",\n ZipFile = \"testfixture/gofunction.zip\",\n Deploy = true,\n });\n\n var main = new Scaleway.FunctionDomain(\"main\", new()\n {\n FunctionId = mainFunction.Id,\n Hostname = \"example.com\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainFunction,\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\tmainFunctionNamespace, err := scaleway.NewFunctionNamespace(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainFunction, err := scaleway.NewFunction(ctx, \"main\", \u0026scaleway.FunctionArgs{\n\t\t\tNamespaceId: mainFunctionNamespace.ID(),\n\t\t\tRuntime: pulumi.String(\"go118\"),\n\t\t\tPrivacy: pulumi.String(\"private\"),\n\t\t\tHandler: pulumi.String(\"Handle\"),\n\t\t\tZipFile: pulumi.String(\"testfixture/gofunction.zip\"),\n\t\t\tDeploy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFunctionDomain(ctx, \"main\", \u0026scaleway.FunctionDomainArgs{\n\t\t\tFunctionId: mainFunction.ID(),\n\t\t\tHostname: pulumi.String(\"example.com\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainFunction,\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.FunctionNamespace;\nimport com.pulumi.scaleway.Function;\nimport com.pulumi.scaleway.FunctionArgs;\nimport com.pulumi.scaleway.FunctionDomain;\nimport com.pulumi.scaleway.FunctionDomainArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mainFunctionNamespace = new FunctionNamespace(\"mainFunctionNamespace\");\n\n var mainFunction = new Function(\"mainFunction\", FunctionArgs.builder()\n .namespaceId(mainFunctionNamespace.id())\n .runtime(\"go118\")\n .privacy(\"private\")\n .handler(\"Handle\")\n .zipFile(\"testfixture/gofunction.zip\")\n .deploy(true)\n .build());\n\n var main = new FunctionDomain(\"main\", FunctionDomainArgs.builder()\n .functionId(mainFunction.id())\n .hostname(\"example.com\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(mainFunction)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FunctionDomain\n properties:\n functionId: ${mainFunction.id}\n hostname: example.com\n options:\n dependson:\n - ${mainFunction}\n mainFunctionNamespace:\n type: scaleway:FunctionNamespace\n name: main\n mainFunction:\n type: scaleway:Function\n name: main\n properties:\n namespaceId: ${mainFunctionNamespace.id}\n runtime: go118\n privacy: private\n handler: Handle\n zipFile: testfixture/gofunction.zip\n deploy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction domain binding can be imported using `{region}/{id}`, as shown below:\n\nbash\n\n```sh\n$ pulumi import scaleway:index/functionDomain:FunctionDomain main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.FunctionDomain` resource allows you to create and manage domain name bindings for Scaleway [Serverless Functions](https://www.scaleway.com/en/docs/serverless/functions/).\n\nRefer to the Functions domain [documentation](https://www.scaleway.com/en/docs/serverless/functions/how-to/add-a-custom-domain-name-to-a-function/) and the [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-domains-list-all-domain-name-bindings) for more information.\n\n## Example Usage\n\nThis command allows to bind a custom domain name to a function.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst mainFunctionNamespace = new scaleway.FunctionNamespace(\"main\", {});\nconst mainFunction = new scaleway.Function(\"main\", {\n namespaceId: mainFunctionNamespace.id,\n runtime: \"go118\",\n privacy: \"private\",\n handler: \"Handle\",\n zipFile: \"testfixture/gofunction.zip\",\n deploy: true,\n});\nconst main = new scaleway.FunctionDomain(\"main\", {\n functionId: mainFunction.id,\n hostname: \"example.com\",\n}, {\n dependsOn: [mainFunction],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain_function_namespace = scaleway.FunctionNamespace(\"main\")\nmain_function = scaleway.Function(\"main\",\n namespace_id=main_function_namespace.id,\n runtime=\"go118\",\n privacy=\"private\",\n handler=\"Handle\",\n zip_file=\"testfixture/gofunction.zip\",\n deploy=True)\nmain = scaleway.FunctionDomain(\"main\",\n function_id=main_function.id,\n hostname=\"example.com\",\n opts = pulumi.ResourceOptions(depends_on=[main_function]))\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 mainFunctionNamespace = new Scaleway.FunctionNamespace(\"main\");\n\n var mainFunction = new Scaleway.Function(\"main\", new()\n {\n NamespaceId = mainFunctionNamespace.Id,\n Runtime = \"go118\",\n Privacy = \"private\",\n Handler = \"Handle\",\n ZipFile = \"testfixture/gofunction.zip\",\n Deploy = true,\n });\n\n var main = new Scaleway.FunctionDomain(\"main\", new()\n {\n FunctionId = mainFunction.Id,\n Hostname = \"example.com\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainFunction,\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\tmainFunctionNamespace, err := scaleway.NewFunctionNamespace(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainFunction, err := scaleway.NewFunction(ctx, \"main\", \u0026scaleway.FunctionArgs{\n\t\t\tNamespaceId: mainFunctionNamespace.ID(),\n\t\t\tRuntime: pulumi.String(\"go118\"),\n\t\t\tPrivacy: pulumi.String(\"private\"),\n\t\t\tHandler: pulumi.String(\"Handle\"),\n\t\t\tZipFile: pulumi.String(\"testfixture/gofunction.zip\"),\n\t\t\tDeploy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFunctionDomain(ctx, \"main\", \u0026scaleway.FunctionDomainArgs{\n\t\t\tFunctionId: mainFunction.ID(),\n\t\t\tHostname: pulumi.String(\"example.com\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainFunction,\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.FunctionNamespace;\nimport com.pulumi.scaleway.Function;\nimport com.pulumi.scaleway.FunctionArgs;\nimport com.pulumi.scaleway.FunctionDomain;\nimport com.pulumi.scaleway.FunctionDomainArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mainFunctionNamespace = new FunctionNamespace(\"mainFunctionNamespace\");\n\n var mainFunction = new Function(\"mainFunction\", FunctionArgs.builder()\n .namespaceId(mainFunctionNamespace.id())\n .runtime(\"go118\")\n .privacy(\"private\")\n .handler(\"Handle\")\n .zipFile(\"testfixture/gofunction.zip\")\n .deploy(true)\n .build());\n\n var main = new FunctionDomain(\"main\", FunctionDomainArgs.builder()\n .functionId(mainFunction.id())\n .hostname(\"example.com\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(mainFunction)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:FunctionDomain\n properties:\n functionId: ${mainFunction.id}\n hostname: example.com\n options:\n dependsOn:\n - ${mainFunction}\n mainFunctionNamespace:\n type: scaleway:FunctionNamespace\n name: main\n mainFunction:\n type: scaleway:Function\n name: main\n properties:\n namespaceId: ${mainFunctionNamespace.id}\n runtime: go118\n privacy: private\n handler: Handle\n zipFile: testfixture/gofunction.zip\n deploy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction domain binding can be imported using `{region}/{id}`, as shown below:\n\nbash\n\n```sh\n$ pulumi import scaleway:index/functionDomain:FunctionDomain main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "functionId": { "type": "string", @@ -11426,7 +11450,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### 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", + "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", @@ -12977,7 +13001,7 @@ } }, "scaleway:index/instanceServer:InstanceServer": { - "description": "Creates and manages Scaleway compute Instances. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances).\n\nPlease check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances).\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 publicIp = new scaleway.InstanceIp(\"public_ip\", {});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n ipId: publicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npublic_ip = scaleway.InstanceIp(\"public_ip\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n ip_id=public_ip.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 publicIp = new Scaleway.InstanceIp(\"public_ip\");\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n IpId = publicIp.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\tpublicIp, err := scaleway.NewInstanceIp(ctx, \"public_ip\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tIpId: publicIp.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.InstanceIp;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 publicIp = new InstanceIp(\"publicIp\");\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .ipId(publicIp.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n publicIp:\n type: scaleway:InstanceIp\n name: public_ip\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n ipId: ${publicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With additional volumes and tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst data = new scaleway.InstanceVolume(\"data\", {\n sizeInGb: 100,\n type: \"b_ssd\",\n});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n tags: [\n \"hello\",\n \"public\",\n ],\n rootVolume: {\n deleteOnTermination: false,\n },\n additionalVolumeIds: [data.id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ndata = scaleway.InstanceVolume(\"data\",\n size_in_gb=100,\n type=\"b_ssd\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n tags=[\n \"hello\",\n \"public\",\n ],\n root_volume={\n \"delete_on_termination\": False,\n },\n additional_volume_ids=[data.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 data = new Scaleway.InstanceVolume(\"data\", new()\n {\n SizeInGb = 100,\n Type = \"b_ssd\",\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n Tags = new[]\n {\n \"hello\",\n \"public\",\n },\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n DeleteOnTermination = false,\n },\n AdditionalVolumeIds = new[]\n {\n data.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdata, err := scaleway.NewInstanceVolume(ctx, \"data\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tSizeInGb: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"b_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\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(\"hello\"),\n\t\t\t\tpulumi.String(\"public\"),\n\t\t\t},\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tDeleteOnTermination: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAdditionalVolumeIds: pulumi.StringArray{\n\t\t\t\tdata.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 data = new InstanceVolume(\"data\", InstanceVolumeArgs.builder()\n .sizeInGb(100)\n .type(\"b_ssd\")\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .tags( \n \"hello\",\n \"public\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .deleteOnTermination(false)\n .build())\n .additionalVolumeIds(data.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n data:\n type: scaleway:InstanceVolume\n properties:\n sizeInGb: 100\n type: b_ssd\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n tags:\n - hello\n - public\n rootVolume:\n deleteOnTermination: false\n additionalVolumeIds:\n - ${data.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a reserved IP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst ip = new scaleway.InstanceIp(\"ip\", {});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"f974feac-abae-4365-b988-8ec7d1cec10d\",\n tags: [\n \"hello\",\n \"public\",\n ],\n ipId: ip.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nip = scaleway.InstanceIp(\"ip\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"f974feac-abae-4365-b988-8ec7d1cec10d\",\n tags=[\n \"hello\",\n \"public\",\n ],\n ip_id=ip.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 ip = new Scaleway.InstanceIp(\"ip\");\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"f974feac-abae-4365-b988-8ec7d1cec10d\",\n Tags = new[]\n {\n \"hello\",\n \"public\",\n },\n IpId = ip.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\tip, err := scaleway.NewInstanceIp(ctx, \"ip\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"f974feac-abae-4365-b988-8ec7d1cec10d\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\tpulumi.String(\"public\"),\n\t\t\t},\n\t\t\tIpId: ip.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.InstanceIp;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 ip = new InstanceIp(\"ip\");\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"f974feac-abae-4365-b988-8ec7d1cec10d\")\n .tags( \n \"hello\",\n \"public\")\n .ipId(ip.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip:\n type: scaleway:InstanceIp\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: f974feac-abae-4365-b988-8ec7d1cec10d\n tags:\n - hello\n - public\n ipId: ${ip.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With security group\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.InstanceSecurityGroup(\"www\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [\n {\n action: \"accept\",\n port: 22,\n ip: \"212.47.225.64\",\n },\n {\n action: \"accept\",\n port: 80,\n },\n {\n action: \"accept\",\n port: 443,\n },\n ],\n outboundRules: [{\n action: \"drop\",\n ipRange: \"10.20.0.0/24\",\n }],\n});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n securityGroupId: www.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nwww = scaleway.InstanceSecurityGroup(\"www\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[\n {\n \"action\": \"accept\",\n \"port\": 22,\n \"ip\": \"212.47.225.64\",\n },\n {\n \"action\": \"accept\",\n \"port\": 80,\n },\n {\n \"action\": \"accept\",\n \"port\": 443,\n },\n ],\n outbound_rules=[{\n \"action\": \"drop\",\n \"ip_range\": \"10.20.0.0/24\",\n }])\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n security_group_id=www.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 www = new Scaleway.InstanceSecurityGroup(\"www\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n Ip = \"212.47.225.64\",\n },\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 80,\n },\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 443,\n },\n },\n OutboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupOutboundRuleArgs\n {\n Action = \"drop\",\n IpRange = \"10.20.0.0/24\",\n },\n },\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n SecurityGroupId = www.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\twww, err := scaleway.NewInstanceSecurityGroup(ctx, \"www\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\t\tIp: pulumi.String(\"212.47.225.64\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutboundRules: scaleway.InstanceSecurityGroupOutboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupOutboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"drop\"),\n\t\t\t\t\tIpRange: pulumi.String(\"10.20.0.0/24\"),\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.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tSecurityGroupId: www.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.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupOutboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 InstanceSecurityGroup(\"www\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules( \n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"22\")\n .ip(\"212.47.225.64\")\n .build(),\n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"80\")\n .build(),\n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"443\")\n .build())\n .outboundRules(InstanceSecurityGroupOutboundRuleArgs.builder()\n .action(\"drop\")\n .ipRange(\"10.20.0.0/24\")\n .build())\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .securityGroupId(www.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: scaleway:InstanceSecurityGroup\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: '22'\n ip: 212.47.225.64\n - action: accept\n port: '80'\n - action: accept\n port: '443'\n outboundRules:\n - action: drop\n ipRange: 10.20.0.0/24\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n securityGroupId: ${www.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With private network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {name: \"private_network_instance\"});\nconst base = new scaleway.InstanceServer(\"base\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n privateNetworks: [{\n pnId: pn01.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn01 = scaleway.VpcPrivateNetwork(\"pn01\", name=\"private_network_instance\")\nbase = scaleway.InstanceServer(\"base\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n private_networks=[{\n \"pn_id\": pn01.id,\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 pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_instance\",\n });\n\n var @base = new Scaleway.InstanceServer(\"base\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.InstanceServerPrivateNetworkArgs\n {\n PnId = pn01.Id,\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\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"base\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tPrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.InstanceServerPrivateNetworkArgs{\n\t\t\t\t\tPnId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_instance\")\n .build());\n\n var base = new InstanceServer(\"base\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .privateNetworks(InstanceServerPrivateNetworkArgs.builder()\n .pnId(pn01.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_instance\n base:\n type: scaleway:InstanceServer\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n privateNetworks:\n - pnId: ${pn01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Root volume configuration\n\n### Resized block volume with installed image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst image = new scaleway.InstanceServer(\"image\", {\n type: \"PRO2-XXS\",\n image: \"ubuntu_jammy\",\n rootVolume: {\n volumeType: \"b_ssd\",\n sizeInGb: 100,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nimage = scaleway.InstanceServer(\"image\",\n type=\"PRO2-XXS\",\n image=\"ubuntu_jammy\",\n root_volume={\n \"volume_type\": \"b_ssd\",\n \"size_in_gb\": 100,\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 image = new Scaleway.InstanceServer(\"image\", new()\n {\n Type = \"PRO2-XXS\",\n Image = \"ubuntu_jammy\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeType = \"b_ssd\",\n SizeInGb = 100,\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.NewInstanceServer(ctx, \"image\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PRO2-XXS\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"b_ssd\"),\n\t\t\t\tSizeInGb: pulumi.Int(100),\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.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 image = new InstanceServer(\"image\", InstanceServerArgs.builder()\n .type(\"PRO2-XXS\")\n .image(\"ubuntu_jammy\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeType(\"b_ssd\")\n .sizeInGb(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n image:\n type: scaleway:InstanceServer\n properties:\n type: PRO2-XXS\n image: ubuntu_jammy\n rootVolume:\n volumeType: b_ssd\n sizeInGb: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From snapshot\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 snapshot = scaleway.getInstanceSnapshot({\n name: \"my_snapshot\",\n});\nconst fromSnapshot = new scaleway.InstanceVolume(\"from_snapshot\", {\n fromSnapshotId: snapshot.then(snapshot =\u003e snapshot.id),\n type: \"b_ssd\",\n});\nconst fromSnapshotInstanceServer = new scaleway.InstanceServer(\"from_snapshot\", {\n type: \"PRO2-XXS\",\n rootVolume: {\n volumeId: fromSnapshot.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nsnapshot = scaleway.get_instance_snapshot(name=\"my_snapshot\")\nfrom_snapshot = scaleway.InstanceVolume(\"from_snapshot\",\n from_snapshot_id=snapshot.id,\n type=\"b_ssd\")\nfrom_snapshot_instance_server = scaleway.InstanceServer(\"from_snapshot\",\n type=\"PRO2-XXS\",\n root_volume={\n \"volume_id\": from_snapshot.id,\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 snapshot = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n Name = \"my_snapshot\",\n });\n\n var fromSnapshot = new Scaleway.InstanceVolume(\"from_snapshot\", new()\n {\n FromSnapshotId = snapshot.Apply(getInstanceSnapshotResult =\u003e getInstanceSnapshotResult.Id),\n Type = \"b_ssd\",\n });\n\n var fromSnapshotInstanceServer = new Scaleway.InstanceServer(\"from_snapshot\", new()\n {\n Type = \"PRO2-XXS\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeId = fromSnapshot.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsnapshot, err := scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"my_snapshot\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfromSnapshot, err := scaleway.NewInstanceVolume(ctx, \"from_snapshot\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tFromSnapshotId: pulumi.String(snapshot.Id),\n\t\t\tType: pulumi.String(\"b_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"from_snapshot\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PRO2-XXS\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeId: fromSnapshot.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetInstanceSnapshotArgs;\nimport com.pulumi.scaleway.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var snapshot = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .name(\"my_snapshot\")\n .build());\n\n var fromSnapshot = new InstanceVolume(\"fromSnapshot\", InstanceVolumeArgs.builder()\n .fromSnapshotId(snapshot.applyValue(getInstanceSnapshotResult -\u003e getInstanceSnapshotResult.id()))\n .type(\"b_ssd\")\n .build());\n\n var fromSnapshotInstanceServer = new InstanceServer(\"fromSnapshotInstanceServer\", InstanceServerArgs.builder()\n .type(\"PRO2-XXS\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeId(fromSnapshot.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromSnapshot:\n type: scaleway:InstanceVolume\n name: from_snapshot\n properties:\n fromSnapshotId: ${snapshot.id}\n type: b_ssd\n fromSnapshotInstanceServer:\n type: scaleway:InstanceServer\n name: from_snapshot\n properties:\n type: PRO2-XXS\n rootVolume:\n volumeId: ${fromSnapshot.id}\nvariables:\n snapshot:\n fn::invoke:\n Function: scaleway:getInstanceSnapshot\n Arguments:\n name: my_snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Scaleway Block Storage (SBS) volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst server = new scaleway.InstanceServer(\"server\", {\n type: \"PLAY2-MICRO\",\n image: \"ubuntu_jammy\",\n rootVolume: {\n volumeType: \"sbs_volume\",\n sbsIops: 15000,\n sizeInGb: 50,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nserver = scaleway.InstanceServer(\"server\",\n type=\"PLAY2-MICRO\",\n image=\"ubuntu_jammy\",\n root_volume={\n \"volume_type\": \"sbs_volume\",\n \"sbs_iops\": 15000,\n \"size_in_gb\": 50,\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 server = new Scaleway.InstanceServer(\"server\", new()\n {\n Type = \"PLAY2-MICRO\",\n Image = \"ubuntu_jammy\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeType = \"sbs_volume\",\n SbsIops = 15000,\n SizeInGb = 50,\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.NewInstanceServer(ctx, \"server\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PLAY2-MICRO\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"sbs_volume\"),\n\t\t\t\tSbsIops: pulumi.Int(15000),\n\t\t\t\tSizeInGb: pulumi.Int(50),\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.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 server = new InstanceServer(\"server\", InstanceServerArgs.builder()\n .type(\"PLAY2-MICRO\")\n .image(\"ubuntu_jammy\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeType(\"sbs_volume\")\n .sbsIops(15000)\n .sizeInGb(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n server:\n type: scaleway:InstanceServer\n properties:\n type: PLAY2-MICRO\n image: ubuntu_jammy\n rootVolume:\n volumeType: sbs_volume\n sbsIops: 15000\n sizeInGb: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Private Network\n\n\u003e **Important:** Updates to `private_network` will recreate a new private network interface.\n\n- `pn_id` - (Required) The private network ID where to connect.\n- `mac_address` The private NIC MAC address.\n- `status` The private NIC state.\n- `zone` - (Defaults to provider `zone`) The zone in which the server must be created.\n\n\u003e **Important:** You can only attach an instance in the same zone as a private network.\n\u003e **Important:** Instance supports a maximum of 8 different private networks.\n\n## Import\n\nInstance servers can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instanceServer:InstanceServer web fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway compute Instances. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances).\n\nPlease check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances).\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 publicIp = new scaleway.InstanceIp(\"public_ip\", {});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n ipId: publicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npublic_ip = scaleway.InstanceIp(\"public_ip\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n ip_id=public_ip.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 publicIp = new Scaleway.InstanceIp(\"public_ip\");\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n IpId = publicIp.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\tpublicIp, err := scaleway.NewInstanceIp(ctx, \"public_ip\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tIpId: publicIp.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.InstanceIp;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 publicIp = new InstanceIp(\"publicIp\");\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .ipId(publicIp.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n publicIp:\n type: scaleway:InstanceIp\n name: public_ip\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n ipId: ${publicIp.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With additional volumes and tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst data = new scaleway.InstanceVolume(\"data\", {\n sizeInGb: 100,\n type: \"b_ssd\",\n});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n tags: [\n \"hello\",\n \"public\",\n ],\n rootVolume: {\n deleteOnTermination: false,\n },\n additionalVolumeIds: [data.id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ndata = scaleway.InstanceVolume(\"data\",\n size_in_gb=100,\n type=\"b_ssd\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n tags=[\n \"hello\",\n \"public\",\n ],\n root_volume={\n \"delete_on_termination\": False,\n },\n additional_volume_ids=[data.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 data = new Scaleway.InstanceVolume(\"data\", new()\n {\n SizeInGb = 100,\n Type = \"b_ssd\",\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n Tags = new[]\n {\n \"hello\",\n \"public\",\n },\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n DeleteOnTermination = false,\n },\n AdditionalVolumeIds = new[]\n {\n data.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdata, err := scaleway.NewInstanceVolume(ctx, \"data\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tSizeInGb: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"b_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\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(\"hello\"),\n\t\t\t\tpulumi.String(\"public\"),\n\t\t\t},\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tDeleteOnTermination: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAdditionalVolumeIds: pulumi.StringArray{\n\t\t\t\tdata.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 data = new InstanceVolume(\"data\", InstanceVolumeArgs.builder()\n .sizeInGb(100)\n .type(\"b_ssd\")\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .tags( \n \"hello\",\n \"public\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .deleteOnTermination(false)\n .build())\n .additionalVolumeIds(data.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n data:\n type: scaleway:InstanceVolume\n properties:\n sizeInGb: 100\n type: b_ssd\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n tags:\n - hello\n - public\n rootVolume:\n deleteOnTermination: false\n additionalVolumeIds:\n - ${data.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a reserved IP\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst ip = new scaleway.InstanceIp(\"ip\", {});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"f974feac-abae-4365-b988-8ec7d1cec10d\",\n tags: [\n \"hello\",\n \"public\",\n ],\n ipId: ip.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nip = scaleway.InstanceIp(\"ip\")\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"f974feac-abae-4365-b988-8ec7d1cec10d\",\n tags=[\n \"hello\",\n \"public\",\n ],\n ip_id=ip.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 ip = new Scaleway.InstanceIp(\"ip\");\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"f974feac-abae-4365-b988-8ec7d1cec10d\",\n Tags = new[]\n {\n \"hello\",\n \"public\",\n },\n IpId = ip.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\tip, err := scaleway.NewInstanceIp(ctx, \"ip\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"f974feac-abae-4365-b988-8ec7d1cec10d\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"hello\"),\n\t\t\t\tpulumi.String(\"public\"),\n\t\t\t},\n\t\t\tIpId: ip.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.InstanceIp;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 ip = new InstanceIp(\"ip\");\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"f974feac-abae-4365-b988-8ec7d1cec10d\")\n .tags( \n \"hello\",\n \"public\")\n .ipId(ip.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip:\n type: scaleway:InstanceIp\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: f974feac-abae-4365-b988-8ec7d1cec10d\n tags:\n - hello\n - public\n ipId: ${ip.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With security group\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.InstanceSecurityGroup(\"www\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [\n {\n action: \"accept\",\n port: 22,\n ip: \"212.47.225.64\",\n },\n {\n action: \"accept\",\n port: 80,\n },\n {\n action: \"accept\",\n port: 443,\n },\n ],\n outboundRules: [{\n action: \"drop\",\n ipRange: \"10.20.0.0/24\",\n }],\n});\nconst web = new scaleway.InstanceServer(\"web\", {\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n securityGroupId: www.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nwww = scaleway.InstanceSecurityGroup(\"www\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[\n {\n \"action\": \"accept\",\n \"port\": 22,\n \"ip\": \"212.47.225.64\",\n },\n {\n \"action\": \"accept\",\n \"port\": 80,\n },\n {\n \"action\": \"accept\",\n \"port\": 443,\n },\n ],\n outbound_rules=[{\n \"action\": \"drop\",\n \"ip_range\": \"10.20.0.0/24\",\n }])\nweb = scaleway.InstanceServer(\"web\",\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n security_group_id=www.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 www = new Scaleway.InstanceSecurityGroup(\"www\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n Ip = \"212.47.225.64\",\n },\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 80,\n },\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 443,\n },\n },\n OutboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupOutboundRuleArgs\n {\n Action = \"drop\",\n IpRange = \"10.20.0.0/24\",\n },\n },\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n SecurityGroupId = www.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\twww, err := scaleway.NewInstanceSecurityGroup(ctx, \"www\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\t\tIp: pulumi.String(\"212.47.225.64\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(443),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutboundRules: scaleway.InstanceSecurityGroupOutboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupOutboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"drop\"),\n\t\t\t\t\tIpRange: pulumi.String(\"10.20.0.0/24\"),\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.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tSecurityGroupId: www.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.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupOutboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\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 InstanceSecurityGroup(\"www\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules( \n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"22\")\n .ip(\"212.47.225.64\")\n .build(),\n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"80\")\n .build(),\n InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"443\")\n .build())\n .outboundRules(InstanceSecurityGroupOutboundRuleArgs.builder()\n .action(\"drop\")\n .ipRange(\"10.20.0.0/24\")\n .build())\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .securityGroupId(www.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: scaleway:InstanceSecurityGroup\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: '22'\n ip: 212.47.225.64\n - action: accept\n port: '80'\n - action: accept\n port: '443'\n outboundRules:\n - action: drop\n ipRange: 10.20.0.0/24\n web:\n type: scaleway:InstanceServer\n properties:\n type: DEV1-S\n image: ubuntu_jammy\n securityGroupId: ${www.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With private network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {name: \"private_network_instance\"});\nconst base = new scaleway.InstanceServer(\"base\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n privateNetworks: [{\n pnId: pn01.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn01 = scaleway.VpcPrivateNetwork(\"pn01\", name=\"private_network_instance\")\nbase = scaleway.InstanceServer(\"base\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n private_networks=[{\n \"pn_id\": pn01.id,\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 pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_instance\",\n });\n\n var @base = new Scaleway.InstanceServer(\"base\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.InstanceServerPrivateNetworkArgs\n {\n PnId = pn01.Id,\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\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"base\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tPrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.InstanceServerPrivateNetworkArgs{\n\t\t\t\t\tPnId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_instance\")\n .build());\n\n var base = new InstanceServer(\"base\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .privateNetworks(InstanceServerPrivateNetworkArgs.builder()\n .pnId(pn01.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_instance\n base:\n type: scaleway:InstanceServer\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n privateNetworks:\n - pnId: ${pn01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Root volume configuration\n\n### Resized block volume with installed image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst image = new scaleway.InstanceServer(\"image\", {\n type: \"PRO2-XXS\",\n image: \"ubuntu_jammy\",\n rootVolume: {\n volumeType: \"b_ssd\",\n sizeInGb: 100,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nimage = scaleway.InstanceServer(\"image\",\n type=\"PRO2-XXS\",\n image=\"ubuntu_jammy\",\n root_volume={\n \"volume_type\": \"b_ssd\",\n \"size_in_gb\": 100,\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 image = new Scaleway.InstanceServer(\"image\", new()\n {\n Type = \"PRO2-XXS\",\n Image = \"ubuntu_jammy\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeType = \"b_ssd\",\n SizeInGb = 100,\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.NewInstanceServer(ctx, \"image\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PRO2-XXS\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"b_ssd\"),\n\t\t\t\tSizeInGb: pulumi.Int(100),\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.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 image = new InstanceServer(\"image\", InstanceServerArgs.builder()\n .type(\"PRO2-XXS\")\n .image(\"ubuntu_jammy\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeType(\"b_ssd\")\n .sizeInGb(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n image:\n type: scaleway:InstanceServer\n properties:\n type: PRO2-XXS\n image: ubuntu_jammy\n rootVolume:\n volumeType: b_ssd\n sizeInGb: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### From snapshot\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 snapshot = scaleway.getInstanceSnapshot({\n name: \"my_snapshot\",\n});\nconst fromSnapshot = new scaleway.InstanceVolume(\"from_snapshot\", {\n fromSnapshotId: snapshot.then(snapshot =\u003e snapshot.id),\n type: \"b_ssd\",\n});\nconst fromSnapshotInstanceServer = new scaleway.InstanceServer(\"from_snapshot\", {\n type: \"PRO2-XXS\",\n rootVolume: {\n volumeId: fromSnapshot.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nsnapshot = scaleway.get_instance_snapshot(name=\"my_snapshot\")\nfrom_snapshot = scaleway.InstanceVolume(\"from_snapshot\",\n from_snapshot_id=snapshot.id,\n type=\"b_ssd\")\nfrom_snapshot_instance_server = scaleway.InstanceServer(\"from_snapshot\",\n type=\"PRO2-XXS\",\n root_volume={\n \"volume_id\": from_snapshot.id,\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 snapshot = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n Name = \"my_snapshot\",\n });\n\n var fromSnapshot = new Scaleway.InstanceVolume(\"from_snapshot\", new()\n {\n FromSnapshotId = snapshot.Apply(getInstanceSnapshotResult =\u003e getInstanceSnapshotResult.Id),\n Type = \"b_ssd\",\n });\n\n var fromSnapshotInstanceServer = new Scaleway.InstanceServer(\"from_snapshot\", new()\n {\n Type = \"PRO2-XXS\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeId = fromSnapshot.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsnapshot, err := scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"my_snapshot\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfromSnapshot, err := scaleway.NewInstanceVolume(ctx, \"from_snapshot\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tFromSnapshotId: pulumi.String(snapshot.Id),\n\t\t\tType: pulumi.String(\"b_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceServer(ctx, \"from_snapshot\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PRO2-XXS\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeId: fromSnapshot.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetInstanceSnapshotArgs;\nimport com.pulumi.scaleway.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var snapshot = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .name(\"my_snapshot\")\n .build());\n\n var fromSnapshot = new InstanceVolume(\"fromSnapshot\", InstanceVolumeArgs.builder()\n .fromSnapshotId(snapshot.applyValue(getInstanceSnapshotResult -\u003e getInstanceSnapshotResult.id()))\n .type(\"b_ssd\")\n .build());\n\n var fromSnapshotInstanceServer = new InstanceServer(\"fromSnapshotInstanceServer\", InstanceServerArgs.builder()\n .type(\"PRO2-XXS\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeId(fromSnapshot.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fromSnapshot:\n type: scaleway:InstanceVolume\n name: from_snapshot\n properties:\n fromSnapshotId: ${snapshot.id}\n type: b_ssd\n fromSnapshotInstanceServer:\n type: scaleway:InstanceServer\n name: from_snapshot\n properties:\n type: PRO2-XXS\n rootVolume:\n volumeId: ${fromSnapshot.id}\nvariables:\n snapshot:\n fn::invoke:\n function: scaleway:getInstanceSnapshot\n arguments:\n name: my_snapshot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Scaleway Block Storage (SBS) volume\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst server = new scaleway.InstanceServer(\"server\", {\n type: \"PLAY2-MICRO\",\n image: \"ubuntu_jammy\",\n rootVolume: {\n volumeType: \"sbs_volume\",\n sbsIops: 15000,\n sizeInGb: 50,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nserver = scaleway.InstanceServer(\"server\",\n type=\"PLAY2-MICRO\",\n image=\"ubuntu_jammy\",\n root_volume={\n \"volume_type\": \"sbs_volume\",\n \"sbs_iops\": 15000,\n \"size_in_gb\": 50,\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 server = new Scaleway.InstanceServer(\"server\", new()\n {\n Type = \"PLAY2-MICRO\",\n Image = \"ubuntu_jammy\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n VolumeType = \"sbs_volume\",\n SbsIops = 15000,\n SizeInGb = 50,\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.NewInstanceServer(ctx, \"server\", \u0026scaleway.InstanceServerArgs{\n\t\t\tType: pulumi.String(\"PLAY2-MICRO\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tVolumeType: pulumi.String(\"sbs_volume\"),\n\t\t\t\tSbsIops: pulumi.Int(15000),\n\t\t\t\tSizeInGb: pulumi.Int(50),\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.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\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 server = new InstanceServer(\"server\", InstanceServerArgs.builder()\n .type(\"PLAY2-MICRO\")\n .image(\"ubuntu_jammy\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .volumeType(\"sbs_volume\")\n .sbsIops(15000)\n .sizeInGb(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n server:\n type: scaleway:InstanceServer\n properties:\n type: PLAY2-MICRO\n image: ubuntu_jammy\n rootVolume:\n volumeType: sbs_volume\n sbsIops: 15000\n sizeInGb: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Private Network\n\n\u003e **Important:** Updates to `private_network` will recreate a new private network interface.\n\n- `pn_id` - (Required) The private network ID where to connect.\n- `mac_address` The private NIC MAC address.\n- `status` The private NIC state.\n- `zone` - (Defaults to provider `zone`) The zone in which the server must be created.\n\n\u003e **Important:** You can only attach an instance in the same zone as a private network.\n\u003e **Important:** Instance supports a maximum of 8 different private networks.\n\n## Import\n\nInstance servers can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instanceServer:InstanceServer web fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "additionalVolumeIds": { "type": "array", @@ -13056,7 +13080,8 @@ }, "privateIp": { "type": "string", - "description": "The Scaleway internal IP address of the server.\n" + "description": "The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).\n", + "deprecationMessage": "Use ipam_ip datasource instead to fetch your server's IP in your private network." }, "privateNetworks": { "type": "array", @@ -13345,7 +13370,8 @@ }, "privateIp": { "type": "string", - "description": "The Scaleway internal IP address of the server.\n" + "description": "The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).\n", + "deprecationMessage": "Use ipam_ip datasource instead to fetch your server's IP in your private network." }, "privateNetworks": { "type": "array", @@ -13420,7 +13446,7 @@ } }, "scaleway:index/instanceSnapshot:InstanceSnapshot": { - "description": "Creates and manages Scaleway Compute Snapshots.\nFor more information,\nsee [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-snapshots-list-snapshots).\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 main = new scaleway.InstanceSnapshot(\"main\", {\n name: \"some-snapshot-name\",\n volumeId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.InstanceSnapshot(\"main\",\n name=\"some-snapshot-name\",\n volume_id=\"11111111-1111-1111-1111-111111111111\")\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.InstanceSnapshot(\"main\", new()\n {\n Name = \"some-snapshot-name\",\n VolumeId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewInstanceSnapshot(ctx, \"main\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tName: pulumi.String(\"some-snapshot-name\"),\n\t\t\tVolumeId: pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\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.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\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 InstanceSnapshot(\"main\", InstanceSnapshotArgs.builder()\n .name(\"some-snapshot-name\")\n .volumeId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:InstanceSnapshot\n properties:\n name: some-snapshot-name\n volumeId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Unified type snapshot\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.InstanceVolume(\"main\", {\n type: \"l_ssd\",\n sizeInGb: 10,\n});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n rootVolume: {\n sizeInGb: 10,\n volumeType: \"l_ssd\",\n },\n additionalVolumeIds: [main.id],\n});\nconst mainInstanceSnapshot = new scaleway.InstanceSnapshot(\"main\", {\n volumeId: main.id,\n type: \"unified\",\n}, {\n dependsOn: [mainInstanceServer],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.InstanceVolume(\"main\",\n type=\"l_ssd\",\n size_in_gb=10)\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n root_volume={\n \"size_in_gb\": 10,\n \"volume_type\": \"l_ssd\",\n },\n additional_volume_ids=[main.id])\nmain_instance_snapshot = scaleway.InstanceSnapshot(\"main\",\n volume_id=main.id,\n type=\"unified\",\n opts = pulumi.ResourceOptions(depends_on=[main_instance_server]))\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.InstanceVolume(\"main\", new()\n {\n Type = \"l_ssd\",\n SizeInGb = 10,\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n SizeInGb = 10,\n VolumeType = \"l_ssd\",\n },\n AdditionalVolumeIds = new[]\n {\n main.Id,\n },\n });\n\n var mainInstanceSnapshot = new Scaleway.InstanceSnapshot(\"main\", new()\n {\n VolumeId = main.Id,\n Type = \"unified\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainInstanceServer,\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\tmain, err := scaleway.NewInstanceVolume(ctx, \"main\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tType: pulumi.String(\"l_ssd\"),\n\t\t\tSizeInGb: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tSizeInGb: pulumi.Int(10),\n\t\t\t\tVolumeType: pulumi.String(\"l_ssd\"),\n\t\t\t},\n\t\t\tAdditionalVolumeIds: pulumi.StringArray{\n\t\t\t\tmain.ID(),\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.NewInstanceSnapshot(ctx, \"main\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tVolumeId: main.ID(),\n\t\t\tType: pulumi.String(\"unified\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainInstanceServer,\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.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport com.pulumi.scaleway.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new InstanceVolume(\"main\", InstanceVolumeArgs.builder()\n .type(\"l_ssd\")\n .sizeInGb(10)\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .sizeInGb(10)\n .volumeType(\"l_ssd\")\n .build())\n .additionalVolumeIds(main.id())\n .build());\n\n var mainInstanceSnapshot = new InstanceSnapshot(\"mainInstanceSnapshot\", InstanceSnapshotArgs.builder()\n .volumeId(main.id())\n .type(\"unified\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(mainInstanceServer)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:InstanceVolume\n properties:\n type: l_ssd\n sizeInGb: 10\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n rootVolume:\n sizeInGb: 10\n volumeType: l_ssd\n additionalVolumeIds:\n - ${main.id}\n mainInstanceSnapshot:\n type: scaleway:InstanceSnapshot\n name: main\n properties:\n volumeId: ${main.id}\n type: unified\n options:\n dependson:\n - ${mainInstanceServer}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example importing a local qcow2 file\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"snapshot-qcow-import\"});\nconst qcow = new scaleway.ObjectItem(\"qcow\", {\n bucket: bucket.name,\n key: \"server.qcow2\",\n file: \"myqcow.qcow2\",\n});\nconst snapshot = new scaleway.InstanceSnapshot(\"snapshot\", {\n type: \"unified\",\n \"import\": {\n bucket: qcow.bucket,\n key: qcow.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"snapshot-qcow-import\")\nqcow = scaleway.ObjectItem(\"qcow\",\n bucket=bucket.name,\n key=\"server.qcow2\",\n file=\"myqcow.qcow2\")\nsnapshot = scaleway.InstanceSnapshot(\"snapshot\",\n type=\"unified\",\n import_={\n \"bucket\": qcow.bucket,\n \"key\": qcow.key,\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 bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"snapshot-qcow-import\",\n });\n\n var qcow = new Scaleway.ObjectItem(\"qcow\", new()\n {\n Bucket = bucket.Name,\n Key = \"server.qcow2\",\n File = \"myqcow.qcow2\",\n });\n\n var snapshot = new Scaleway.InstanceSnapshot(\"snapshot\", new()\n {\n Type = \"unified\",\n Import = new Scaleway.Inputs.InstanceSnapshotImportArgs\n {\n Bucket = qcow.Bucket,\n Key = qcow.Key,\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\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"snapshot-qcow-import\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqcow, err := scaleway.NewObjectItem(ctx, \"qcow\", \u0026scaleway.ObjectItemArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tKey: pulumi.String(\"server.qcow2\"),\n\t\t\tFile: pulumi.String(\"myqcow.qcow2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceSnapshot(ctx, \"snapshot\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tType: pulumi.String(\"unified\"),\n\t\t\tImport: \u0026scaleway.InstanceSnapshotImportArgs{\n\t\t\t\tBucket: qcow.Bucket,\n\t\t\t\tKey: qcow.Key,\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectItem;\nimport com.pulumi.scaleway.ObjectItemArgs;\nimport com.pulumi.scaleway.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\nimport com.pulumi.scaleway.inputs.InstanceSnapshotImportArgs;\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 bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"snapshot-qcow-import\")\n .build());\n\n var qcow = new ObjectItem(\"qcow\", ObjectItemArgs.builder()\n .bucket(bucket.name())\n .key(\"server.qcow2\")\n .file(\"myqcow.qcow2\")\n .build());\n\n var snapshot = new InstanceSnapshot(\"snapshot\", InstanceSnapshotArgs.builder()\n .type(\"unified\")\n .import_(InstanceSnapshotImportArgs.builder()\n .bucket(qcow.bucket())\n .key(qcow.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: snapshot-qcow-import\n qcow:\n type: scaleway:ObjectItem\n properties:\n bucket: ${bucket.name}\n key: server.qcow2\n file: myqcow.qcow2\n snapshot:\n type: scaleway:InstanceSnapshot\n properties:\n type: unified\n import:\n bucket: ${qcow.bucket}\n key: ${qcow.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSnapshots can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instanceSnapshot:InstanceSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Compute Snapshots.\nFor more information,\nsee [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-snapshots-list-snapshots).\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 main = new scaleway.InstanceSnapshot(\"main\", {\n name: \"some-snapshot-name\",\n volumeId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.InstanceSnapshot(\"main\",\n name=\"some-snapshot-name\",\n volume_id=\"11111111-1111-1111-1111-111111111111\")\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.InstanceSnapshot(\"main\", new()\n {\n Name = \"some-snapshot-name\",\n VolumeId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewInstanceSnapshot(ctx, \"main\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tName: pulumi.String(\"some-snapshot-name\"),\n\t\t\tVolumeId: pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\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.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\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 InstanceSnapshot(\"main\", InstanceSnapshotArgs.builder()\n .name(\"some-snapshot-name\")\n .volumeId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:InstanceSnapshot\n properties:\n name: some-snapshot-name\n volumeId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with Unified type snapshot\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.InstanceVolume(\"main\", {\n type: \"l_ssd\",\n sizeInGb: 10,\n});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n rootVolume: {\n sizeInGb: 10,\n volumeType: \"l_ssd\",\n },\n additionalVolumeIds: [main.id],\n});\nconst mainInstanceSnapshot = new scaleway.InstanceSnapshot(\"main\", {\n volumeId: main.id,\n type: \"unified\",\n}, {\n dependsOn: [mainInstanceServer],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.InstanceVolume(\"main\",\n type=\"l_ssd\",\n size_in_gb=10)\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n root_volume={\n \"size_in_gb\": 10,\n \"volume_type\": \"l_ssd\",\n },\n additional_volume_ids=[main.id])\nmain_instance_snapshot = scaleway.InstanceSnapshot(\"main\",\n volume_id=main.id,\n type=\"unified\",\n opts = pulumi.ResourceOptions(depends_on=[main_instance_server]))\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.InstanceVolume(\"main\", new()\n {\n Type = \"l_ssd\",\n SizeInGb = 10,\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n SizeInGb = 10,\n VolumeType = \"l_ssd\",\n },\n AdditionalVolumeIds = new[]\n {\n main.Id,\n },\n });\n\n var mainInstanceSnapshot = new Scaleway.InstanceSnapshot(\"main\", new()\n {\n VolumeId = main.Id,\n Type = \"unified\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainInstanceServer,\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\tmain, err := scaleway.NewInstanceVolume(ctx, \"main\", \u0026scaleway.InstanceVolumeArgs{\n\t\t\tType: pulumi.String(\"l_ssd\"),\n\t\t\tSizeInGb: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tSizeInGb: pulumi.Int(10),\n\t\t\t\tVolumeType: pulumi.String(\"l_ssd\"),\n\t\t\t},\n\t\t\tAdditionalVolumeIds: pulumi.StringArray{\n\t\t\t\tmain.ID(),\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.NewInstanceSnapshot(ctx, \"main\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tVolumeId: main.ID(),\n\t\t\tType: pulumi.String(\"unified\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainInstanceServer,\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.InstanceVolume;\nimport com.pulumi.scaleway.InstanceVolumeArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport com.pulumi.scaleway.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new InstanceVolume(\"main\", InstanceVolumeArgs.builder()\n .type(\"l_ssd\")\n .sizeInGb(10)\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .sizeInGb(10)\n .volumeType(\"l_ssd\")\n .build())\n .additionalVolumeIds(main.id())\n .build());\n\n var mainInstanceSnapshot = new InstanceSnapshot(\"mainInstanceSnapshot\", InstanceSnapshotArgs.builder()\n .volumeId(main.id())\n .type(\"unified\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(mainInstanceServer)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:InstanceVolume\n properties:\n type: l_ssd\n sizeInGb: 10\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n rootVolume:\n sizeInGb: 10\n volumeType: l_ssd\n additionalVolumeIds:\n - ${main.id}\n mainInstanceSnapshot:\n type: scaleway:InstanceSnapshot\n name: main\n properties:\n volumeId: ${main.id}\n type: unified\n options:\n dependsOn:\n - ${mainInstanceServer}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example importing a local qcow2 file\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"snapshot-qcow-import\"});\nconst qcow = new scaleway.ObjectItem(\"qcow\", {\n bucket: bucket.name,\n key: \"server.qcow2\",\n file: \"myqcow.qcow2\",\n});\nconst snapshot = new scaleway.InstanceSnapshot(\"snapshot\", {\n type: \"unified\",\n \"import\": {\n bucket: qcow.bucket,\n key: qcow.key,\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"snapshot-qcow-import\")\nqcow = scaleway.ObjectItem(\"qcow\",\n bucket=bucket.name,\n key=\"server.qcow2\",\n file=\"myqcow.qcow2\")\nsnapshot = scaleway.InstanceSnapshot(\"snapshot\",\n type=\"unified\",\n import_={\n \"bucket\": qcow.bucket,\n \"key\": qcow.key,\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 bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"snapshot-qcow-import\",\n });\n\n var qcow = new Scaleway.ObjectItem(\"qcow\", new()\n {\n Bucket = bucket.Name,\n Key = \"server.qcow2\",\n File = \"myqcow.qcow2\",\n });\n\n var snapshot = new Scaleway.InstanceSnapshot(\"snapshot\", new()\n {\n Type = \"unified\",\n Import = new Scaleway.Inputs.InstanceSnapshotImportArgs\n {\n Bucket = qcow.Bucket,\n Key = qcow.Key,\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\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"snapshot-qcow-import\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqcow, err := scaleway.NewObjectItem(ctx, \"qcow\", \u0026scaleway.ObjectItemArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tKey: pulumi.String(\"server.qcow2\"),\n\t\t\tFile: pulumi.String(\"myqcow.qcow2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstanceSnapshot(ctx, \"snapshot\", \u0026scaleway.InstanceSnapshotArgs{\n\t\t\tType: pulumi.String(\"unified\"),\n\t\t\tImport: \u0026scaleway.InstanceSnapshotImportArgs{\n\t\t\t\tBucket: qcow.Bucket,\n\t\t\t\tKey: qcow.Key,\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectItem;\nimport com.pulumi.scaleway.ObjectItemArgs;\nimport com.pulumi.scaleway.InstanceSnapshot;\nimport com.pulumi.scaleway.InstanceSnapshotArgs;\nimport com.pulumi.scaleway.inputs.InstanceSnapshotImportArgs;\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 bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"snapshot-qcow-import\")\n .build());\n\n var qcow = new ObjectItem(\"qcow\", ObjectItemArgs.builder()\n .bucket(bucket.name())\n .key(\"server.qcow2\")\n .file(\"myqcow.qcow2\")\n .build());\n\n var snapshot = new InstanceSnapshot(\"snapshot\", InstanceSnapshotArgs.builder()\n .type(\"unified\")\n .import_(InstanceSnapshotImportArgs.builder()\n .bucket(qcow.bucket())\n .key(qcow.key())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: snapshot-qcow-import\n qcow:\n type: scaleway:ObjectItem\n properties:\n bucket: ${bucket.name}\n key: server.qcow2\n file: myqcow.qcow2\n snapshot:\n type: scaleway:InstanceSnapshot\n properties:\n type: unified\n import:\n bucket: ${qcow.bucket}\n key: ${qcow.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSnapshots can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instanceSnapshot:InstanceSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -13784,7 +13810,7 @@ } }, "scaleway:index/iotDevice:IotDevice": { - "description": "## 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.IotHub(\"main\", {\n name: \"test-iot\",\n productPlan: \"plan_shared\",\n});\nconst mainIotDevice = new scaleway.IotDevice(\"main\", {\n hubId: main.id,\n name: \"test-iot\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.IotHub(\"main\",\n name=\"test-iot\",\n product_plan=\"plan_shared\")\nmain_iot_device = scaleway.IotDevice(\"main\",\n hub_id=main.id,\n name=\"test-iot\")\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.IotHub(\"main\", new()\n {\n Name = \"test-iot\",\n ProductPlan = \"plan_shared\",\n });\n\n var mainIotDevice = new Scaleway.IotDevice(\"main\", new()\n {\n HubId = main.Id,\n Name = \"test-iot\",\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.NewIotHub(ctx, \"main\", \u0026scaleway.IotHubArgs{\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tProductPlan: pulumi.String(\"plan_shared\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIotDevice(ctx, \"main\", \u0026scaleway.IotDeviceArgs{\n\t\t\tHubId: main.ID(),\n\t\t\tName: pulumi.String(\"test-iot\"),\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.IotHub;\nimport com.pulumi.scaleway.IotHubArgs;\nimport com.pulumi.scaleway.IotDevice;\nimport com.pulumi.scaleway.IotDeviceArgs;\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 IotHub(\"main\", IotHubArgs.builder()\n .name(\"test-iot\")\n .productPlan(\"plan_shared\")\n .build());\n\n var mainIotDevice = new IotDevice(\"mainIotDevice\", IotDeviceArgs.builder()\n .hubId(main.id())\n .name(\"test-iot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:IotHub\n properties:\n name: test-iot\n productPlan: plan_shared\n mainIotDevice:\n type: scaleway:IotDevice\n name: main\n properties:\n hubId: ${main.id}\n name: test-iot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With custom certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as local from \"@pulumi/local\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.IotHub(\"main\", {\n name: \"test-iot\",\n productPlan: \"plan_shared\",\n});\nconst deviceCert = local.getFile({\n filename: \"device-certificate.pem\",\n});\nconst mainIotDevice = new scaleway.IotDevice(\"main\", {\n hubId: main.id,\n name: \"test-iot\",\n certificate: {\n crt: deviceCert.then(deviceCert =\u003e deviceCert.content),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_local as local\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.IotHub(\"main\",\n name=\"test-iot\",\n product_plan=\"plan_shared\")\ndevice_cert = local.get_file(filename=\"device-certificate.pem\")\nmain_iot_device = scaleway.IotDevice(\"main\",\n hub_id=main.id,\n name=\"test-iot\",\n certificate={\n \"crt\": device_cert.content,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Local = Pulumi.Local;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Scaleway.IotHub(\"main\", new()\n {\n Name = \"test-iot\",\n ProductPlan = \"plan_shared\",\n });\n\n var deviceCert = Local.GetFile.Invoke(new()\n {\n Filename = \"device-certificate.pem\",\n });\n\n var mainIotDevice = new Scaleway.IotDevice(\"main\", new()\n {\n HubId = main.Id,\n Name = \"test-iot\",\n Certificate = new Scaleway.Inputs.IotDeviceCertificateArgs\n {\n Crt = deviceCert.Apply(getFileResult =\u003e getFileResult.Content),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-local/sdk/go/local\"\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.NewIotHub(ctx, \"main\", \u0026scaleway.IotHubArgs{\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tProductPlan: pulumi.String(\"plan_shared\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeviceCert, err := local.LookupFile(ctx, \u0026local.LookupFileArgs{\n\t\t\tFilename: \"device-certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIotDevice(ctx, \"main\", \u0026scaleway.IotDeviceArgs{\n\t\t\tHubId: main.ID(),\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tCertificate: \u0026scaleway.IotDeviceCertificateArgs{\n\t\t\t\tCrt: pulumi.String(deviceCert.Content),\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.IotHub;\nimport com.pulumi.scaleway.IotHubArgs;\nimport com.pulumi.local.LocalFunctions;\nimport com.pulumi.local.inputs.GetFileArgs;\nimport com.pulumi.scaleway.IotDevice;\nimport com.pulumi.scaleway.IotDeviceArgs;\nimport com.pulumi.scaleway.inputs.IotDeviceCertificateArgs;\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 IotHub(\"main\", IotHubArgs.builder()\n .name(\"test-iot\")\n .productPlan(\"plan_shared\")\n .build());\n\n final var deviceCert = LocalFunctions.getFile(GetFileArgs.builder()\n .filename(\"device-certificate.pem\")\n .build());\n\n var mainIotDevice = new IotDevice(\"mainIotDevice\", IotDeviceArgs.builder()\n .hubId(main.id())\n .name(\"test-iot\")\n .certificate(IotDeviceCertificateArgs.builder()\n .crt(deviceCert.applyValue(getFileResult -\u003e getFileResult.content()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:IotHub\n properties:\n name: test-iot\n productPlan: plan_shared\n mainIotDevice:\n type: scaleway:IotDevice\n name: main\n properties:\n hubId: ${main.id}\n name: test-iot\n certificate:\n crt: ${deviceCert.content}\nvariables:\n deviceCert:\n fn::invoke:\n Function: local:getFile\n Arguments:\n filename: device-certificate.pem\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoT devices can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/iotDevice:IotDevice device01 fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "## 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.IotHub(\"main\", {\n name: \"test-iot\",\n productPlan: \"plan_shared\",\n});\nconst mainIotDevice = new scaleway.IotDevice(\"main\", {\n hubId: main.id,\n name: \"test-iot\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.IotHub(\"main\",\n name=\"test-iot\",\n product_plan=\"plan_shared\")\nmain_iot_device = scaleway.IotDevice(\"main\",\n hub_id=main.id,\n name=\"test-iot\")\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.IotHub(\"main\", new()\n {\n Name = \"test-iot\",\n ProductPlan = \"plan_shared\",\n });\n\n var mainIotDevice = new Scaleway.IotDevice(\"main\", new()\n {\n HubId = main.Id,\n Name = \"test-iot\",\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.NewIotHub(ctx, \"main\", \u0026scaleway.IotHubArgs{\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tProductPlan: pulumi.String(\"plan_shared\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIotDevice(ctx, \"main\", \u0026scaleway.IotDeviceArgs{\n\t\t\tHubId: main.ID(),\n\t\t\tName: pulumi.String(\"test-iot\"),\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.IotHub;\nimport com.pulumi.scaleway.IotHubArgs;\nimport com.pulumi.scaleway.IotDevice;\nimport com.pulumi.scaleway.IotDeviceArgs;\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 IotHub(\"main\", IotHubArgs.builder()\n .name(\"test-iot\")\n .productPlan(\"plan_shared\")\n .build());\n\n var mainIotDevice = new IotDevice(\"mainIotDevice\", IotDeviceArgs.builder()\n .hubId(main.id())\n .name(\"test-iot\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:IotHub\n properties:\n name: test-iot\n productPlan: plan_shared\n mainIotDevice:\n type: scaleway:IotDevice\n name: main\n properties:\n hubId: ${main.id}\n name: test-iot\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With custom certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as local from \"@pulumi/local\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.IotHub(\"main\", {\n name: \"test-iot\",\n productPlan: \"plan_shared\",\n});\nconst deviceCert = local.getFile({\n filename: \"device-certificate.pem\",\n});\nconst mainIotDevice = new scaleway.IotDevice(\"main\", {\n hubId: main.id,\n name: \"test-iot\",\n certificate: {\n crt: deviceCert.then(deviceCert =\u003e deviceCert.content),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_local as local\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.IotHub(\"main\",\n name=\"test-iot\",\n product_plan=\"plan_shared\")\ndevice_cert = local.get_file(filename=\"device-certificate.pem\")\nmain_iot_device = scaleway.IotDevice(\"main\",\n hub_id=main.id,\n name=\"test-iot\",\n certificate={\n \"crt\": device_cert.content,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Local = Pulumi.Local;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Scaleway.IotHub(\"main\", new()\n {\n Name = \"test-iot\",\n ProductPlan = \"plan_shared\",\n });\n\n var deviceCert = Local.GetFile.Invoke(new()\n {\n Filename = \"device-certificate.pem\",\n });\n\n var mainIotDevice = new Scaleway.IotDevice(\"main\", new()\n {\n HubId = main.Id,\n Name = \"test-iot\",\n Certificate = new Scaleway.Inputs.IotDeviceCertificateArgs\n {\n Crt = deviceCert.Apply(getFileResult =\u003e getFileResult.Content),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-local/sdk/go/local\"\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.NewIotHub(ctx, \"main\", \u0026scaleway.IotHubArgs{\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tProductPlan: pulumi.String(\"plan_shared\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdeviceCert, err := local.LookupFile(ctx, \u0026local.LookupFileArgs{\n\t\t\tFilename: \"device-certificate.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIotDevice(ctx, \"main\", \u0026scaleway.IotDeviceArgs{\n\t\t\tHubId: main.ID(),\n\t\t\tName: pulumi.String(\"test-iot\"),\n\t\t\tCertificate: \u0026scaleway.IotDeviceCertificateArgs{\n\t\t\t\tCrt: pulumi.String(deviceCert.Content),\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.IotHub;\nimport com.pulumi.scaleway.IotHubArgs;\nimport com.pulumi.local.LocalFunctions;\nimport com.pulumi.local.inputs.GetFileArgs;\nimport com.pulumi.scaleway.IotDevice;\nimport com.pulumi.scaleway.IotDeviceArgs;\nimport com.pulumi.scaleway.inputs.IotDeviceCertificateArgs;\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 IotHub(\"main\", IotHubArgs.builder()\n .name(\"test-iot\")\n .productPlan(\"plan_shared\")\n .build());\n\n final var deviceCert = LocalFunctions.getFile(GetFileArgs.builder()\n .filename(\"device-certificate.pem\")\n .build());\n\n var mainIotDevice = new IotDevice(\"mainIotDevice\", IotDeviceArgs.builder()\n .hubId(main.id())\n .name(\"test-iot\")\n .certificate(IotDeviceCertificateArgs.builder()\n .crt(deviceCert.applyValue(getFileResult -\u003e getFileResult.content()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:IotHub\n properties:\n name: test-iot\n productPlan: plan_shared\n mainIotDevice:\n type: scaleway:IotDevice\n name: main\n properties:\n hubId: ${main.id}\n name: test-iot\n certificate:\n crt: ${deviceCert.content}\nvariables:\n deviceCert:\n fn::invoke:\n function: local:getFile\n arguments:\n filename: device-certificate.pem\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIoT devices can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/iotDevice:IotDevice device01 fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "allowInsecure": { "type": "boolean", @@ -14874,7 +14900,7 @@ } }, "scaleway:index/kubernetesCluster:KubernetesCluster": { - "description": "Creates and manages Scaleway Kubernetes clusters. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/kubernetes/).\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 pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n private_network_id=pn.id,\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multicloud\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n type: \"multicloud\",\n version: \"1.29.1\",\n cni: \"kilo\",\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"external\",\n size: 0,\n minSize: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n type=\"multicloud\",\n version=\"1.29.1\",\n cni=\"kilo\",\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"external\",\n size=0,\n min_size=0)\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 cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Type = \"multicloud\",\n Version = \"1.29.1\",\n Cni = \"kilo\",\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"external\",\n Size = 0,\n MinSize = 0,\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\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tType: pulumi.String(\"multicloud\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"kilo\"),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"external\"),\n\t\t\tSize: pulumi.Int(0),\n\t\t\tMinSize: pulumi.Int(0),\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.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .type(\"multicloud\")\n .version(\"1.29.1\")\n .cni(\"kilo\")\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"external\")\n .size(0)\n .minSize(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n type: multicloud\n version: 1.29.1\n cni: kilo\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: external\n size: 0\n minSize: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor a detailed example of how to add or run Elastic Metal servers instead of Instances on your cluster, please refer to this guide.\n\n### With additional configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n description: \"cluster made in terraform\",\n version: \"1.29.1\",\n cni: \"calico\",\n tags: [\"terraform\"],\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n autoscalerConfig: {\n disableScaleDown: false,\n scaleDownDelayAfterAdd: \"5m\",\n estimator: \"binpacking\",\n expander: \"random\",\n ignoreDaemonsetsUtilization: true,\n balanceSimilarNodeGroups: true,\n expendablePodsPriorityCutoff: -5,\n },\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 3,\n autoscaling: true,\n autohealing: true,\n minSize: 1,\n maxSize: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n description=\"cluster made in terraform\",\n version=\"1.29.1\",\n cni=\"calico\",\n tags=[\"terraform\"],\n private_network_id=pn.id,\n delete_additional_resources=False,\n autoscaler_config={\n \"disable_scale_down\": False,\n \"scale_down_delay_after_add\": \"5m\",\n \"estimator\": \"binpacking\",\n \"expander\": \"random\",\n \"ignore_daemonsets_utilization\": True,\n \"balance_similar_node_groups\": True,\n \"expendable_pods_priority_cutoff\": -5,\n })\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=3,\n autoscaling=True,\n autohealing=True,\n min_size=1,\n max_size=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Description = \"cluster made in terraform\",\n Version = \"1.29.1\",\n Cni = \"calico\",\n Tags = new[]\n {\n \"terraform\",\n },\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n AutoscalerConfig = new Scaleway.Inputs.KubernetesClusterAutoscalerConfigArgs\n {\n DisableScaleDown = false,\n ScaleDownDelayAfterAdd = \"5m\",\n Estimator = \"binpacking\",\n Expander = \"random\",\n IgnoreDaemonsetsUtilization = true,\n BalanceSimilarNodeGroups = true,\n ExpendablePodsPriorityCutoff = -5,\n },\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 3,\n Autoscaling = true,\n Autohealing = true,\n MinSize = 1,\n MaxSize = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tDescription: pulumi.String(\"cluster made in terraform\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"calico\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t\tAutoscalerConfig: \u0026scaleway.KubernetesClusterAutoscalerConfigArgs{\n\t\t\t\tDisableScaleDown: pulumi.Bool(false),\n\t\t\t\tScaleDownDelayAfterAdd: pulumi.String(\"5m\"),\n\t\t\t\tEstimator: pulumi.String(\"binpacking\"),\n\t\t\t\tExpander: pulumi.String(\"random\"),\n\t\t\t\tIgnoreDaemonsetsUtilization: pulumi.Bool(true),\n\t\t\t\tBalanceSimilarNodeGroups: pulumi.Bool(true),\n\t\t\t\tExpendablePodsPriorityCutoff: pulumi.Int(-5),\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.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(3),\n\t\t\tAutoscaling: pulumi.Bool(true),\n\t\t\tAutohealing: pulumi.Bool(true),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.inputs.KubernetesClusterAutoscalerConfigArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .description(\"cluster made in terraform\")\n .version(\"1.29.1\")\n .cni(\"calico\")\n .tags(\"terraform\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .autoscalerConfig(KubernetesClusterAutoscalerConfigArgs.builder()\n .disableScaleDown(false)\n .scaleDownDelayAfterAdd(\"5m\")\n .estimator(\"binpacking\")\n .expander(\"random\")\n .ignoreDaemonsetsUtilization(true)\n .balanceSimilarNodeGroups(true)\n .expendablePodsPriorityCutoff(-5)\n .build())\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(3)\n .autoscaling(true)\n .autohealing(true)\n .minSize(1)\n .maxSize(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n description: cluster made in terraform\n version: 1.29.1\n cni: calico\n tags:\n - terraform\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n autoscalerConfig:\n disableScaleDown: false\n scaleDownDelayAfterAdd: 5m\n estimator: binpacking\n expander: random\n ignoreDaemonsetsUtilization: true\n balanceSimilarNodeGroups: true\n expendablePodsPriorityCutoff: -5\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 3\n autoscaling: true\n autohealing: true\n minSize: 1\n maxSize: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With the kubernetes provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\nconst kubeconfig = new _null.Resource(\"kubeconfig\", {triggers: {\n host: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].host),\n token: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].token),\n cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].clusterCaCertificate),\n}}, {\n dependsOn: [pool],\n});\n```\n```python\nimport pulumi\nimport pulumi_null as null\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n private_network_id=pn.id,\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\nkubeconfig = null.Resource(\"kubeconfig\", triggers={\n \"host\": cluster.kubeconfigs[0].host,\n \"token\": cluster.kubeconfigs[0].token,\n \"cluster_ca_certificate\": cluster.kubeconfigs[0].cluster_ca_certificate,\n},\nopts = pulumi.ResourceOptions(depends_on=[pool]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Null = Pulumi.Null;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n var kubeconfig = new Null.Resource(\"kubeconfig\", new()\n {\n Triggers = \n {\n { \"host\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Host) },\n { \"token\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Token) },\n { \"cluster_ca_certificate\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].ClusterCaCertificate) },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pool,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = null.NewResource(ctx, \"kubeconfig\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"host\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Host, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"token\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Token, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"cluster_ca_certificate\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].ClusterCaCertificate, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpool,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n var kubeconfig = new Resource(\"kubeconfig\", ResourceArgs.builder()\n .triggers(Map.ofEntries(\n Map.entry(\"host\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].host())),\n Map.entry(\"token\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].token())),\n Map.entry(\"cluster_ca_certificate\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].clusterCaCertificate()))\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(pool)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n kubeconfig:\n type: null:Resource\n properties:\n triggers:\n host: ${cluster.kubeconfigs[0].host}\n token: ${cluster.kubeconfigs[0].token}\n cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}\n options:\n dependson:\n - ${pool}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe `null_resource` is needed because when the cluster is created, it's status is `pool_required`, but the kubeconfig can already be downloaded.\nIt leads the `kubernetes` provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that's why it's needed to wait for at least a pool.\n\n### With the Helm provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as helm from \"@pulumi/helm\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n deleteAdditionalResources: false,\n privateNetworkId: pn.id,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\nconst kubeconfig = new _null.Resource(\"kubeconfig\", {triggers: {\n host: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].host),\n token: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].token),\n cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].clusterCaCertificate),\n}}, {\n dependsOn: [pool],\n});\nconst nginxIp = new scaleway.LoadbalancerIp(\"nginx_ip\", {\n zone: \"fr-par-1\",\n projectId: cluster.projectId,\n});\nconst nginxIngress = new helm.index.Release(\"nginx_ingress\", {\n name: \"nginx-ingress\",\n namespace: \"kube-system\",\n repository: \"https://kubernetes.github.io/ingress-nginx\",\n chart: \"ingress-nginx\",\n set: [\n {\n name: \"controller.service.loadBalancerIP\",\n value: nginxIp.ipAddress,\n },\n {\n name: \"controller.config.use-proxy-protocol\",\n value: \"true\",\n },\n {\n name: \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\",\n value: \"true\",\n },\n {\n name: \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\",\n value: nginxIp.zone,\n },\n {\n name: \"controller.service.externalTrafficPolicy\",\n value: \"Local\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_helm as helm\nimport pulumi_null as null\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n delete_additional_resources=False,\n private_network_id=pn.id)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\nkubeconfig = null.Resource(\"kubeconfig\", triggers={\n \"host\": cluster.kubeconfigs[0].host,\n \"token\": cluster.kubeconfigs[0].token,\n \"cluster_ca_certificate\": cluster.kubeconfigs[0].cluster_ca_certificate,\n},\nopts = pulumi.ResourceOptions(depends_on=[pool]))\nnginx_ip = scaleway.LoadbalancerIp(\"nginx_ip\",\n zone=\"fr-par-1\",\n project_id=cluster.project_id)\nnginx_ingress = helm.index.Release(\"nginx_ingress\",\n name=nginx-ingress,\n namespace=kube-system,\n repository=https://kubernetes.github.io/ingress-nginx,\n chart=ingress-nginx,\n set=[\n {\n name: controller.service.loadBalancerIP,\n value: nginx_ip.ip_address,\n },\n {\n name: controller.config.use-proxy-protocol,\n value: true,\n },\n {\n name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2,\n value: true,\n },\n {\n name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone,\n value: nginx_ip.zone,\n },\n {\n name: controller.service.externalTrafficPolicy,\n value: Local,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Helm = Pulumi.Helm;\nusing Null = Pulumi.Null;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n DeleteAdditionalResources = false,\n PrivateNetworkId = pn.Id,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n var kubeconfig = new Null.Resource(\"kubeconfig\", new()\n {\n Triggers = \n {\n { \"host\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Host) },\n { \"token\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Token) },\n { \"cluster_ca_certificate\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].ClusterCaCertificate) },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pool,\n },\n });\n\n var nginxIp = new Scaleway.LoadbalancerIp(\"nginx_ip\", new()\n {\n Zone = \"fr-par-1\",\n ProjectId = cluster.ProjectId,\n });\n\n var nginxIngress = new Helm.Index.Release(\"nginx_ingress\", new()\n {\n Name = \"nginx-ingress\",\n Namespace = \"kube-system\",\n Repository = \"https://kubernetes.github.io/ingress-nginx\",\n Chart = \"ingress-nginx\",\n Set = new[]\n {\n \n {\n { \"name\", \"controller.service.loadBalancerIP\" },\n { \"value\", nginxIp.IpAddress },\n },\n \n {\n { \"name\", \"controller.config.use-proxy-protocol\" },\n { \"value\", \"true\" },\n },\n \n {\n { \"name\", \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\" },\n { \"value\", \"true\" },\n },\n \n {\n { \"name\", \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\" },\n { \"value\", nginxIp.Zone },\n },\n \n {\n { \"name\", \"controller.service.externalTrafficPolicy\" },\n { \"value\", \"Local\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-helm/sdk/go/helm\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = null.NewResource(ctx, \"kubeconfig\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"host\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Host, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"token\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Token, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"cluster_ca_certificate\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].ClusterCaCertificate, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpool,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnginxIp, err := scaleway.NewLoadbalancerIp(ctx, \"nginx_ip\", \u0026scaleway.LoadbalancerIpArgs{\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tProjectId: cluster.ProjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = helm.NewRelease(ctx, \"nginx_ingress\", \u0026helm.ReleaseArgs{\n\t\t\tName: \"nginx-ingress\",\n\t\t\tNamespace: \"kube-system\",\n\t\t\tRepository: \"https://kubernetes.github.io/ingress-nginx\",\n\t\t\tChart: \"ingress-nginx\",\n\t\t\tSet: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.loadBalancerIP\",\n\t\t\t\t\t\"value\": nginxIp.IpAddress,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.config.use-proxy-protocol\",\n\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\",\n\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\",\n\t\t\t\t\t\"value\": nginxIp.Zone,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.externalTrafficPolicy\",\n\t\t\t\t\t\"value\": \"Local\",\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.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.scaleway.LoadbalancerIp;\nimport com.pulumi.scaleway.LoadbalancerIpArgs;\nimport com.pulumi.helm.release;\nimport com.pulumi.helm.ReleaseArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .deleteAdditionalResources(false)\n .privateNetworkId(pn.id())\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n var kubeconfig = new Resource(\"kubeconfig\", ResourceArgs.builder()\n .triggers(Map.ofEntries(\n Map.entry(\"host\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].host())),\n Map.entry(\"token\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].token())),\n Map.entry(\"cluster_ca_certificate\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].clusterCaCertificate()))\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(pool)\n .build());\n\n var nginxIp = new LoadbalancerIp(\"nginxIp\", LoadbalancerIpArgs.builder()\n .zone(\"fr-par-1\")\n .projectId(cluster.projectId())\n .build());\n\n var nginxIngress = new Release(\"nginxIngress\", ReleaseArgs.builder()\n .name(\"nginx-ingress\")\n .namespace(\"kube-system\")\n .repository(\"https://kubernetes.github.io/ingress-nginx\")\n .chart(\"ingress-nginx\")\n .set( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n deleteAdditionalResources: false\n privateNetworkId: ${pn.id}\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n kubeconfig:\n type: null:Resource\n properties:\n triggers:\n host: ${cluster.kubeconfigs[0].host}\n token: ${cluster.kubeconfigs[0].token}\n cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}\n options:\n dependson:\n - ${pool}\n nginxIp:\n type: scaleway:LoadbalancerIp\n name: nginx_ip\n properties:\n zone: fr-par-1\n projectId: ${cluster.projectId}\n nginxIngress:\n type: helm:release\n name: nginx_ingress\n properties:\n name: nginx-ingress\n namespace: kube-system\n repository: https://kubernetes.github.io/ingress-nginx\n chart: ingress-nginx\n set:\n - name: controller.service.loadBalancerIP\n value: ${nginxIp.ipAddress}\n - name: controller.config.use-proxy-protocol\n value: 'true'\n - name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2\n value: 'true'\n - name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone\n value: ${nginxIp.zone}\n - name: controller.service.externalTrafficPolicy\n value: Local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Deprecation of default_pool\n\n`default_pool` is deprecated in favour the `scaleway.KubernetesNodePool` resource. Here is a migration example.\n\nBefore:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.18.0\n cni: cilium\n defaultPool:\n - nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAfter:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.18.0\",\n cni: \"cilium\",\n});\nconst _default = new scaleway.KubernetesNodePool(\"default\", {\n clusterId: jack.id,\n name: \"default\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.18.0\",\n cni=\"cilium\")\ndefault = scaleway.KubernetesNodePool(\"default\",\n cluster_id=jack[\"id\"],\n name=\"default\",\n node_type=\"DEV1-M\",\n size=1)\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 cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.18.0\",\n Cni = \"cilium\",\n });\n\n var @default = new Scaleway.KubernetesNodePool(\"default\", new()\n {\n ClusterId = jack.Id,\n Name = \"default\",\n NodeType = \"DEV1-M\",\n Size = 1,\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.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.18.0\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"default\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: pulumi.Any(jack.Id),\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\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.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.18.0\")\n .cni(\"cilium\")\n .build());\n\n var default_ = new KubernetesNodePool(\"default\", KubernetesNodePoolArgs.builder()\n .clusterId(jack.id())\n .name(\"default\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.18.0\n cni: cilium\n default:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${jack.id}\n name: default\n nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnce you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:\n\n```bash\nterraform import scaleway_k8s_pool.default fr-par/11111111-1111-1111-1111-111111111111\n```\n\nThen you will only need to type `pulumi up` to have a smooth migration.\n\n## Import\n\nKubernetes clusters can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/kubernetesCluster:KubernetesCluster mycluster fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Kubernetes clusters. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/kubernetes/).\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 pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n private_network_id=pn.id,\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Multicloud\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n type: \"multicloud\",\n version: \"1.29.1\",\n cni: \"kilo\",\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"external\",\n size: 0,\n minSize: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n type=\"multicloud\",\n version=\"1.29.1\",\n cni=\"kilo\",\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"external\",\n size=0,\n min_size=0)\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 cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Type = \"multicloud\",\n Version = \"1.29.1\",\n Cni = \"kilo\",\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"external\",\n Size = 0,\n MinSize = 0,\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\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tType: pulumi.String(\"multicloud\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"kilo\"),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"external\"),\n\t\t\tSize: pulumi.Int(0),\n\t\t\tMinSize: pulumi.Int(0),\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.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .type(\"multicloud\")\n .version(\"1.29.1\")\n .cni(\"kilo\")\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"external\")\n .size(0)\n .minSize(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n type: multicloud\n version: 1.29.1\n cni: kilo\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: external\n size: 0\n minSize: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor a detailed example of how to add or run Elastic Metal servers instead of Instances on your cluster, please refer to this guide.\n\n### With additional configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n description: \"cluster made in terraform\",\n version: \"1.29.1\",\n cni: \"calico\",\n tags: [\"terraform\"],\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n autoscalerConfig: {\n disableScaleDown: false,\n scaleDownDelayAfterAdd: \"5m\",\n estimator: \"binpacking\",\n expander: \"random\",\n ignoreDaemonsetsUtilization: true,\n balanceSimilarNodeGroups: true,\n expendablePodsPriorityCutoff: -5,\n },\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 3,\n autoscaling: true,\n autohealing: true,\n minSize: 1,\n maxSize: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n description=\"cluster made in terraform\",\n version=\"1.29.1\",\n cni=\"calico\",\n tags=[\"terraform\"],\n private_network_id=pn.id,\n delete_additional_resources=False,\n autoscaler_config={\n \"disable_scale_down\": False,\n \"scale_down_delay_after_add\": \"5m\",\n \"estimator\": \"binpacking\",\n \"expander\": \"random\",\n \"ignore_daemonsets_utilization\": True,\n \"balance_similar_node_groups\": True,\n \"expendable_pods_priority_cutoff\": -5,\n })\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=3,\n autoscaling=True,\n autohealing=True,\n min_size=1,\n max_size=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Description = \"cluster made in terraform\",\n Version = \"1.29.1\",\n Cni = \"calico\",\n Tags = new[]\n {\n \"terraform\",\n },\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n AutoscalerConfig = new Scaleway.Inputs.KubernetesClusterAutoscalerConfigArgs\n {\n DisableScaleDown = false,\n ScaleDownDelayAfterAdd = \"5m\",\n Estimator = \"binpacking\",\n Expander = \"random\",\n IgnoreDaemonsetsUtilization = true,\n BalanceSimilarNodeGroups = true,\n ExpendablePodsPriorityCutoff = -5,\n },\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 3,\n Autoscaling = true,\n Autohealing = true,\n MinSize = 1,\n MaxSize = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tDescription: pulumi.String(\"cluster made in terraform\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"calico\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t\tAutoscalerConfig: \u0026scaleway.KubernetesClusterAutoscalerConfigArgs{\n\t\t\t\tDisableScaleDown: pulumi.Bool(false),\n\t\t\t\tScaleDownDelayAfterAdd: pulumi.String(\"5m\"),\n\t\t\t\tEstimator: pulumi.String(\"binpacking\"),\n\t\t\t\tExpander: pulumi.String(\"random\"),\n\t\t\t\tIgnoreDaemonsetsUtilization: pulumi.Bool(true),\n\t\t\t\tBalanceSimilarNodeGroups: pulumi.Bool(true),\n\t\t\t\tExpendablePodsPriorityCutoff: pulumi.Int(-5),\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.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(3),\n\t\t\tAutoscaling: pulumi.Bool(true),\n\t\t\tAutohealing: pulumi.Bool(true),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.inputs.KubernetesClusterAutoscalerConfigArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .description(\"cluster made in terraform\")\n .version(\"1.29.1\")\n .cni(\"calico\")\n .tags(\"terraform\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .autoscalerConfig(KubernetesClusterAutoscalerConfigArgs.builder()\n .disableScaleDown(false)\n .scaleDownDelayAfterAdd(\"5m\")\n .estimator(\"binpacking\")\n .expander(\"random\")\n .ignoreDaemonsetsUtilization(true)\n .balanceSimilarNodeGroups(true)\n .expendablePodsPriorityCutoff(-5)\n .build())\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(3)\n .autoscaling(true)\n .autohealing(true)\n .minSize(1)\n .maxSize(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n description: cluster made in terraform\n version: 1.29.1\n cni: calico\n tags:\n - terraform\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n autoscalerConfig:\n disableScaleDown: false\n scaleDownDelayAfterAdd: 5m\n estimator: binpacking\n expander: random\n ignoreDaemonsetsUtilization: true\n balanceSimilarNodeGroups: true\n expendablePodsPriorityCutoff: -5\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 3\n autoscaling: true\n autohealing: true\n minSize: 1\n maxSize: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With the kubernetes provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n privateNetworkId: pn.id,\n deleteAdditionalResources: false,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\nconst kubeconfig = new _null.Resource(\"kubeconfig\", {triggers: {\n host: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].host),\n token: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].token),\n cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].clusterCaCertificate),\n}}, {\n dependsOn: [pool],\n});\n```\n```python\nimport pulumi\nimport pulumi_null as null\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n private_network_id=pn.id,\n delete_additional_resources=False)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\nkubeconfig = null.Resource(\"kubeconfig\", triggers={\n \"host\": cluster.kubeconfigs[0].host,\n \"token\": cluster.kubeconfigs[0].token,\n \"cluster_ca_certificate\": cluster.kubeconfigs[0].cluster_ca_certificate,\n},\nopts = pulumi.ResourceOptions(depends_on=[pool]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Null = Pulumi.Null;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n PrivateNetworkId = pn.Id,\n DeleteAdditionalResources = false,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n var kubeconfig = new Null.Resource(\"kubeconfig\", new()\n {\n Triggers = \n {\n { \"host\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Host) },\n { \"token\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Token) },\n { \"cluster_ca_certificate\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].ClusterCaCertificate) },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pool,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = null.NewResource(ctx, \"kubeconfig\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"host\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Host, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"token\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Token, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"cluster_ca_certificate\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].ClusterCaCertificate, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpool,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .privateNetworkId(pn.id())\n .deleteAdditionalResources(false)\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n var kubeconfig = new Resource(\"kubeconfig\", ResourceArgs.builder()\n .triggers(Map.ofEntries(\n Map.entry(\"host\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].host())),\n Map.entry(\"token\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].token())),\n Map.entry(\"cluster_ca_certificate\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].clusterCaCertificate()))\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(pool)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n privateNetworkId: ${pn.id}\n deleteAdditionalResources: false\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n kubeconfig:\n type: null:Resource\n properties:\n triggers:\n host: ${cluster.kubeconfigs[0].host}\n token: ${cluster.kubeconfigs[0].token}\n cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}\n options:\n dependsOn:\n - ${pool}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe `null_resource` is needed because when the cluster is created, it's status is `pool_required`, but the kubeconfig can already be downloaded.\nIt leads the `kubernetes` provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that's why it's needed to wait for at least a pool.\n\n### With the Helm provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as helm from \"@pulumi/helm\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.29.1\",\n cni: \"cilium\",\n deleteAdditionalResources: false,\n privateNetworkId: pn.id,\n});\nconst pool = new scaleway.KubernetesNodePool(\"pool\", {\n clusterId: cluster.id,\n name: \"tf-pool\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\nconst kubeconfig = new _null.Resource(\"kubeconfig\", {triggers: {\n host: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].host),\n token: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].token),\n cluster_ca_certificate: cluster.kubeconfigs.apply(kubeconfigs =\u003e kubeconfigs[0].clusterCaCertificate),\n}}, {\n dependsOn: [pool],\n});\nconst nginxIp = new scaleway.LoadbalancerIp(\"nginx_ip\", {\n zone: \"fr-par-1\",\n projectId: cluster.projectId,\n});\nconst nginxIngress = new helm.index.Release(\"nginx_ingress\", {\n name: \"nginx-ingress\",\n namespace: \"kube-system\",\n repository: \"https://kubernetes.github.io/ingress-nginx\",\n chart: \"ingress-nginx\",\n set: [\n {\n name: \"controller.service.loadBalancerIP\",\n value: nginxIp.ipAddress,\n },\n {\n name: \"controller.config.use-proxy-protocol\",\n value: \"true\",\n },\n {\n name: \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\",\n value: \"true\",\n },\n {\n name: \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\",\n value: nginxIp.zone,\n },\n {\n name: \"controller.service.externalTrafficPolicy\",\n value: \"Local\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_helm as helm\nimport pulumi_null as null\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.29.1\",\n cni=\"cilium\",\n delete_additional_resources=False,\n private_network_id=pn.id)\npool = scaleway.KubernetesNodePool(\"pool\",\n cluster_id=cluster.id,\n name=\"tf-pool\",\n node_type=\"DEV1-M\",\n size=1)\nkubeconfig = null.Resource(\"kubeconfig\", triggers={\n \"host\": cluster.kubeconfigs[0].host,\n \"token\": cluster.kubeconfigs[0].token,\n \"cluster_ca_certificate\": cluster.kubeconfigs[0].cluster_ca_certificate,\n},\nopts = pulumi.ResourceOptions(depends_on=[pool]))\nnginx_ip = scaleway.LoadbalancerIp(\"nginx_ip\",\n zone=\"fr-par-1\",\n project_id=cluster.project_id)\nnginx_ingress = helm.index.Release(\"nginx_ingress\",\n name=nginx-ingress,\n namespace=kube-system,\n repository=https://kubernetes.github.io/ingress-nginx,\n chart=ingress-nginx,\n set=[\n {\n name: controller.service.loadBalancerIP,\n value: nginx_ip.ip_address,\n },\n {\n name: controller.config.use-proxy-protocol,\n value: true,\n },\n {\n name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2,\n value: true,\n },\n {\n name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone,\n value: nginx_ip.zone,\n },\n {\n name: controller.service.externalTrafficPolicy,\n value: Local,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Helm = Pulumi.Helm;\nusing Null = Pulumi.Null;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.29.1\",\n Cni = \"cilium\",\n DeleteAdditionalResources = false,\n PrivateNetworkId = pn.Id,\n });\n\n var pool = new Scaleway.KubernetesNodePool(\"pool\", new()\n {\n ClusterId = cluster.Id,\n Name = \"tf-pool\",\n NodeType = \"DEV1-M\",\n Size = 1,\n });\n\n var kubeconfig = new Null.Resource(\"kubeconfig\", new()\n {\n Triggers = \n {\n { \"host\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Host) },\n { \"token\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].Token) },\n { \"cluster_ca_certificate\", cluster.Kubeconfigs.Apply(kubeconfigs =\u003e kubeconfigs[0].ClusterCaCertificate) },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pool,\n },\n });\n\n var nginxIp = new Scaleway.LoadbalancerIp(\"nginx_ip\", new()\n {\n Zone = \"fr-par-1\",\n ProjectId = cluster.ProjectId,\n });\n\n var nginxIngress = new Helm.Index.Release(\"nginx_ingress\", new()\n {\n Name = \"nginx-ingress\",\n Namespace = \"kube-system\",\n Repository = \"https://kubernetes.github.io/ingress-nginx\",\n Chart = \"ingress-nginx\",\n Set = new[]\n {\n \n {\n { \"name\", \"controller.service.loadBalancerIP\" },\n { \"value\", nginxIp.IpAddress },\n },\n \n {\n { \"name\", \"controller.config.use-proxy-protocol\" },\n { \"value\", \"true\" },\n },\n \n {\n { \"name\", \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\" },\n { \"value\", \"true\" },\n },\n \n {\n { \"name\", \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\" },\n { \"value\", nginxIp.Zone },\n },\n \n {\n { \"name\", \"controller.service.externalTrafficPolicy\" },\n { \"value\", \"Local\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-helm/sdk/go/helm\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := scaleway.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.29.1\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t\tDeleteAdditionalResources: pulumi.Bool(false),\n\t\t\tPrivateNetworkId: pn.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := scaleway.NewKubernetesNodePool(ctx, \"pool\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: cluster.ID(),\n\t\t\tName: pulumi.String(\"tf-pool\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = null.NewResource(ctx, \"kubeconfig\", \u0026null.ResourceArgs{\n\t\t\tTriggers: pulumi.StringMap{\n\t\t\t\t\"host\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Host, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"token\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].Token, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"cluster_ca_certificate\": pulumi.String(cluster.Kubeconfigs.ApplyT(func(kubeconfigs []scaleway.KubernetesClusterKubeconfig) (*string, error) {\n\t\t\t\t\treturn \u0026kubeconfigs[0].ClusterCaCertificate, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpool,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnginxIp, err := scaleway.NewLoadbalancerIp(ctx, \"nginx_ip\", \u0026scaleway.LoadbalancerIpArgs{\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tProjectId: cluster.ProjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = helm.NewRelease(ctx, \"nginx_ingress\", \u0026helm.ReleaseArgs{\n\t\t\tName: \"nginx-ingress\",\n\t\t\tNamespace: \"kube-system\",\n\t\t\tRepository: \"https://kubernetes.github.io/ingress-nginx\",\n\t\t\tChart: \"ingress-nginx\",\n\t\t\tSet: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.loadBalancerIP\",\n\t\t\t\t\t\"value\": nginxIp.IpAddress,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.config.use-proxy-protocol\",\n\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-proxy-protocol-v2\",\n\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.annotations.service\\\\.beta\\\\.kubernetes\\\\.io/scw-loadbalancer-zone\",\n\t\t\t\t\t\"value\": nginxIp.Zone,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"controller.service.externalTrafficPolicy\",\n\t\t\t\t\t\"value\": \"Local\",\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.VpcPrivateNetwork;\nimport com.pulumi.scaleway.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport com.pulumi.null.Resource;\nimport com.pulumi.null.ResourceArgs;\nimport com.pulumi.scaleway.LoadbalancerIp;\nimport com.pulumi.scaleway.LoadbalancerIpArgs;\nimport com.pulumi.helm.release;\nimport com.pulumi.helm.ReleaseArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.29.1\")\n .cni(\"cilium\")\n .deleteAdditionalResources(false)\n .privateNetworkId(pn.id())\n .build());\n\n var pool = new KubernetesNodePool(\"pool\", KubernetesNodePoolArgs.builder()\n .clusterId(cluster.id())\n .name(\"tf-pool\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n var kubeconfig = new Resource(\"kubeconfig\", ResourceArgs.builder()\n .triggers(Map.ofEntries(\n Map.entry(\"host\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].host())),\n Map.entry(\"token\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].token())),\n Map.entry(\"cluster_ca_certificate\", cluster.kubeconfigs().applyValue(kubeconfigs -\u003e kubeconfigs[0].clusterCaCertificate()))\n ))\n .build(), CustomResourceOptions.builder()\n .dependsOn(pool)\n .build());\n\n var nginxIp = new LoadbalancerIp(\"nginxIp\", LoadbalancerIpArgs.builder()\n .zone(\"fr-par-1\")\n .projectId(cluster.projectId())\n .build());\n\n var nginxIngress = new Release(\"nginxIngress\", ReleaseArgs.builder()\n .name(\"nginx-ingress\")\n .namespace(\"kube-system\")\n .repository(\"https://kubernetes.github.io/ingress-nginx\")\n .chart(\"ingress-nginx\")\n .set( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.29.1\n cni: cilium\n deleteAdditionalResources: false\n privateNetworkId: ${pn.id}\n pool:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${cluster.id}\n name: tf-pool\n nodeType: DEV1-M\n size: 1\n kubeconfig:\n type: null:Resource\n properties:\n triggers:\n host: ${cluster.kubeconfigs[0].host}\n token: ${cluster.kubeconfigs[0].token}\n cluster_ca_certificate: ${cluster.kubeconfigs[0].clusterCaCertificate}\n options:\n dependsOn:\n - ${pool}\n nginxIp:\n type: scaleway:LoadbalancerIp\n name: nginx_ip\n properties:\n zone: fr-par-1\n projectId: ${cluster.projectId}\n nginxIngress:\n type: helm:release\n name: nginx_ingress\n properties:\n name: nginx-ingress\n namespace: kube-system\n repository: https://kubernetes.github.io/ingress-nginx\n chart: ingress-nginx\n set:\n - name: controller.service.loadBalancerIP\n value: ${nginxIp.ipAddress}\n - name: controller.config.use-proxy-protocol\n value: 'true'\n - name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2\n value: 'true'\n - name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone\n value: ${nginxIp.zone}\n - name: controller.service.externalTrafficPolicy\n value: Local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Deprecation of default_pool\n\n`default_pool` is deprecated in favour the `scaleway.KubernetesNodePool` resource. Here is a migration example.\n\nBefore:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.18.0\n cni: cilium\n defaultPool:\n - nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nAfter:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst cluster = new scaleway.KubernetesCluster(\"cluster\", {\n name: \"tf-cluster\",\n version: \"1.18.0\",\n cni: \"cilium\",\n});\nconst _default = new scaleway.KubernetesNodePool(\"default\", {\n clusterId: jack.id,\n name: \"default\",\n nodeType: \"DEV1-M\",\n size: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ncluster = scaleway.KubernetesCluster(\"cluster\",\n name=\"tf-cluster\",\n version=\"1.18.0\",\n cni=\"cilium\")\ndefault = scaleway.KubernetesNodePool(\"default\",\n cluster_id=jack[\"id\"],\n name=\"default\",\n node_type=\"DEV1-M\",\n size=1)\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 cluster = new Scaleway.KubernetesCluster(\"cluster\", new()\n {\n Name = \"tf-cluster\",\n Version = \"1.18.0\",\n Cni = \"cilium\",\n });\n\n var @default = new Scaleway.KubernetesNodePool(\"default\", new()\n {\n ClusterId = jack.Id,\n Name = \"default\",\n NodeType = \"DEV1-M\",\n Size = 1,\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.NewKubernetesCluster(ctx, \"cluster\", \u0026scaleway.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"tf-cluster\"),\n\t\t\tVersion: pulumi.String(\"1.18.0\"),\n\t\t\tCni: pulumi.String(\"cilium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewKubernetesNodePool(ctx, \"default\", \u0026scaleway.KubernetesNodePoolArgs{\n\t\t\tClusterId: pulumi.Any(jack.Id),\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tNodeType: pulumi.String(\"DEV1-M\"),\n\t\t\tSize: pulumi.Int(1),\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.KubernetesCluster;\nimport com.pulumi.scaleway.KubernetesClusterArgs;\nimport com.pulumi.scaleway.KubernetesNodePool;\nimport com.pulumi.scaleway.KubernetesNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cluster = new KubernetesCluster(\"cluster\", KubernetesClusterArgs.builder()\n .name(\"tf-cluster\")\n .version(\"1.18.0\")\n .cni(\"cilium\")\n .build());\n\n var default_ = new KubernetesNodePool(\"default\", KubernetesNodePoolArgs.builder()\n .clusterId(jack.id())\n .name(\"default\")\n .nodeType(\"DEV1-M\")\n .size(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cluster:\n type: scaleway:KubernetesCluster\n properties:\n name: tf-cluster\n version: 1.18.0\n cni: cilium\n default:\n type: scaleway:KubernetesNodePool\n properties:\n clusterId: ${jack.id}\n name: default\n nodeType: DEV1-M\n size: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnce you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:\n\n```bash\nterraform import scaleway_k8s_pool.default fr-par/11111111-1111-1111-1111-111111111111\n```\n\nThen you will only need to type `pulumi up` to have a smooth migration.\n\n## Import\n\nKubernetes clusters can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/kubernetesCluster:KubernetesCluster mycluster fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "admissionPlugins": { "type": "array", @@ -16994,7 +17020,7 @@ } }, "scaleway:index/mnqSns:MnqSns": { - "description": "Activates Scaleway Messaging and Queuing SNS in a Project.\nFor further information, see\nour [main documentation](https://www.scaleway.com/en/docs/serverless/messaging/reference-content/sns-overview/).\n\n## Example Usage\n\n### Basic\n\nActivate SNS in the default Project\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.MnqSns(\"main\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.MnqSns(\"main\")\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.MnqSns(\"main\");\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.NewMnqSns(ctx, \"main\", 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.MnqSns;\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 MnqSns(\"main\");\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:MnqSns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nActivate SNS in a specific 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 project = scaleway.getAccountProject({\n name: \"default\",\n});\n// For specific Project in default region\nconst forProject = new scaleway.MnqSns(\"for_project\", {projectId: project.then(project =\u003e project.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.get_account_project(name=\"default\")\n# For specific Project in default region\nfor_project = scaleway.MnqSns(\"for_project\", project_id=project.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 project = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // For specific Project in default region\n var forProject = new Scaleway.MnqSns(\"for_project\", new()\n {\n ProjectId = project.Apply(getAccountProjectResult =\u003e getAccountProjectResult.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\tproject, 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\t// For specific Project in default region\n\t\t_, err = scaleway.NewMnqSns(ctx, \"for_project\", \u0026scaleway.MnqSnsArgs{\n\t\t\tProjectId: pulumi.String(project.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.GetAccountProjectArgs;\nimport com.pulumi.scaleway.MnqSns;\nimport com.pulumi.scaleway.MnqSnsArgs;\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 project = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // For specific Project in default region\n var forProject = new MnqSns(\"forProject\", MnqSnsArgs.builder()\n .projectId(project.applyValue(getAccountProjectResult -\u003e getAccountProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # For specific Project in default region\n forProject:\n type: scaleway:MnqSns\n name: for_project\n properties:\n projectId: ${project.id}\nvariables:\n project:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSNS status can be imported using `{region}/{project_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/mnqSns:MnqSns main fr-par/11111111111111111111111111111111\n```\n\n", + "description": "Activates Scaleway Messaging and Queuing SNS in a Project.\nFor further information, see\nour [main documentation](https://www.scaleway.com/en/docs/serverless/messaging/reference-content/sns-overview/).\n\n## Example Usage\n\n### Basic\n\nActivate SNS in the default Project\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.MnqSns(\"main\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.MnqSns(\"main\")\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.MnqSns(\"main\");\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.NewMnqSns(ctx, \"main\", 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.MnqSns;\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 MnqSns(\"main\");\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:MnqSns\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nActivate SNS in a specific 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 project = scaleway.getAccountProject({\n name: \"default\",\n});\n// For specific Project in default region\nconst forProject = new scaleway.MnqSns(\"for_project\", {projectId: project.then(project =\u003e project.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.get_account_project(name=\"default\")\n# For specific Project in default region\nfor_project = scaleway.MnqSns(\"for_project\", project_id=project.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 project = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // For specific Project in default region\n var forProject = new Scaleway.MnqSns(\"for_project\", new()\n {\n ProjectId = project.Apply(getAccountProjectResult =\u003e getAccountProjectResult.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\tproject, 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\t// For specific Project in default region\n\t\t_, err = scaleway.NewMnqSns(ctx, \"for_project\", \u0026scaleway.MnqSnsArgs{\n\t\t\tProjectId: pulumi.String(project.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.GetAccountProjectArgs;\nimport com.pulumi.scaleway.MnqSns;\nimport com.pulumi.scaleway.MnqSnsArgs;\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 project = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // For specific Project in default region\n var forProject = new MnqSns(\"forProject\", MnqSnsArgs.builder()\n .projectId(project.applyValue(getAccountProjectResult -\u003e getAccountProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # For specific Project in default region\n forProject:\n type: scaleway:MnqSns\n name: for_project\n properties:\n projectId: ${project.id}\nvariables:\n project:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSNS status can be imported using `{region}/{project_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/mnqSns:MnqSns main fr-par/11111111111111111111111111111111\n```\n\n", "properties": { "endpoint": { "type": "string", @@ -17489,7 +17515,7 @@ } }, "scaleway:index/mnqSqs:MnqSqs": { - "description": "Activate Scaleway Messaging and Queuing SQS in a Project.\nFor further information, see\nour [main documentation](https://www.scaleway.com/en/docs/serverless/messaging/reference-content/sqs-overview/).\n\n## Example Usage\n\n### Basic\n\nActivate SQS in the default Project\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.MnqSqs(\"main\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.MnqSqs(\"main\")\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.MnqSqs(\"main\");\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.NewMnqSqs(ctx, \"main\", 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.MnqSqs;\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 MnqSqs(\"main\");\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:MnqSqs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nActivate SQS for a specific 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 project = scaleway.getAccountProject({\n name: \"default\",\n});\nconst forProject = new scaleway.MnqSqs(\"for_project\", {projectId: project.then(project =\u003e project.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.get_account_project(name=\"default\")\nfor_project = scaleway.MnqSqs(\"for_project\", project_id=project.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 project = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var forProject = new Scaleway.MnqSqs(\"for_project\", new()\n {\n ProjectId = project.Apply(getAccountProjectResult =\u003e getAccountProjectResult.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\tproject, 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\t_, err = scaleway.NewMnqSqs(ctx, \"for_project\", \u0026scaleway.MnqSqsArgs{\n\t\t\tProjectId: pulumi.String(project.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.GetAccountProjectArgs;\nimport com.pulumi.scaleway.MnqSqs;\nimport com.pulumi.scaleway.MnqSqsArgs;\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 project = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var forProject = new MnqSqs(\"forProject\", MnqSqsArgs.builder()\n .projectId(project.applyValue(getAccountProjectResult -\u003e getAccountProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n forProject:\n type: scaleway:MnqSqs\n name: for_project\n properties:\n projectId: ${project.id}\nvariables:\n project:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSQS status can be imported using the `{region}/{project_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/mnqSqs:MnqSqs main fr-par/11111111111111111111111111111111\n```\n\n", + "description": "Activate Scaleway Messaging and Queuing SQS in a Project.\nFor further information, see\nour [main documentation](https://www.scaleway.com/en/docs/serverless/messaging/reference-content/sqs-overview/).\n\n## Example Usage\n\n### Basic\n\nActivate SQS in the default Project\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.MnqSqs(\"main\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.MnqSqs(\"main\")\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.MnqSqs(\"main\");\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.NewMnqSqs(ctx, \"main\", 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.MnqSqs;\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 MnqSqs(\"main\");\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:MnqSqs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nActivate SQS for a specific 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 project = scaleway.getAccountProject({\n name: \"default\",\n});\nconst forProject = new scaleway.MnqSqs(\"for_project\", {projectId: project.then(project =\u003e project.id)});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.get_account_project(name=\"default\")\nfor_project = scaleway.MnqSqs(\"for_project\", project_id=project.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 project = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n var forProject = new Scaleway.MnqSqs(\"for_project\", new()\n {\n ProjectId = project.Apply(getAccountProjectResult =\u003e getAccountProjectResult.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\tproject, 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\t_, err = scaleway.NewMnqSqs(ctx, \"for_project\", \u0026scaleway.MnqSqsArgs{\n\t\t\tProjectId: pulumi.String(project.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.GetAccountProjectArgs;\nimport com.pulumi.scaleway.MnqSqs;\nimport com.pulumi.scaleway.MnqSqsArgs;\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 project = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n var forProject = new MnqSqs(\"forProject\", MnqSqsArgs.builder()\n .projectId(project.applyValue(getAccountProjectResult -\u003e getAccountProjectResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n forProject:\n type: scaleway:MnqSqs\n name: for_project\n properties:\n projectId: ${project.id}\nvariables:\n project:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSQS status can be imported using the `{region}/{project_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/mnqSqs:MnqSqs main fr-par/11111111111111111111111111111111\n```\n\n", "properties": { "endpoint": { "type": "string", @@ -18271,6 +18297,7 @@ }, "required": [ "apiEndpoint", + "corsRules", "endpoint", "name", "projectId", @@ -18580,7 +18607,7 @@ } }, "scaleway:index/objectBucketPolicy:ObjectBucketPolicy": { - "description": "The `scaleway.ObjectBucketPolicy` resource allows you to create and manage bucket policies for [Scaleway Object storage](https://www.scaleway.com/en/docs/storage/object/).\n\nRefer to the [dedicated documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/) for more information on Object Storage bucket policies.\n\n## Example Usage\n\n### Example Usage with an IAM user\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// IAM configuration\nconst user = scaleway.getIamUser({\n email: \"user@scaleway.com\",\n});\nconst policy = new scaleway.IamPolicy(\"policy\", {\n name: \"object-storage-policy\",\n userId: user.then(user =\u003e user.id),\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageFullAccess\"],\n }],\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\nconst policyObjectBucketPolicy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2023-04-17\",\n Id: \"MyBucketPolicy\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"s3:*\"],\n Principal: {\n SCW: user.then(user =\u003e `user_id:${user.id}`),\n },\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# IAM configuration\nuser = scaleway.get_iam_user(email=\"user@scaleway.com\")\npolicy = scaleway.IamPolicy(\"policy\",\n name=\"object-storage-policy\",\n user_id=user.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageFullAccess\"],\n }])\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\npolicy_object_bucket_policy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2023-04-17\",\n \"Id\": \"MyBucketPolicy\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"s3:*\"],\n \"Principal\": {\n \"SCW\": f\"user_id:{user.id}\",\n },\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // IAM configuration\n var user = Scaleway.GetIamUser.Invoke(new()\n {\n Email = \"user@scaleway.com\",\n });\n\n var policy = new Scaleway.IamPolicy(\"policy\", new()\n {\n Name = \"object-storage-policy\",\n UserId = user.Apply(getIamUserResult =\u003e getIamUserResult.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 \"ObjectStorageFullAccess\",\n },\n },\n },\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n var policyObjectBucketPolicy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2023-04-17\",\n [\"Id\"] = \"MyBucketPolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:*\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = $\"user_id:{user.Apply(getIamUserResult =\u003e getIamUserResult.Id)}\",\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// IAM configuration\n\t\tuser, err := scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tEmail: pulumi.StringRef(\"user@scaleway.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"policy\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"object-storage-policy\"),\n\t\t\tUserId: pulumi.String(user.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(\"ObjectStorageFullAccess\"),\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// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tPolicy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucketName := _args[0].(string)\n\t\t\t\tbucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2023-04-17\",\n\t\t\t\t\t\"Id\": \"MyBucketPolicy\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"user_id:%v\", user.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.inputs.GetIamUserArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\nimport com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // IAM configuration\n final var user = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"user@scaleway.com\")\n .build());\n\n var policy = new IamPolicy(\"policy\", IamPolicyArgs.builder()\n .name(\"object-storage-policy\")\n .userId(user.applyValue(getIamUserResult -\u003e getIamUserResult.id()))\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageFullAccess\")\n .build())\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n var policyObjectBucketPolicy = new ObjectBucketPolicy(\"policyObjectBucketPolicy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.name())\n .policy(Output.tuple(bucket.name(), bucket.name()).applyValue(values -\u003e {\n var bucketName = values.t1;\n var bucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2023-04-17\"),\n jsonProperty(\"Id\", \"MyBucketPolicy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"s3:*\")),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"user_id:%s\", user.applyValue(getIamUserResult -\u003e getIamUserResult.id())))\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n policy:\n type: scaleway:IamPolicy\n properties:\n name: object-storage-policy\n userId: ${user.id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageFullAccess\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n policyObjectBucketPolicy:\n type: scaleway:ObjectBucketPolicy\n name: policy\n properties:\n bucket: ${bucket.name}\n policy:\n fn::toJSON:\n Version: 2023-04-17\n Id: MyBucketPolicy\n Statement:\n - Effect: Allow\n Action:\n - s3:*\n Principal:\n SCW: user_id:${user.id}\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n # IAM configuration\n user:\n fn::invoke:\n Function: scaleway:getIamUser\n Arguments:\n email: user@scaleway.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with an IAM application\n\n### Creating a bucket and delegating read access to an application\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// IAM configuration\nconst reading_app = new scaleway.IamApplication(\"reading-app\", {name: \"reading-app\"});\nconst policy = new scaleway.IamPolicy(\"policy\", {\n name: \"object-storage-policy\",\n applicationId: reading_app.id,\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageBucketsRead\"],\n }],\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\nconst policyObjectBucketPolicy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.id,\n policy: pulumi.jsonStringify({\n Version: \"2023-04-17\",\n Statement: [{\n Sid: \"Delegate read access\",\n Effect: \"Allow\",\n Principal: {\n SCW: pulumi.interpolate`application_id:${reading_app.id}`,\n },\n Action: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# IAM configuration\nreading_app = scaleway.IamApplication(\"reading-app\", name=\"reading-app\")\npolicy = scaleway.IamPolicy(\"policy\",\n name=\"object-storage-policy\",\n application_id=reading_app.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageBucketsRead\"],\n }])\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\npolicy_object_bucket_policy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2023-04-17\",\n \"Statement\": [{\n \"Sid\": \"Delegate read access\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"SCW\": reading_app.id.apply(lambda id: f\"application_id:{id}\"),\n },\n \"Action\": [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // IAM configuration\n var reading_app = new Scaleway.IamApplication(\"reading-app\", new()\n {\n Name = \"reading-app\",\n });\n\n var policy = new Scaleway.IamPolicy(\"policy\", new()\n {\n Name = \"object-storage-policy\",\n ApplicationId = reading_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 \"ObjectStorageBucketsRead\",\n },\n },\n },\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n var policyObjectBucketPolicy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2023-04-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Delegate read access\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = reading_app.Id.Apply(id =\u003e $\"application_id:{id}\"),\n },\n [\"Action\"] = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// IAM configuration\n\t\t_, err = scaleway.NewIamApplication(ctx, \"reading-app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"reading-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"policy\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"object-storage-policy\"),\n\t\t\tApplicationId: reading_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(\"ObjectStorageBucketsRead\"),\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// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tPolicy: pulumi.All(reading_app.ID(), bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tbucketName := _args[1].(string)\n\t\t\t\tbucketName1 := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2023-04-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Delegate read access\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"application_id:%v\", id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.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 com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // IAM configuration\n var reading_app = new IamApplication(\"reading-app\", IamApplicationArgs.builder()\n .name(\"reading-app\")\n .build());\n\n var policy = new IamPolicy(\"policy\", IamPolicyArgs.builder()\n .name(\"object-storage-policy\")\n .applicationId(reading_app.id())\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageBucketsRead\")\n .build())\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n var policyObjectBucketPolicy = new ObjectBucketPolicy(\"policyObjectBucketPolicy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(Output.tuple(reading_app.id(), bucket.name(), bucket.name()).applyValue(values -\u003e {\n var id = values.t1;\n var bucketName = values.t2;\n var bucketName1 = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2023-04-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Delegate read access\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"application_id:%s\", id))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListBucket\", \n \"s3:GetObject\"\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # IAM configuration\n reading-app:\n type: scaleway:IamApplication\n properties:\n name: reading-app\n policy:\n type: scaleway:IamPolicy\n properties:\n name: object-storage-policy\n applicationId: ${[\"reading-app\"].id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageBucketsRead\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n policyObjectBucketPolicy:\n type: scaleway:ObjectBucketPolicy\n name: policy\n properties:\n bucket: ${bucket.id}\n policy:\n fn::toJSON:\n Version: 2023-04-17\n Statement:\n - Sid: Delegate read access\n Effect: Allow\n Principal:\n SCW: application_id:${[\"reading-app\"].id}\n Action:\n - s3:ListBucket\n - s3:GetObject\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Reading the bucket with the application\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 reading-app = scaleway.getIamApplication({\n name: \"reading-app\",\n});\nconst reading_api_key = new scaleway.IamApiKey(\"reading-api-key\", {applicationId: reading_app.then(reading_app =\u003e reading_app.id)});\nconst bucket = scaleway.getObjectBucket({\n name: \"some-unique-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nreading_app = scaleway.get_iam_application(name=\"reading-app\")\nreading_api_key = scaleway.IamApiKey(\"reading-api-key\", application_id=reading_app.id)\nbucket = scaleway.get_object_bucket(name=\"some-unique-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 reading_app = Scaleway.GetIamApplication.Invoke(new()\n {\n Name = \"reading-app\",\n });\n\n var reading_api_key = new Scaleway.IamApiKey(\"reading-api-key\", new()\n {\n ApplicationId = reading_app.Apply(reading_app =\u003e reading_app.Apply(getIamApplicationResult =\u003e getIamApplicationResult.Id)),\n });\n\n var bucket = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = \"some-unique-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\treading_app, err := scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tName: pulumi.StringRef(\"reading-app\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamApiKey(ctx, \"reading-api-key\", \u0026scaleway.IamApiKeyArgs{\n\t\t\tApplicationId: pulumi.String(reading_app.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupObjectBucket(ctx, \u0026scaleway.LookupObjectBucketArgs{\n\t\t\tName: pulumi.StringRef(\"some-unique-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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamApplicationArgs;\nimport com.pulumi.scaleway.IamApiKey;\nimport com.pulumi.scaleway.IamApiKeyArgs;\nimport com.pulumi.scaleway.inputs.GetObjectBucketArgs;\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 reading-app = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .name(\"reading-app\")\n .build());\n\n var reading_api_key = new IamApiKey(\"reading-api-key\", IamApiKeyArgs.builder()\n .applicationId(reading_app.id())\n .build());\n\n final var bucket = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n reading-api-key:\n type: scaleway:IamApiKey\n properties:\n applicationId: ${[\"reading-app\"].id}\nvariables:\n reading-app:\n fn::invoke:\n Function: scaleway:getIamApplication\n Arguments:\n name: reading-app\n bucket:\n fn::invoke:\n Function: scaleway:getObjectBucket\n Arguments:\n name: some-unique-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with AWS provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\n// Scaleway project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\n// AWS data source\nconst policy = aws.iam.getPolicyDocumentOutput({\n version: \"2012-10-17\",\n statements: [{\n sid: \"Delegate access\",\n effect: \"Allow\",\n principals: [{\n type: \"SCW\",\n identifiers: [_default.then(_default =\u003e `project_id:${_default.id}`)],\n }],\n actions: [\"s3:ListBucket\"],\n resources: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n});\nconst main = new scaleway.ObjectBucketPolicy(\"main\", {\n bucket: bucket.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Scaleway project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\n# AWS data source\npolicy = aws.iam.get_policy_document_output(version=\"2012-10-17\",\n statements=[{\n \"sid\": \"Delegate access\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"SCW\",\n \"identifiers\": [f\"project_id:{default.id}\"],\n }],\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }])\nmain = scaleway.ObjectBucketPolicy(\"main\",\n bucket=bucket.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Scaleway project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n // AWS data source\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Version = \"2012-10-17\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Delegate access\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"SCW\",\n Identifiers = new[]\n {\n $\"project_id:{@default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)}\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n bucket.Name,\n $\"{bucket.Name}/*\",\n },\n },\n },\n });\n\n var main = new Scaleway.ObjectBucketPolicy(\"main\", new()\n {\n Bucket = bucket.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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// Scaleway project ID\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\t// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS data source\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tVersion: pulumi.String(\"2012-10-17\"),\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Delegate access\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"SCW\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"project_id:%v\", _default.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Name,\n\t\t\t\t\t\tbucket.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"main\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tPolicy: pulumi.String(policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\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 // Scaleway project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n // AWS data source\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .version(\"2012-10-17\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Delegate access\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"SCW\")\n .identifiers(String.format(\"project_id:%s\", default_.id()))\n .build())\n .actions(\"s3:ListBucket\")\n .resources( \n bucket.name(),\n bucket.name().applyValue(name -\u003e String.format(\"%s/*\", name)))\n .build())\n .build());\n\n var main = new ObjectBucketPolicy(\"main\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n main:\n type: scaleway:ObjectBucketPolicy\n properties:\n bucket: ${bucket.id}\n policy: ${policy.json}\nvariables:\n # Scaleway project ID\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n # AWS data source\n policy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n version: 2012-10-17\n statements:\n - sid: Delegate access\n effect: Allow\n principals:\n - type: SCW\n identifiers:\n - project_id:${default.id}\n actions:\n - s3:ListBucket\n resources:\n - ${bucket.name}\n - ${bucket.name}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with deprecated version 2012-10-17\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {\n name: \"mia-cross-crash-tests\",\n region: \"fr-par\",\n});\nconst policy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n ],\n Principal: {\n SCW: _default.then(_default =\u003e `project_id:${_default.id}`),\n },\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\",\n name=\"mia-cross-crash-tests\",\n region=\"fr-par\")\npolicy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n ],\n \"Principal\": {\n \"SCW\": f\"project_id:{default.id}\",\n },\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"mia-cross-crash-tests\",\n Region = \"fr-par\",\n });\n\n var policy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = @default.Apply(@default =\u003e $\"project_id:{@default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)}\"),\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"mia-cross-crash-tests\"),\n\t\t\tRegion: pulumi.String(\"fr-par\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tPolicy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucketName := _args[0].(string)\n\t\t\t\tbucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t\t\"s3:GetObjectTagging\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"project_id:%v\", _default.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"mia-cross-crash-tests\")\n .region(\"fr-par\")\n .build());\n\n var policy = new ObjectBucketPolicy(\"policy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.name())\n .policy(Output.tuple(bucket.name(), bucket.name()).applyValue(values -\u003e {\n var bucketName = values.t1;\n var bucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListBucket\", \n \"s3:GetObjectTagging\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"project_id:%s\", default_.id()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: mia-cross-crash-tests\n region: fr-par\n policy:\n type: scaleway:ObjectBucketPolicy\n properties:\n bucket: ${bucket.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - s3:ListBucket\n - s3:GetObjectTagging\n Principal:\n SCW: project_id:${default.id}\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n Function: scaleway:getAccountProject\n Arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**NB:** To configure the AWS provider with Scaleway credentials, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/object-storage-aws-cli/).\n\n## Import\n\nBucket policies can be imported using the `{region}/{bucketName}` identifier, as shown below:\n\nbash\n\n```sh\n$ pulumi import scaleway:index/objectBucketPolicy:ObjectBucketPolicy some_bucket fr-par/some-bucket\n```\n\n~\u003e **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.\n\nIf you are using a project different from the default one, you have to specify the project ID at the end of the import command.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/objectBucketPolicy:ObjectBucketPolicy some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx\n```\n\n", + "description": "The `scaleway.ObjectBucketPolicy` resource allows you to create and manage bucket policies for [Scaleway Object storage](https://www.scaleway.com/en/docs/storage/object/).\n\nRefer to the [dedicated documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/) for more information on Object Storage bucket policies.\n\n## Example Usage\n\n### Example Usage with an IAM user\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// IAM configuration\nconst user = scaleway.getIamUser({\n email: \"user@scaleway.com\",\n});\nconst policy = new scaleway.IamPolicy(\"policy\", {\n name: \"object-storage-policy\",\n userId: user.then(user =\u003e user.id),\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageFullAccess\"],\n }],\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\nconst policyObjectBucketPolicy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2023-04-17\",\n Id: \"MyBucketPolicy\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"s3:*\"],\n Principal: {\n SCW: user.then(user =\u003e `user_id:${user.id}`),\n },\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# IAM configuration\nuser = scaleway.get_iam_user(email=\"user@scaleway.com\")\npolicy = scaleway.IamPolicy(\"policy\",\n name=\"object-storage-policy\",\n user_id=user.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageFullAccess\"],\n }])\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\npolicy_object_bucket_policy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2023-04-17\",\n \"Id\": \"MyBucketPolicy\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"s3:*\"],\n \"Principal\": {\n \"SCW\": f\"user_id:{user.id}\",\n },\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // IAM configuration\n var user = Scaleway.GetIamUser.Invoke(new()\n {\n Email = \"user@scaleway.com\",\n });\n\n var policy = new Scaleway.IamPolicy(\"policy\", new()\n {\n Name = \"object-storage-policy\",\n UserId = user.Apply(getIamUserResult =\u003e getIamUserResult.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 \"ObjectStorageFullAccess\",\n },\n },\n },\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n var policyObjectBucketPolicy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2023-04-17\",\n [\"Id\"] = \"MyBucketPolicy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:*\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = $\"user_id:{user.Apply(getIamUserResult =\u003e getIamUserResult.Id)}\",\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// IAM configuration\n\t\tuser, err := scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tEmail: pulumi.StringRef(\"user@scaleway.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"policy\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"object-storage-policy\"),\n\t\t\tUserId: pulumi.String(user.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(\"ObjectStorageFullAccess\"),\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// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tPolicy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucketName := _args[0].(string)\n\t\t\t\tbucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2023-04-17\",\n\t\t\t\t\t\"Id\": \"MyBucketPolicy\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"user_id:%v\", user.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.inputs.GetIamUserArgs;\nimport com.pulumi.scaleway.IamPolicy;\nimport com.pulumi.scaleway.IamPolicyArgs;\nimport com.pulumi.scaleway.inputs.IamPolicyRuleArgs;\nimport com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // IAM configuration\n final var user = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"user@scaleway.com\")\n .build());\n\n var policy = new IamPolicy(\"policy\", IamPolicyArgs.builder()\n .name(\"object-storage-policy\")\n .userId(user.applyValue(getIamUserResult -\u003e getIamUserResult.id()))\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageFullAccess\")\n .build())\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n var policyObjectBucketPolicy = new ObjectBucketPolicy(\"policyObjectBucketPolicy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.name())\n .policy(Output.tuple(bucket.name(), bucket.name()).applyValue(values -\u003e {\n var bucketName = values.t1;\n var bucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2023-04-17\"),\n jsonProperty(\"Id\", \"MyBucketPolicy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"s3:*\")),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"user_id:%s\", user.applyValue(getIamUserResult -\u003e getIamUserResult.id())))\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n policy:\n type: scaleway:IamPolicy\n properties:\n name: object-storage-policy\n userId: ${user.id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageFullAccess\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n policyObjectBucketPolicy:\n type: scaleway:ObjectBucketPolicy\n name: policy\n properties:\n bucket: ${bucket.name}\n policy:\n fn::toJSON:\n Version: 2023-04-17\n Id: MyBucketPolicy\n Statement:\n - Effect: Allow\n Action:\n - s3:*\n Principal:\n SCW: user_id:${user.id}\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n # IAM configuration\n user:\n fn::invoke:\n function: scaleway:getIamUser\n arguments:\n email: user@scaleway.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with an IAM application\n\n### Creating a bucket and delegating read access to an application\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// IAM configuration\nconst reading_app = new scaleway.IamApplication(\"reading-app\", {name: \"reading-app\"});\nconst policy = new scaleway.IamPolicy(\"policy\", {\n name: \"object-storage-policy\",\n applicationId: reading_app.id,\n rules: [{\n projectIds: [_default.then(_default =\u003e _default.id)],\n permissionSetNames: [\"ObjectStorageBucketsRead\"],\n }],\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\nconst policyObjectBucketPolicy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.id,\n policy: pulumi.jsonStringify({\n Version: \"2023-04-17\",\n Statement: [{\n Sid: \"Delegate read access\",\n Effect: \"Allow\",\n Principal: {\n SCW: pulumi.interpolate`application_id:${reading_app.id}`,\n },\n Action: [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# IAM configuration\nreading_app = scaleway.IamApplication(\"reading-app\", name=\"reading-app\")\npolicy = scaleway.IamPolicy(\"policy\",\n name=\"object-storage-policy\",\n application_id=reading_app.id,\n rules=[{\n \"project_ids\": [default.id],\n \"permission_set_names\": [\"ObjectStorageBucketsRead\"],\n }])\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\npolicy_object_bucket_policy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.id,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2023-04-17\",\n \"Statement\": [{\n \"Sid\": \"Delegate read access\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"SCW\": reading_app.id.apply(lambda id: f\"application_id:{id}\"),\n },\n \"Action\": [\n \"s3:ListBucket\",\n \"s3:GetObject\",\n ],\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // IAM configuration\n var reading_app = new Scaleway.IamApplication(\"reading-app\", new()\n {\n Name = \"reading-app\",\n });\n\n var policy = new Scaleway.IamPolicy(\"policy\", new()\n {\n Name = \"object-storage-policy\",\n ApplicationId = reading_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 \"ObjectStorageBucketsRead\",\n },\n },\n },\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n var policyObjectBucketPolicy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Id,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2023-04-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Delegate read access\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = reading_app.Id.Apply(id =\u003e $\"application_id:{id}\"),\n },\n [\"Action\"] = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObject\",\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// IAM configuration\n\t\t_, err = scaleway.NewIamApplication(ctx, \"reading-app\", \u0026scaleway.IamApplicationArgs{\n\t\t\tName: pulumi.String(\"reading-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamPolicy(ctx, \"policy\", \u0026scaleway.IamPolicyArgs{\n\t\t\tName: pulumi.String(\"object-storage-policy\"),\n\t\t\tApplicationId: reading_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(\"ObjectStorageBucketsRead\"),\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// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tPolicy: pulumi.All(reading_app.ID(), bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tbucketName := _args[1].(string)\n\t\t\t\tbucketName1 := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2023-04-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Delegate read access\",\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"application_id:%v\", id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t\t\"s3:GetObject\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.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 com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // IAM configuration\n var reading_app = new IamApplication(\"reading-app\", IamApplicationArgs.builder()\n .name(\"reading-app\")\n .build());\n\n var policy = new IamPolicy(\"policy\", IamPolicyArgs.builder()\n .name(\"object-storage-policy\")\n .applicationId(reading_app.id())\n .rules(IamPolicyRuleArgs.builder()\n .projectIds(default_.id())\n .permissionSetNames(\"ObjectStorageBucketsRead\")\n .build())\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n var policyObjectBucketPolicy = new ObjectBucketPolicy(\"policyObjectBucketPolicy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(Output.tuple(reading_app.id(), bucket.name(), bucket.name()).applyValue(values -\u003e {\n var id = values.t1;\n var bucketName = values.t2;\n var bucketName1 = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2023-04-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"Delegate read access\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"application_id:%s\", id))\n )),\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListBucket\", \n \"s3:GetObject\"\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # IAM configuration\n reading-app:\n type: scaleway:IamApplication\n properties:\n name: reading-app\n policy:\n type: scaleway:IamPolicy\n properties:\n name: object-storage-policy\n applicationId: ${[\"reading-app\"].id}\n rules:\n - projectIds:\n - ${default.id}\n permissionSetNames:\n - ObjectStorageBucketsRead\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n policyObjectBucketPolicy:\n type: scaleway:ObjectBucketPolicy\n name: policy\n properties:\n bucket: ${bucket.id}\n policy:\n fn::toJSON:\n Version: 2023-04-17\n Statement:\n - Sid: Delegate read access\n Effect: Allow\n Principal:\n SCW: application_id:${[\"reading-app\"].id}\n Action:\n - s3:ListBucket\n - s3:GetObject\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Reading the bucket with the application\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 reading-app = scaleway.getIamApplication({\n name: \"reading-app\",\n});\nconst reading_api_key = new scaleway.IamApiKey(\"reading-api-key\", {applicationId: reading_app.then(reading_app =\u003e reading_app.id)});\nconst bucket = scaleway.getObjectBucket({\n name: \"some-unique-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nreading_app = scaleway.get_iam_application(name=\"reading-app\")\nreading_api_key = scaleway.IamApiKey(\"reading-api-key\", application_id=reading_app.id)\nbucket = scaleway.get_object_bucket(name=\"some-unique-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 reading_app = Scaleway.GetIamApplication.Invoke(new()\n {\n Name = \"reading-app\",\n });\n\n var reading_api_key = new Scaleway.IamApiKey(\"reading-api-key\", new()\n {\n ApplicationId = reading_app.Apply(reading_app =\u003e reading_app.Apply(getIamApplicationResult =\u003e getIamApplicationResult.Id)),\n });\n\n var bucket = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = \"some-unique-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\treading_app, err := scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tName: pulumi.StringRef(\"reading-app\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewIamApiKey(ctx, \"reading-api-key\", \u0026scaleway.IamApiKeyArgs{\n\t\t\tApplicationId: pulumi.String(reading_app.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupObjectBucket(ctx, \u0026scaleway.LookupObjectBucketArgs{\n\t\t\tName: pulumi.StringRef(\"some-unique-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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIamApplicationArgs;\nimport com.pulumi.scaleway.IamApiKey;\nimport com.pulumi.scaleway.IamApiKeyArgs;\nimport com.pulumi.scaleway.inputs.GetObjectBucketArgs;\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 reading-app = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .name(\"reading-app\")\n .build());\n\n var reading_api_key = new IamApiKey(\"reading-api-key\", IamApiKeyArgs.builder()\n .applicationId(reading_app.id())\n .build());\n\n final var bucket = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n reading-api-key:\n type: scaleway:IamApiKey\n properties:\n applicationId: ${[\"reading-app\"].id}\nvariables:\n reading-app:\n fn::invoke:\n function: scaleway:getIamApplication\n arguments:\n name: reading-app\n bucket:\n fn::invoke:\n function: scaleway:getObjectBucket\n arguments:\n name: some-unique-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with AWS provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as scaleway from \"@pulumi/scaleway\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\n// Scaleway project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {name: \"some-unique-name\"});\n// AWS data source\nconst policy = aws.iam.getPolicyDocumentOutput({\n version: \"2012-10-17\",\n statements: [{\n sid: \"Delegate access\",\n effect: \"Allow\",\n principals: [{\n type: \"SCW\",\n identifiers: [_default.then(_default =\u003e `project_id:${_default.id}`)],\n }],\n actions: [\"s3:ListBucket\"],\n resources: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n});\nconst main = new scaleway.ObjectBucketPolicy(\"main\", {\n bucket: bucket.id,\n policy: policy.apply(policy =\u003e policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Scaleway project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\", name=\"some-unique-name\")\n# AWS data source\npolicy = aws.iam.get_policy_document_output(version=\"2012-10-17\",\n statements=[{\n \"sid\": \"Delegate access\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"SCW\",\n \"identifiers\": [f\"project_id:{default.id}\"],\n }],\n \"actions\": [\"s3:ListBucket\"],\n \"resources\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }])\nmain = scaleway.ObjectBucketPolicy(\"main\",\n bucket=bucket.id,\n policy=policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Scaleway project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"some-unique-name\",\n });\n\n // AWS data source\n var policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Version = \"2012-10-17\",\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"Delegate access\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"SCW\",\n Identifiers = new[]\n {\n $\"project_id:{@default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)}\",\n },\n },\n },\n Actions = new[]\n {\n \"s3:ListBucket\",\n },\n Resources = new[]\n {\n bucket.Name,\n $\"{bucket.Name}/*\",\n },\n },\n },\n });\n\n var main = new Scaleway.ObjectBucketPolicy(\"main\", new()\n {\n Bucket = bucket.Id,\n Policy = policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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// Scaleway project ID\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\t// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"some-unique-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS data source\n\t\tpolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tVersion: pulumi.String(\"2012-10-17\"),\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"Delegate access\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"SCW\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.Sprintf(\"project_id:%v\", _default.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tbucket.Name,\n\t\t\t\t\t\tbucket.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"main\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.ID(),\n\t\t\tPolicy: pulumi.String(policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026policy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\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 // Scaleway project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"some-unique-name\")\n .build());\n\n // AWS data source\n final var policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .version(\"2012-10-17\")\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Delegate access\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"SCW\")\n .identifiers(String.format(\"project_id:%s\", default_.id()))\n .build())\n .actions(\"s3:ListBucket\")\n .resources( \n bucket.name(),\n bucket.name().applyValue(name -\u003e String.format(\"%s/*\", name)))\n .build())\n .build());\n\n var main = new ObjectBucketPolicy(\"main\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.id())\n .policy(policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(policy -\u003e policy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: some-unique-name\n main:\n type: scaleway:ObjectBucketPolicy\n properties:\n bucket: ${bucket.id}\n policy: ${policy.json}\nvariables:\n # Scaleway project ID\n default:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n # AWS data source\n policy:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n version: 2012-10-17\n statements:\n - sid: Delegate access\n effect: Allow\n principals:\n - type: SCW\n identifiers:\n - project_id:${default.id}\n actions:\n - s3:ListBucket\n resources:\n - ${bucket.name}\n - ${bucket.name}/*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example with deprecated version 2012-10-17\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// Project ID\nconst default = scaleway.getAccountProject({\n name: \"default\",\n});\n// Object storage configuration\nconst bucket = new scaleway.ObjectBucket(\"bucket\", {\n name: \"mia-cross-crash-tests\",\n region: \"fr-par\",\n});\nconst policy = new scaleway.ObjectBucketPolicy(\"policy\", {\n bucket: bucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n ],\n Principal: {\n SCW: _default.then(_default =\u003e `project_id:${_default.id}`),\n },\n Resource: [\n bucket.name,\n pulumi.interpolate`${bucket.name}/*`,\n ],\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Project ID\ndefault = scaleway.get_account_project(name=\"default\")\n# Object storage configuration\nbucket = scaleway.ObjectBucket(\"bucket\",\n name=\"mia-cross-crash-tests\",\n region=\"fr-par\")\npolicy = scaleway.ObjectBucketPolicy(\"policy\",\n bucket=bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n ],\n \"Principal\": {\n \"SCW\": f\"project_id:{default.id}\",\n },\n \"Resource\": [\n bucket.name,\n bucket.name.apply(lambda name: f\"{name}/*\"),\n ],\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Project ID\n var @default = Scaleway.GetAccountProject.Invoke(new()\n {\n Name = \"default\",\n });\n\n // Object storage configuration\n var bucket = new Scaleway.ObjectBucket(\"bucket\", new()\n {\n Name = \"mia-cross-crash-tests\",\n Region = \"fr-par\",\n });\n\n var policy = new Scaleway.ObjectBucketPolicy(\"policy\", new()\n {\n Bucket = bucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"s3:ListBucket\",\n \"s3:GetObjectTagging\",\n },\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SCW\"] = @default.Apply(@default =\u003e $\"project_id:{@default.Apply(getAccountProjectResult =\u003e getAccountProjectResult.Id)}\"),\n },\n [\"Resource\"] = new[]\n {\n bucket.Name,\n bucket.Name.Apply(name =\u003e $\"{name}/*\"),\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/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// Project ID\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\t// Object storage configuration\n\t\tbucket, err := scaleway.NewObjectBucket(ctx, \"bucket\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"mia-cross-crash-tests\"),\n\t\t\tRegion: pulumi.String(\"fr-par\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewObjectBucketPolicy(ctx, \"policy\", \u0026scaleway.ObjectBucketPolicyArgs{\n\t\t\tBucket: bucket.Name,\n\t\t\tPolicy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tbucketName := _args[0].(string)\n\t\t\t\tbucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\t\t\"s3:GetObjectTagging\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"SCW\": fmt.Sprintf(\"project_id:%v\", _default.Id),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tbucketName,\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v/*\", bucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetAccountProjectArgs;\nimport com.pulumi.scaleway.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ObjectBucketPolicy;\nimport com.pulumi.scaleway.ObjectBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Project ID\n final var default = ScalewayFunctions.getAccountProject(GetAccountProjectArgs.builder()\n .name(\"default\")\n .build());\n\n // Object storage configuration\n var bucket = new ObjectBucket(\"bucket\", ObjectBucketArgs.builder()\n .name(\"mia-cross-crash-tests\")\n .region(\"fr-par\")\n .build());\n\n var policy = new ObjectBucketPolicy(\"policy\", ObjectBucketPolicyArgs.builder()\n .bucket(bucket.name())\n .policy(Output.tuple(bucket.name(), bucket.name()).applyValue(values -\u003e {\n var bucketName = values.t1;\n var bucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListBucket\", \n \"s3:GetObjectTagging\"\n )),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"SCW\", String.format(\"project_id:%s\", default_.id()))\n )),\n jsonProperty(\"Resource\", jsonArray(\n bucketName, \n String.format(\"%s/*\", bucketName1)\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Object storage configuration\n bucket:\n type: scaleway:ObjectBucket\n properties:\n name: mia-cross-crash-tests\n region: fr-par\n policy:\n type: scaleway:ObjectBucketPolicy\n properties:\n bucket: ${bucket.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Effect: Allow\n Action:\n - s3:ListBucket\n - s3:GetObjectTagging\n Principal:\n SCW: project_id:${default.id}\n Resource:\n - ${bucket.name}\n - ${bucket.name}/*\nvariables:\n # Project ID\n default:\n fn::invoke:\n function: scaleway:getAccountProject\n arguments:\n name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**NB:** To configure the AWS provider with Scaleway credentials, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/object-storage-aws-cli/).\n\n## Import\n\nBucket policies can be imported using the `{region}/{bucketName}` identifier, as shown below:\n\nbash\n\n```sh\n$ pulumi import scaleway:index/objectBucketPolicy:ObjectBucketPolicy some_bucket fr-par/some-bucket\n```\n\n~\u003e **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.\n\nIf you are using a project different from the default one, you have to specify the project ID at the end of the import command.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/objectBucketPolicy:ObjectBucketPolicy some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx\n```\n\n", "properties": { "bucket": { "type": "string", @@ -18803,6 +18830,11 @@ "type": "string", "description": "The Scaleway region the bucket resides in.\n" }, + "sseCustomerKey": { + "type": "string", + "description": "Customer's encryption keys to encrypt data (SSE-C)\n", + "secret": true + }, "storageClass": { "type": "string", "description": "Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.\n" @@ -18868,6 +18900,11 @@ "description": "The Scaleway region the bucket resides in.\n", "willReplaceOnChanges": true }, + "sseCustomerKey": { + "type": "string", + "description": "Customer's encryption keys to encrypt data (SSE-C)\n", + "secret": true + }, "storageClass": { "type": "string", "description": "Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.\n" @@ -18932,6 +18969,11 @@ "description": "The Scaleway region the bucket resides in.\n", "willReplaceOnChanges": true }, + "sseCustomerKey": { + "type": "string", + "description": "Customer's encryption keys to encrypt data (SSE-C)\n", + "secret": true + }, "storageClass": { "type": "string", "description": "Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object.\n" @@ -18952,7 +18994,7 @@ } }, "scaleway:index/redisCluster:RedisCluster": { - "description": "Creates and manages Scaleway Redis™ clusters.\nFor more information refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-redis).\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.RedisCluster(\"main\", {\n name: \"test_redis_basic\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n tags: [\n \"test\",\n \"redis\",\n ],\n clusterSize: 1,\n tlsEnabled: true,\n acls: [{\n ip: \"0.0.0.0/0\",\n description: \"Allow all\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_basic\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n tags=[\n \"test\",\n \"redis\",\n ],\n cluster_size=1,\n tls_enabled=True,\n acls=[{\n \"ip\": \"0.0.0.0/0\",\n \"description\": \"Allow all\",\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.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_basic\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n Tags = new[]\n {\n \"test\",\n \"redis\",\n },\n ClusterSize = 1,\n TlsEnabled = true,\n Acls = new[]\n {\n new Scaleway.Inputs.RedisClusterAclArgs\n {\n Ip = \"0.0.0.0/0\",\n Description = \"Allow all\",\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.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_basic\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\tpulumi.String(\"redis\"),\n\t\t\t},\n\t\t\tClusterSize: pulumi.Int(1),\n\t\t\tTlsEnabled: pulumi.Bool(true),\n\t\t\tAcls: scaleway.RedisClusterAclArray{\n\t\t\t\t\u0026scaleway.RedisClusterAclArgs{\n\t\t\t\t\tIp: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tDescription: pulumi.String(\"Allow all\"),\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.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterAclArgs;\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 RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_basic\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .tags( \n \"test\",\n \"redis\")\n .clusterSize(1)\n .tlsEnabled(\"true\")\n .acls(RedisClusterAclArgs.builder()\n .ip(\"0.0.0.0/0\")\n .description(\"Allow all\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_basic\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n tags:\n - test\n - redis\n clusterSize: 1\n tlsEnabled: 'true'\n acls:\n - ip: 0.0.0.0/0\n description: Allow all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With settings\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.RedisCluster(\"main\", {\n name: \"test_redis_basic\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n settings: {\n maxclients: \"1000\",\n \"tcp-keepalive\": \"120\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_basic\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n settings={\n \"maxclients\": \"1000\",\n \"tcp-keepalive\": \"120\",\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.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_basic\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n Settings = \n {\n { \"maxclients\", \"1000\" },\n { \"tcp-keepalive\", \"120\" },\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.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_basic\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tSettings: pulumi.StringMap{\n\t\t\t\t\"maxclients\": pulumi.String(\"1000\"),\n\t\t\t\t\"tcp-keepalive\": pulumi.String(\"120\"),\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.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\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 RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_basic\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .settings(Map.ofEntries(\n Map.entry(\"maxclients\", \"1000\"),\n Map.entry(\"tcp-keepalive\", \"120\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_basic\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n settings:\n maxclients: '1000'\n tcp-keepalive: '120'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Private Network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {name: \"private-network\"});\nconst main = new scaleway.RedisCluster(\"main\", {\n name: \"test_redis_endpoints\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n clusterSize: 1,\n privateNetworks: [{\n id: pn.id,\n serviceIps: [\"10.12.1.1/20\"],\n }],\n}, {\n dependsOn: [pn],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\", name=\"private-network\")\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_endpoints\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n cluster_size=1,\n private_networks=[{\n \"id\": pn.id,\n \"service_ips\": [\"10.12.1.1/20\"],\n }],\n opts = pulumi.ResourceOptions(depends_on=[pn]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\", new()\n {\n Name = \"private-network\",\n });\n\n var main = new Scaleway.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_endpoints\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n ClusterSize = 1,\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.RedisClusterPrivateNetworkArgs\n {\n Id = pn.Id,\n ServiceIps = new[]\n {\n \"10.12.1.1/20\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_endpoints\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tClusterSize: pulumi.Int(1),\n\t\t\tPrivateNetworks: scaleway.RedisClusterPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.RedisClusterPrivateNetworkArgs{\n\t\t\t\t\tId: pn.ID(),\n\t\t\t\t\tServiceIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.12.1.1/20\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpn,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterPrivateNetworkArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\", VpcPrivateNetworkArgs.builder()\n .name(\"private-network\")\n .build());\n\n var main = new RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_endpoints\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .clusterSize(1)\n .privateNetworks(RedisClusterPrivateNetworkArgs.builder()\n .id(pn.id())\n .serviceIps(\"10.12.1.1/20\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(pn)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private-network\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_endpoints\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n clusterSize: 1\n privateNetworks:\n - id: ${pn.id}\n serviceIps:\n - 10.12.1.1/20\n options:\n dependson:\n - ${pn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRedis™ cluster can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/redisCluster:RedisCluster main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Redis™ clusters.\nFor more information refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-redis).\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.RedisCluster(\"main\", {\n name: \"test_redis_basic\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n tags: [\n \"test\",\n \"redis\",\n ],\n clusterSize: 1,\n tlsEnabled: true,\n acls: [{\n ip: \"0.0.0.0/0\",\n description: \"Allow all\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_basic\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n tags=[\n \"test\",\n \"redis\",\n ],\n cluster_size=1,\n tls_enabled=True,\n acls=[{\n \"ip\": \"0.0.0.0/0\",\n \"description\": \"Allow all\",\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.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_basic\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n Tags = new[]\n {\n \"test\",\n \"redis\",\n },\n ClusterSize = 1,\n TlsEnabled = true,\n Acls = new[]\n {\n new Scaleway.Inputs.RedisClusterAclArgs\n {\n Ip = \"0.0.0.0/0\",\n Description = \"Allow all\",\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.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_basic\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\tpulumi.String(\"redis\"),\n\t\t\t},\n\t\t\tClusterSize: pulumi.Int(1),\n\t\t\tTlsEnabled: pulumi.Bool(true),\n\t\t\tAcls: scaleway.RedisClusterAclArray{\n\t\t\t\t\u0026scaleway.RedisClusterAclArgs{\n\t\t\t\t\tIp: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tDescription: pulumi.String(\"Allow all\"),\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.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterAclArgs;\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 RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_basic\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .tags( \n \"test\",\n \"redis\")\n .clusterSize(1)\n .tlsEnabled(\"true\")\n .acls(RedisClusterAclArgs.builder()\n .ip(\"0.0.0.0/0\")\n .description(\"Allow all\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_basic\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n tags:\n - test\n - redis\n clusterSize: 1\n tlsEnabled: 'true'\n acls:\n - ip: 0.0.0.0/0\n description: Allow all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With settings\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.RedisCluster(\"main\", {\n name: \"test_redis_basic\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n settings: {\n maxclients: \"1000\",\n \"tcp-keepalive\": \"120\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_basic\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n settings={\n \"maxclients\": \"1000\",\n \"tcp-keepalive\": \"120\",\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.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_basic\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n Settings = \n {\n { \"maxclients\", \"1000\" },\n { \"tcp-keepalive\", \"120\" },\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.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_basic\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tSettings: pulumi.StringMap{\n\t\t\t\t\"maxclients\": pulumi.String(\"1000\"),\n\t\t\t\t\"tcp-keepalive\": pulumi.String(\"120\"),\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.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\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 RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_basic\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .settings(Map.ofEntries(\n Map.entry(\"maxclients\", \"1000\"),\n Map.entry(\"tcp-keepalive\", \"120\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_basic\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n settings:\n maxclients: '1000'\n tcp-keepalive: '120'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With a Private Network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {name: \"private-network\"});\nconst main = new scaleway.RedisCluster(\"main\", {\n name: \"test_redis_endpoints\",\n version: \"6.2.7\",\n nodeType: \"RED1-MICRO\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n clusterSize: 1,\n privateNetworks: [{\n id: pn.id,\n serviceIps: [\"10.12.1.1/20\"],\n }],\n}, {\n dependsOn: [pn],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\", name=\"private-network\")\nmain = scaleway.RedisCluster(\"main\",\n name=\"test_redis_endpoints\",\n version=\"6.2.7\",\n node_type=\"RED1-MICRO\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n cluster_size=1,\n private_networks=[{\n \"id\": pn.id,\n \"service_ips\": [\"10.12.1.1/20\"],\n }],\n opts = pulumi.ResourceOptions(depends_on=[pn]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\", new()\n {\n Name = \"private-network\",\n });\n\n var main = new Scaleway.RedisCluster(\"main\", new()\n {\n Name = \"test_redis_endpoints\",\n Version = \"6.2.7\",\n NodeType = \"RED1-MICRO\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n ClusterSize = 1,\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.RedisClusterPrivateNetworkArgs\n {\n Id = pn.Id,\n ServiceIps = new[]\n {\n \"10.12.1.1/20\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewRedisCluster(ctx, \"main\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"test_redis_endpoints\"),\n\t\t\tVersion: pulumi.String(\"6.2.7\"),\n\t\t\tNodeType: pulumi.String(\"RED1-MICRO\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tClusterSize: pulumi.Int(1),\n\t\t\tPrivateNetworks: scaleway.RedisClusterPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.RedisClusterPrivateNetworkArgs{\n\t\t\t\t\tId: pn.ID(),\n\t\t\t\t\tServiceIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.12.1.1/20\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpn,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterPrivateNetworkArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pn = new VpcPrivateNetwork(\"pn\", VpcPrivateNetworkArgs.builder()\n .name(\"private-network\")\n .build());\n\n var main = new RedisCluster(\"main\", RedisClusterArgs.builder()\n .name(\"test_redis_endpoints\")\n .version(\"6.2.7\")\n .nodeType(\"RED1-MICRO\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .clusterSize(1)\n .privateNetworks(RedisClusterPrivateNetworkArgs.builder()\n .id(pn.id())\n .serviceIps(\"10.12.1.1/20\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(pn)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private-network\n main:\n type: scaleway:RedisCluster\n properties:\n name: test_redis_endpoints\n version: 6.2.7\n nodeType: RED1-MICRO\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n clusterSize: 1\n privateNetworks:\n - id: ${pn.id}\n serviceIps:\n - 10.12.1.1/20\n options:\n dependsOn:\n - ${pn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRedis™ cluster can be imported using the `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/redisCluster:RedisCluster main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "acls": { "type": "array", @@ -18967,7 +19009,7 @@ }, "clusterSize": { "type": "integer", - "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode\nwhich is minimum 3 (1 main node + 2 secondary nodes)\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" + "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:**\n\n- Cluster_size = 1 for Standalone mode (single node).\n\n- Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node.\n\n- Cluster_size \u003e= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes.\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" }, "createdAt": { "type": "string", @@ -19060,7 +19102,7 @@ }, "clusterSize": { "type": "integer", - "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode\nwhich is minimum 3 (1 main node + 2 secondary nodes)\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" + "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:**\n\n- Cluster_size = 1 for Standalone mode (single node).\n\n- Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node.\n\n- Cluster_size \u003e= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes.\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" }, "name": { "type": "string", @@ -19146,7 +19188,7 @@ }, "clusterSize": { "type": "integer", - "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode\nwhich is minimum 3 (1 main node + 2 secondary nodes)\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" + "description": "The number of nodes in the Redis™ cluster.\n\n\u003e **Important:**\n\n- Cluster_size = 1 for Standalone mode (single node).\n\n- Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node.\n\n- Cluster_size \u003e= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes.\n\n\u003e **Important:** If you are using the cluster mode (\u003e=3 nodes), you can set a bigger `cluster_size` than you initially\ndid, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller\n`cluster_size` will destroy and recreate your cluster.\n\n\u003e **Important:** If you are using the Standalone mode (1 node), setting a bigger `cluster_size` will destroy and\nrecreate your cluster as you will be switching to the cluster mode.\n" }, "createdAt": { "type": "string", @@ -20056,7 +20098,7 @@ } }, "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", + "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", @@ -20340,7 +20382,7 @@ }, "enableDhcp": { "type": "boolean", - "description": "WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" + "description": "Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" }, "enableMasquerade": { "type": "boolean", @@ -20404,7 +20446,7 @@ }, "enableDhcp": { "type": "boolean", - "description": "WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" + "description": "Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" }, "enableMasquerade": { "type": "boolean", @@ -20458,7 +20500,7 @@ }, "enableDhcp": { "type": "boolean", - "description": "WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" + "description": "Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.\n" }, "enableMasquerade": { "type": "boolean", @@ -21174,7 +21216,7 @@ } }, "scaleway:index/vpcPublicGatewayDhcpReservation:VpcPublicGatewayDhcpReservation": { - "description": "Creates and manages [Scaleway DHCP Reservations](https://www.scaleway.com/en/docs/network/vpc/concepts/#dhcp).\n\nThese static associations are used to assign IP addresses based on the MAC addresses of the resource.\n\nStatically assigned IP addresses should fall within the configured subnet, but be outside of the dynamic range.\n\nFor more information, see [the API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#dhcp-c05544).\n\n[DHCP reservations](https://www.scaleway.com/en/developers/api/public-gateway/#dhcp-entries-e40fb6) hold both dynamic DHCP leases (IP addresses dynamically assigned by the gateway to resources) and static user-created DHCP reservations.\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 main = new scaleway.VpcPrivateNetwork(\"main\", {name: \"your_private_network\"});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n privateNetworks: [{\n pnId: main.id,\n }],\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n}, {\n dependsOn: [\n mainVpcPublicGatewayIp,\n main,\n ],\n});\nconst mainVpcPublicGatewayDhcpReservation = new scaleway.VpcPublicGatewayDhcpReservation(\"main\", {\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n macAddress: mainInstanceServer.privateNetworks.apply(privateNetworks =\u003e privateNetworks?.[0]?.macAddress),\n ipAddress: \"192.168.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\", name=\"your_private_network\")\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\",\n private_networks=[{\n \"pn_id\": main.id,\n }])\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True,\n opts = pulumi.ResourceOptions(depends_on=[\n main_vpc_public_gateway_ip,\n main,\n ]))\nmain_vpc_public_gateway_dhcp_reservation = scaleway.VpcPublicGatewayDhcpReservation(\"main\",\n gateway_network_id=main_vpc_gateway_network.id,\n mac_address=main_instance_server.private_networks[0].mac_address,\n ip_address=\"192.168.1.1\")\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.VpcPrivateNetwork(\"main\", new()\n {\n Name = \"your_private_network\",\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.InstanceServerPrivateNetworkArgs\n {\n PnId = main.Id,\n },\n },\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainVpcPublicGatewayIp,\n main,\n },\n });\n\n var mainVpcPublicGatewayDhcpReservation = new Scaleway.VpcPublicGatewayDhcpReservation(\"main\", new()\n {\n GatewayNetworkId = mainVpcGatewayNetwork.Id,\n MacAddress = mainInstanceServer.PrivateNetworks.Apply(privateNetworks =\u003e privateNetworks[0]?.MacAddress),\n IpAddress = \"192.168.1.1\",\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.NewVpcPrivateNetwork(ctx, \"main\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"your_private_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tPrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.InstanceServerPrivateNetworkArgs{\n\t\t\t\t\tPnId: main.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainVpcPublicGatewayIp,\n\t\t\tmain,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t\tMacAddress: pulumi.String(mainInstanceServer.PrivateNetworks.ApplyT(func(privateNetworks []scaleway.InstanceServerPrivateNetwork) (*string, error) {\n\t\t\t\treturn \u0026privateNetworks[0].MacAddress, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tIpAddress: pulumi.String(\"192.168.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new VpcPrivateNetwork(\"main\", VpcPrivateNetworkArgs.builder()\n .name(\"your_private_network\")\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .privateNetworks(InstanceServerPrivateNetworkArgs.builder()\n .pnId(main.id())\n .build())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n mainVpcPublicGatewayIp,\n main)\n .build());\n\n var mainVpcPublicGatewayDhcpReservation = new VpcPublicGatewayDhcpReservation(\"mainVpcPublicGatewayDhcpReservation\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .macAddress(mainInstanceServer.privateNetworks().applyValue(privateNetworks -\u003e privateNetworks[0].macAddress()))\n .ipAddress(\"192.168.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: your_private_network\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n privateNetworks:\n - pnId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\n options:\n dependson:\n - ${mainVpcPublicGatewayIp}\n - ${main}\n mainVpcPublicGatewayDhcpReservation:\n type: scaleway:VpcPublicGatewayDhcpReservation\n name: main\n properties:\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n macAddress: ${mainInstanceServer.privateNetworks[0].macAddress}\n ipAddress: 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPublic Gateway DHCP reservation configurations can be imported using `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/vpcPublicGatewayDhcpReservation:VpcPublicGatewayDhcpReservation main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages [Scaleway DHCP Reservations](https://www.scaleway.com/en/docs/network/vpc/concepts/#dhcp).\n\nThese static associations are used to assign IP addresses based on the MAC addresses of the resource.\n\nStatically assigned IP addresses should fall within the configured subnet, but be outside of the dynamic range.\n\nFor more information, see [the API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#dhcp-c05544).\n\n[DHCP reservations](https://www.scaleway.com/en/developers/api/public-gateway/#dhcp-entries-e40fb6) hold both dynamic DHCP leases (IP addresses dynamically assigned by the gateway to resources) and static user-created DHCP reservations.\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 main = new scaleway.VpcPrivateNetwork(\"main\", {name: \"your_private_network\"});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n privateNetworks: [{\n pnId: main.id,\n }],\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n}, {\n dependsOn: [\n mainVpcPublicGatewayIp,\n main,\n ],\n});\nconst mainVpcPublicGatewayDhcpReservation = new scaleway.VpcPublicGatewayDhcpReservation(\"main\", {\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n macAddress: mainInstanceServer.privateNetworks.apply(privateNetworks =\u003e privateNetworks?.[0]?.macAddress),\n ipAddress: \"192.168.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\", name=\"your_private_network\")\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\",\n private_networks=[{\n \"pn_id\": main.id,\n }])\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True,\n opts = pulumi.ResourceOptions(depends_on=[\n main_vpc_public_gateway_ip,\n main,\n ]))\nmain_vpc_public_gateway_dhcp_reservation = scaleway.VpcPublicGatewayDhcpReservation(\"main\",\n gateway_network_id=main_vpc_gateway_network.id,\n mac_address=main_instance_server.private_networks[0].mac_address,\n ip_address=\"192.168.1.1\")\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.VpcPrivateNetwork(\"main\", new()\n {\n Name = \"your_private_network\",\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.InstanceServerPrivateNetworkArgs\n {\n PnId = main.Id,\n },\n },\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n mainVpcPublicGatewayIp,\n main,\n },\n });\n\n var mainVpcPublicGatewayDhcpReservation = new Scaleway.VpcPublicGatewayDhcpReservation(\"main\", new()\n {\n GatewayNetworkId = mainVpcGatewayNetwork.Id,\n MacAddress = mainInstanceServer.PrivateNetworks.Apply(privateNetworks =\u003e privateNetworks[0]?.MacAddress),\n IpAddress = \"192.168.1.1\",\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.NewVpcPrivateNetwork(ctx, \"main\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"your_private_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tPrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.InstanceServerPrivateNetworkArgs{\n\t\t\t\t\tPnId: main.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmainVpcPublicGatewayIp,\n\t\t\tmain,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t\tMacAddress: pulumi.String(mainInstanceServer.PrivateNetworks.ApplyT(func(privateNetworks []scaleway.InstanceServerPrivateNetwork) (*string, error) {\n\t\t\t\treturn \u0026privateNetworks[0].MacAddress, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tIpAddress: pulumi.String(\"192.168.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new VpcPrivateNetwork(\"main\", VpcPrivateNetworkArgs.builder()\n .name(\"your_private_network\")\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .privateNetworks(InstanceServerPrivateNetworkArgs.builder()\n .pnId(main.id())\n .build())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n mainVpcPublicGatewayIp,\n main)\n .build());\n\n var mainVpcPublicGatewayDhcpReservation = new VpcPublicGatewayDhcpReservation(\"mainVpcPublicGatewayDhcpReservation\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .macAddress(mainInstanceServer.privateNetworks().applyValue(privateNetworks -\u003e privateNetworks[0].macAddress()))\n .ipAddress(\"192.168.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: your_private_network\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n privateNetworks:\n - pnId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\n options:\n dependsOn:\n - ${mainVpcPublicGatewayIp}\n - ${main}\n mainVpcPublicGatewayDhcpReservation:\n type: scaleway:VpcPublicGatewayDhcpReservation\n name: main\n properties:\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n macAddress: ${mainInstanceServer.privateNetworks[0].macAddress}\n ipAddress: 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPublic Gateway DHCP reservation configurations can be imported using `{zone}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/vpcPublicGatewayDhcpReservation:VpcPublicGatewayDhcpReservation main fr-par-1/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -21723,7 +21765,7 @@ } }, "scaleway:index/webhosting:Webhosting": { - "description": "Creates and manages Scaleway Web Hostings.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/webhosting/).\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 byName = scaleway.getWebHostOffer({\n name: \"lite\",\n});\nconst main = new scaleway.Webhosting(\"main\", {\n offerId: byName.then(byName =\u003e byName.offerId),\n email: \"your@email.com\",\n domain: \"yourdomain.com\",\n tags: [\n \"webhosting\",\n \"provider\",\n \"terraform\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nby_name = scaleway.get_web_host_offer(name=\"lite\")\nmain = scaleway.Webhosting(\"main\",\n offer_id=by_name.offer_id,\n email=\"your@email.com\",\n domain=\"yourdomain.com\",\n tags=[\n \"webhosting\",\n \"provider\",\n \"terraform\",\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 byName = Scaleway.GetWebHostOffer.Invoke(new()\n {\n Name = \"lite\",\n });\n\n var main = new Scaleway.Webhosting(\"main\", new()\n {\n OfferId = byName.Apply(getWebHostOfferResult =\u003e getWebHostOfferResult.OfferId),\n Email = \"your@email.com\",\n Domain = \"yourdomain.com\",\n Tags = new[]\n {\n \"webhosting\",\n \"provider\",\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\tbyName, err := scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tName: pulumi.StringRef(\"lite\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewWebhosting(ctx, \"main\", \u0026scaleway.WebhostingArgs{\n\t\t\tOfferId: pulumi.String(byName.OfferId),\n\t\t\tEmail: pulumi.String(\"your@email.com\"),\n\t\t\tDomain: pulumi.String(\"yourdomain.com\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"webhosting\"),\n\t\t\t\tpulumi.String(\"provider\"),\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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetWebHostOfferArgs;\nimport com.pulumi.scaleway.Webhosting;\nimport com.pulumi.scaleway.WebhostingArgs;\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 byName = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .name(\"lite\")\n .build());\n\n var main = new Webhosting(\"main\", WebhostingArgs.builder()\n .offerId(byName.applyValue(getWebHostOfferResult -\u003e getWebHostOfferResult.offerId()))\n .email(\"your@email.com\")\n .domain(\"yourdomain.com\")\n .tags( \n \"webhosting\",\n \"provider\",\n \"terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Webhosting\n properties:\n offerId: ${byName.offerId}\n email: your@email.com\n domain: yourdomain.com\n tags:\n - webhosting\n - provider\n - terraform\nvariables:\n byName:\n fn::invoke:\n Function: scaleway:getWebHostOffer\n Arguments:\n name: lite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHostings can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/webhosting:Webhosting hosting01 fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "Creates and manages Scaleway Web Hostings.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/webhosting/).\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 byName = scaleway.getWebHostOffer({\n name: \"lite\",\n});\nconst main = new scaleway.Webhosting(\"main\", {\n offerId: byName.then(byName =\u003e byName.offerId),\n email: \"your@email.com\",\n domain: \"yourdomain.com\",\n tags: [\n \"webhosting\",\n \"provider\",\n \"terraform\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nby_name = scaleway.get_web_host_offer(name=\"lite\")\nmain = scaleway.Webhosting(\"main\",\n offer_id=by_name.offer_id,\n email=\"your@email.com\",\n domain=\"yourdomain.com\",\n tags=[\n \"webhosting\",\n \"provider\",\n \"terraform\",\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 byName = Scaleway.GetWebHostOffer.Invoke(new()\n {\n Name = \"lite\",\n });\n\n var main = new Scaleway.Webhosting(\"main\", new()\n {\n OfferId = byName.Apply(getWebHostOfferResult =\u003e getWebHostOfferResult.OfferId),\n Email = \"your@email.com\",\n Domain = \"yourdomain.com\",\n Tags = new[]\n {\n \"webhosting\",\n \"provider\",\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\tbyName, err := scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tName: pulumi.StringRef(\"lite\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewWebhosting(ctx, \"main\", \u0026scaleway.WebhostingArgs{\n\t\t\tOfferId: pulumi.String(byName.OfferId),\n\t\t\tEmail: pulumi.String(\"your@email.com\"),\n\t\t\tDomain: pulumi.String(\"yourdomain.com\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"webhosting\"),\n\t\t\t\tpulumi.String(\"provider\"),\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.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetWebHostOfferArgs;\nimport com.pulumi.scaleway.Webhosting;\nimport com.pulumi.scaleway.WebhostingArgs;\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 byName = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .name(\"lite\")\n .build());\n\n var main = new Webhosting(\"main\", WebhostingArgs.builder()\n .offerId(byName.applyValue(getWebHostOfferResult -\u003e getWebHostOfferResult.offerId()))\n .email(\"your@email.com\")\n .domain(\"yourdomain.com\")\n .tags( \n \"webhosting\",\n \"provider\",\n \"terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:Webhosting\n properties:\n offerId: ${byName.offerId}\n email: your@email.com\n domain: yourdomain.com\n tags:\n - webhosting\n - provider\n - terraform\nvariables:\n byName:\n fn::invoke:\n function: scaleway:getWebHostOffer\n arguments:\n name: lite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHostings can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/webhosting:Webhosting hosting01 fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "cpanelUrls": { "type": "array", @@ -22093,7 +22135,7 @@ } }, "scaleway:index/getAvailabilityZones:getAvailabilityZones": { - "description": "The `scaleway.getAvailabilityZones` data source is used to retrieve information about the available zones based on its Region.\n\nFor technical and legal reasons, some products are split by Region or by Availability Zones. When using such product,\nyou can choose the location that better fits your need (country, latency, etc.).\n\nRefer to the Account [documentation](https://www.scaleway.com/en/docs/console/account/reference-content/products-availability/) for more information.\n\n## Retrieve the Availability Zones of a Region\n\nThe following command allow you to retrieve a the AZs of a Region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by Region key\nconst main = scaleway.getAvailabilityZones({\n region: \"nl-ams\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by Region key\nmain = scaleway.get_availability_zones(region=\"nl-ams\")\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 info by Region key\n var main = Scaleway.GetAvailabilityZones.Invoke(new()\n {\n Region = \"nl-ams\",\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 info by Region key\n\t\t_, err := scaleway.GetAvailabilityZones(ctx, \u0026scaleway.GetAvailabilityZonesArgs{\n\t\t\tRegion: pulumi.StringRef(\"nl-ams\"),\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.GetAvailabilityZonesArgs;\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 info by Region key\n final var main = ScalewayFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .region(\"nl-ams\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by Region key\n main:\n fn::invoke:\n Function: scaleway:getAvailabilityZones\n Arguments:\n region: nl-ams\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.getAvailabilityZones` data source is used to retrieve information about the available zones based on its Region.\n\nFor technical and legal reasons, some products are split by Region or by Availability Zones. When using such product,\nyou can choose the location that better fits your need (country, latency, etc.).\n\nRefer to the Account [documentation](https://www.scaleway.com/en/docs/console/account/reference-content/products-availability/) for more information.\n\n## Retrieve the Availability Zones of a Region\n\nThe following command allow you to retrieve a the AZs of a Region.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by Region key\nconst main = scaleway.getAvailabilityZones({\n region: \"nl-ams\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by Region key\nmain = scaleway.get_availability_zones(region=\"nl-ams\")\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 info by Region key\n var main = Scaleway.GetAvailabilityZones.Invoke(new()\n {\n Region = \"nl-ams\",\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 info by Region key\n\t\t_, err := scaleway.GetAvailabilityZones(ctx, \u0026scaleway.GetAvailabilityZonesArgs{\n\t\t\tRegion: pulumi.StringRef(\"nl-ams\"),\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.GetAvailabilityZonesArgs;\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 info by Region key\n final var main = ScalewayFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()\n .region(\"nl-ams\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by Region key\n main:\n fn::invoke:\n function: scaleway:getAvailabilityZones\n arguments:\n region: nl-ams\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getAvailabilityZones.\n", "properties": { @@ -22225,7 +22267,7 @@ } }, "scaleway:index/getBaremetalOption:getBaremetalOption": { - "description": "Gets information about a baremetal option.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).\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 info by option name \nconst byName = scaleway.getBaremetalOption({\n name: \"Remote Access\",\n});\n// Get info by option id\nconst byId = scaleway.getBaremetalOption({\n optionId: \"931df052-d713-4674-8b58-96a63244c8e2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by option name \nby_name = scaleway.get_baremetal_option(name=\"Remote Access\")\n# Get info by option id\nby_id = scaleway.get_baremetal_option(option_id=\"931df052-d713-4674-8b58-96a63244c8e2\")\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 info by option name \n var byName = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Name = \"Remote Access\",\n });\n\n // Get info by option id\n var byId = Scaleway.GetBaremetalOption.Invoke(new()\n {\n OptionId = \"931df052-d713-4674-8b58-96a63244c8e2\",\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 info by option name\n\t\t_, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tName: pulumi.StringRef(\"Remote Access\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by option id\n\t\t_, err = scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tOptionId: pulumi.StringRef(\"931df052-d713-4674-8b58-96a63244c8e2\"),\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.GetBaremetalOptionArgs;\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 info by option name \n final var byName = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .name(\"Remote Access\")\n .build());\n\n // Get info by option id\n final var byId = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .optionId(\"931df052-d713-4674-8b58-96a63244c8e2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by option name\n byName:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n name: Remote Access\n # Get info by option id\n byId:\n fn::invoke:\n Function: scaleway:getBaremetalOption\n Arguments:\n optionId: 931df052-d713-4674-8b58-96a63244c8e2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a baremetal option.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).\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 info by option name \nconst byName = scaleway.getBaremetalOption({\n name: \"Remote Access\",\n});\n// Get info by option id\nconst byId = scaleway.getBaremetalOption({\n optionId: \"931df052-d713-4674-8b58-96a63244c8e2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by option name \nby_name = scaleway.get_baremetal_option(name=\"Remote Access\")\n# Get info by option id\nby_id = scaleway.get_baremetal_option(option_id=\"931df052-d713-4674-8b58-96a63244c8e2\")\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 info by option name \n var byName = Scaleway.GetBaremetalOption.Invoke(new()\n {\n Name = \"Remote Access\",\n });\n\n // Get info by option id\n var byId = Scaleway.GetBaremetalOption.Invoke(new()\n {\n OptionId = \"931df052-d713-4674-8b58-96a63244c8e2\",\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 info by option name\n\t\t_, err := scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tName: pulumi.StringRef(\"Remote Access\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by option id\n\t\t_, err = scaleway.GetBaremetalOption(ctx, \u0026scaleway.GetBaremetalOptionArgs{\n\t\t\tOptionId: pulumi.StringRef(\"931df052-d713-4674-8b58-96a63244c8e2\"),\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.GetBaremetalOptionArgs;\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 info by option name \n final var byName = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .name(\"Remote Access\")\n .build());\n\n // Get info by option id\n final var byId = ScalewayFunctions.getBaremetalOption(GetBaremetalOptionArgs.builder()\n .optionId(\"931df052-d713-4674-8b58-96a63244c8e2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by option name\n byName:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n name: Remote Access\n # Get info by option id\n byId:\n fn::invoke:\n function: scaleway:getBaremetalOption\n arguments:\n optionId: 931df052-d713-4674-8b58-96a63244c8e2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBaremetalOption.\n", "properties": { @@ -22276,7 +22318,7 @@ } }, "scaleway:index/getBaremetalOs:getBaremetalOs": { - "description": "Gets information about a baremetal operating system.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses).\n\nYou can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw baremetal os list` to list all available operating systems.\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 info by os name and version\nconst byName = scaleway.getBaremetalOs({\n name: \"Ubuntu\",\n version: \"20.04 LTS (Focal Fossa)\",\n});\n// Get info by os id\nconst byId = scaleway.getBaremetalOs({\n osId: \"03b7f4ba-a6a1-4305-984e-b54fafbf1681\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by os name and version\nby_name = scaleway.get_baremetal_os(name=\"Ubuntu\",\n version=\"20.04 LTS (Focal Fossa)\")\n# Get info by os id\nby_id = scaleway.get_baremetal_os(os_id=\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\")\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 info by os name and version\n var byName = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Name = \"Ubuntu\",\n Version = \"20.04 LTS (Focal Fossa)\",\n });\n\n // Get info by os id\n var byId = Scaleway.GetBaremetalOs.Invoke(new()\n {\n OsId = \"03b7f4ba-a6a1-4305-984e-b54fafbf1681\",\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 info by os name and version\n\t\t_, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04 LTS (Focal Fossa)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by os id\n\t\t_, err = scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tOsId: pulumi.StringRef(\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\"),\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.GetBaremetalOsArgs;\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 info by os name and version\n final var byName = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .name(\"Ubuntu\")\n .version(\"20.04 LTS (Focal Fossa)\")\n .build());\n\n // Get info by os id\n final var byId = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .osId(\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by os name and version\n byName:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n name: Ubuntu\n version: 20.04 LTS (Focal Fossa)\n # Get info by os id\n byId:\n fn::invoke:\n Function: scaleway:getBaremetalOs\n Arguments:\n osId: 03b7f4ba-a6a1-4305-984e-b54fafbf1681\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a baremetal operating system.\nFor more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses).\n\nYou can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw baremetal os list` to list all available operating systems.\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 info by os name and version\nconst byName = scaleway.getBaremetalOs({\n name: \"Ubuntu\",\n version: \"20.04 LTS (Focal Fossa)\",\n});\n// Get info by os id\nconst byId = scaleway.getBaremetalOs({\n osId: \"03b7f4ba-a6a1-4305-984e-b54fafbf1681\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by os name and version\nby_name = scaleway.get_baremetal_os(name=\"Ubuntu\",\n version=\"20.04 LTS (Focal Fossa)\")\n# Get info by os id\nby_id = scaleway.get_baremetal_os(os_id=\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\")\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 info by os name and version\n var byName = Scaleway.GetBaremetalOs.Invoke(new()\n {\n Name = \"Ubuntu\",\n Version = \"20.04 LTS (Focal Fossa)\",\n });\n\n // Get info by os id\n var byId = Scaleway.GetBaremetalOs.Invoke(new()\n {\n OsId = \"03b7f4ba-a6a1-4305-984e-b54fafbf1681\",\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 info by os name and version\n\t\t_, err := scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tName: pulumi.StringRef(\"Ubuntu\"),\n\t\t\tVersion: pulumi.StringRef(\"20.04 LTS (Focal Fossa)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by os id\n\t\t_, err = scaleway.GetBaremetalOs(ctx, \u0026scaleway.GetBaremetalOsArgs{\n\t\t\tOsId: pulumi.StringRef(\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\"),\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.GetBaremetalOsArgs;\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 info by os name and version\n final var byName = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .name(\"Ubuntu\")\n .version(\"20.04 LTS (Focal Fossa)\")\n .build());\n\n // Get info by os id\n final var byId = ScalewayFunctions.getBaremetalOs(GetBaremetalOsArgs.builder()\n .osId(\"03b7f4ba-a6a1-4305-984e-b54fafbf1681\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by os name and version\n byName:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n name: Ubuntu\n version: 20.04 LTS (Focal Fossa)\n # Get info by os id\n byId:\n fn::invoke:\n function: scaleway:getBaremetalOs\n arguments:\n osId: 03b7f4ba-a6a1-4305-984e-b54fafbf1681\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBaremetalOs.\n", "properties": { @@ -22328,7 +22370,7 @@ } }, "scaleway:index/getBaremetalServer:getBaremetalServer": { - "description": "Gets information about a baremetal server.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).\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 info by server name\nconst byName = scaleway.getBaremetalServer({\n name: \"foobar\",\n zone: \"fr-par-2\",\n});\n// Get info by server id\nconst byId = scaleway.getBaremetalServer({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by server name\nby_name = scaleway.get_baremetal_server(name=\"foobar\",\n zone=\"fr-par-2\")\n# Get info by server id\nby_id = scaleway.get_baremetal_server(server_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 info by server name\n var byName = Scaleway.GetBaremetalServer.Invoke(new()\n {\n Name = \"foobar\",\n Zone = \"fr-par-2\",\n });\n\n // Get info by server id\n var byId = Scaleway.GetBaremetalServer.Invoke(new()\n {\n ServerId = \"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 info by server name\n\t\t_, err := scaleway.LookupBaremetalServer(ctx, \u0026scaleway.LookupBaremetalServerArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by server id\n\t\t_, err = scaleway.LookupBaremetalServer(ctx, \u0026scaleway.LookupBaremetalServerArgs{\n\t\t\tServerId: 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.GetBaremetalServerArgs;\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 info by server name\n final var byName = ScalewayFunctions.getBaremetalServer(GetBaremetalServerArgs.builder()\n .name(\"foobar\")\n .zone(\"fr-par-2\")\n .build());\n\n // Get info by server id\n final var byId = ScalewayFunctions.getBaremetalServer(GetBaremetalServerArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by server name\n byName:\n fn::invoke:\n Function: scaleway:getBaremetalServer\n Arguments:\n name: foobar\n zone: fr-par-2\n # Get info by server id\n byId:\n fn::invoke:\n Function: scaleway:getBaremetalServer\n Arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a baremetal server.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api).\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 info by server name\nconst byName = scaleway.getBaremetalServer({\n name: \"foobar\",\n zone: \"fr-par-2\",\n});\n// Get info by server id\nconst byId = scaleway.getBaremetalServer({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by server name\nby_name = scaleway.get_baremetal_server(name=\"foobar\",\n zone=\"fr-par-2\")\n# Get info by server id\nby_id = scaleway.get_baremetal_server(server_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 info by server name\n var byName = Scaleway.GetBaremetalServer.Invoke(new()\n {\n Name = \"foobar\",\n Zone = \"fr-par-2\",\n });\n\n // Get info by server id\n var byId = Scaleway.GetBaremetalServer.Invoke(new()\n {\n ServerId = \"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 info by server name\n\t\t_, err := scaleway.LookupBaremetalServer(ctx, \u0026scaleway.LookupBaremetalServerArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by server id\n\t\t_, err = scaleway.LookupBaremetalServer(ctx, \u0026scaleway.LookupBaremetalServerArgs{\n\t\t\tServerId: 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.GetBaremetalServerArgs;\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 info by server name\n final var byName = ScalewayFunctions.getBaremetalServer(GetBaremetalServerArgs.builder()\n .name(\"foobar\")\n .zone(\"fr-par-2\")\n .build());\n\n // Get info by server id\n final var byId = ScalewayFunctions.getBaremetalServer(GetBaremetalServerArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by server name\n byName:\n fn::invoke:\n function: scaleway:getBaremetalServer\n arguments:\n name: foobar\n zone: fr-par-2\n # Get info by server id\n byId:\n fn::invoke:\n function: scaleway:getBaremetalServer\n arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBaremetalServer.\n", "properties": { @@ -22490,7 +22532,7 @@ } }, "scaleway:index/getBillingConsumptions:getBillingConsumptions": { - "description": "Gets information about your Consumptions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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.GetBillingConsumptionsArgs;\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 // Find your detailed monthly consumption list\n final var my-consumption = ScalewayFunctions.getBillingConsumptions(GetBillingConsumptionsArgs.builder()\n .organizationId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find your detailed monthly consumption list\n my-consumption:\n fn::invoke:\n Function: scaleway:getBillingConsumptions\n Arguments:\n organizationId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about your Consumptions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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.GetBillingConsumptionsArgs;\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 // Find your detailed monthly consumption list\n final var my-consumption = ScalewayFunctions.getBillingConsumptions(GetBillingConsumptionsArgs.builder()\n .organizationId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find your detailed monthly consumption list\n my-consumption:\n fn::invoke:\n function: scaleway:getBillingConsumptions\n arguments:\n organizationId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBillingConsumptions.\n", "properties": { @@ -22728,7 +22770,7 @@ } }, "scaleway:index/getCockpit:getCockpit": { - "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", + "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": { @@ -22781,7 +22823,7 @@ } }, "scaleway:index/getCockpitPlan:getCockpitPlan": { - "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", + "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": { @@ -22813,6 +22855,95 @@ "type": "object" } }, + "scaleway:index/getCockpitSource:getCockpitSource": { + "description": "The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](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### Retrieve a specific data source by ID\n\nThe following example retrieves a Cockpit data source by its unique ID.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst example = scaleway.getCockpitSource({\n id: \"fr-par/11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nexample = scaleway.get_cockpit_source(id=\"fr-par/11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Scaleway.GetCockpitSource.Invoke(new()\n {\n Id = \"fr-par/11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupCockpitSource(ctx, \u0026scaleway.LookupCockpitSourceArgs{\n\t\t\tId: pulumi.StringRef(\"fr-par/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.GetCockpitSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = ScalewayFunctions.getCockpitSource(GetCockpitSourceArgs.builder()\n .id(\"fr-par/11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: scaleway:getCockpitSource\n arguments:\n id: fr-par/11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Retrieve a data source by filters\n\nYou can also retrieve a data source by specifying filtering criteria such as `name`, `type`, and `origin`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\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.GetCockpitSourceArgs;\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 filtered = ScalewayFunctions.getCockpitSource(GetCockpitSourceArgs.builder()\n .projectId(\"11111111-1111-1111-1111-111111111111\")\n .region(\"fr-par\")\n .name(\"my-data-source\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n filtered:\n fn::invoke:\n function: scaleway:getCockpitSource\n arguments:\n projectId: 11111111-1111-1111-1111-111111111111\n region: fr-par\n name: my-data-source\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCockpitSource.\n", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored.\n" + }, + "name": { + "type": "string", + "description": "The name of the data source.\n" + }, + "origin": { + "type": "string", + "description": "The origin of the data source. Possible values are:\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration.\n", + "willReplaceOnChanges": true + }, + "type": { + "type": "string", + "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" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCockpitSource.\n", + "properties": { + "createdAt": { + "description": "The date and time the data source was created (in RFC 3339 format).\n", + "type": "string" + }, + "id": { + "description": "The unique identifier of the data source in the `{region}/{id}` format.\n", + "type": "string" + }, + "name": { + "type": "string" + }, + "origin": { + "description": "The origin of the data source.\n", + "type": "string" + }, + "projectId": { + "type": "string" + }, + "region": { + "type": "string" + }, + "retentionDays": { + "description": "The number of days the data is retained in the data source.\n", + "type": "integer" + }, + "synchronizedWithGrafana": { + "description": "Indicates whether the data source is synchronized with Grafana.\n", + "type": "boolean" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "description": "The date and time the data source was last updated (in RFC 3339 format).\n", + "type": "string" + }, + "url": { + "description": "The URL of the Cockpit data source.\n", + "type": "string" + } + }, + "required": [ + "createdAt", + "id", + "name", + "origin", + "projectId", + "region", + "retentionDays", + "synchronizedWithGrafana", + "type", + "updatedAt", + "url" + ], + "type": "object" + } + }, "scaleway:index/getConfig:getConfig": { "outputs": { "description": "A collection of values returned by getConfig.\n", @@ -22870,7 +23001,7 @@ } }, "scaleway:index/getContainer:getContainer": { - "description": "The `scaleway.Container` data source is used to retrieve information about a Serverless Container.\n\nRefer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.\n\nFor more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/containers/reference-content/containers-limitations/).\n\n## Retrieve a Serverless Container\n\nThe following commands allow you to:\n\n- retrieve a container by its name\n- retrieve a container by its ID\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.ContainerNamespace(\"main\", {});\nconst mainContainer = new scaleway.Container(\"main\", {\n name: \"test-container-data\",\n namespaceId: main.id,\n});\n// Get info by container name\nconst byName = scaleway.getContainerOutput({\n namespaceId: main.id,\n name: mainContainer.name,\n});\n// Get info by container ID\nconst byId = scaleway.getContainerOutput({\n namespaceId: main.id,\n containerId: mainContainer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.ContainerNamespace(\"main\")\nmain_container = scaleway.Container(\"main\",\n name=\"test-container-data\",\n namespace_id=main.id)\n# Get info by container name\nby_name = scaleway.get_container_output(namespace_id=main.id,\n name=main_container.name)\n# Get info by container ID\nby_id = scaleway.get_container_output(namespace_id=main.id,\n container_id=main_container.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 main = new Scaleway.ContainerNamespace(\"main\");\n\n var mainContainer = new Scaleway.Container(\"main\", new()\n {\n Name = \"test-container-data\",\n NamespaceId = main.Id,\n });\n\n // Get info by container name\n var byName = Scaleway.GetContainer.Invoke(new()\n {\n NamespaceId = main.Id,\n Name = mainContainer.Name,\n });\n\n // Get info by container ID\n var byId = Scaleway.GetContainer.Invoke(new()\n {\n NamespaceId = main.Id,\n ContainerId = mainContainer.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\tmain, err := scaleway.NewContainerNamespace(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainContainer, err := scaleway.NewContainer(ctx, \"main\", \u0026scaleway.ContainerArgs{\n\t\t\tName: pulumi.String(\"test-container-data\"),\n\t\t\tNamespaceId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by container name\n\t\t_ = scaleway.LookupContainerOutput(ctx, scaleway.GetContainerOutputArgs{\n\t\t\tNamespaceId: main.ID(),\n\t\t\tName: mainContainer.Name,\n\t\t}, nil)\n\t\t// Get info by container ID\n\t\t_ = scaleway.LookupContainerOutput(ctx, scaleway.GetContainerOutputArgs{\n\t\t\tNamespaceId: main.ID(),\n\t\t\tContainerId: mainContainer.ID(),\n\t\t}, nil)\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.ContainerNamespace;\nimport com.pulumi.scaleway.Container;\nimport com.pulumi.scaleway.ContainerArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetContainerArgs;\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 ContainerNamespace(\"main\");\n\n var mainContainer = new Container(\"mainContainer\", ContainerArgs.builder()\n .name(\"test-container-data\")\n .namespaceId(main.id())\n .build());\n\n // Get info by container name\n final var byName = ScalewayFunctions.getContainer(GetContainerArgs.builder()\n .namespaceId(main.id())\n .name(mainContainer.name())\n .build());\n\n // Get info by container ID\n final var byId = ScalewayFunctions.getContainer(GetContainerArgs.builder()\n .namespaceId(main.id())\n .containerId(mainContainer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:ContainerNamespace\n mainContainer:\n type: scaleway:Container\n name: main\n properties:\n name: test-container-data\n namespaceId: ${main.id}\nvariables:\n # Get info by container name\n byName:\n fn::invoke:\n Function: scaleway:getContainer\n Arguments:\n namespaceId: ${main.id}\n name: ${mainContainer.name}\n # Get info by container ID\n byId:\n fn::invoke:\n Function: scaleway:getContainer\n Arguments:\n namespaceId: ${main.id}\n containerId: ${mainContainer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Arguments reference\n\nThis section lists the arguments that you can provide to the `scaleway.Container` data source to filter and retrieve the desired namespace. Each argument has a specific purpose:\n\n- `name` - (Required) The unique name of the container.\n\n- `namespace_id` - (Required) The container namespace ID of the container.\n\n- `project_id` - (Optional) The unique identifier of the project with which the container is associated.\n\n\u003e **Important** Updating the `name` argument will recreate the container.\n", + "description": "The `scaleway.Container` data source is used to retrieve information about a Serverless Container.\n\nRefer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.\n\nFor more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/containers/reference-content/containers-limitations/).\n\n## Retrieve a Serverless Container\n\nThe following commands allow you to:\n\n- retrieve a container by its name\n- retrieve a container by its ID\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.ContainerNamespace(\"main\", {});\nconst mainContainer = new scaleway.Container(\"main\", {\n name: \"test-container-data\",\n namespaceId: main.id,\n});\n// Get info by container name\nconst byName = scaleway.getContainerOutput({\n namespaceId: main.id,\n name: mainContainer.name,\n});\n// Get info by container ID\nconst byId = scaleway.getContainerOutput({\n namespaceId: main.id,\n containerId: mainContainer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.ContainerNamespace(\"main\")\nmain_container = scaleway.Container(\"main\",\n name=\"test-container-data\",\n namespace_id=main.id)\n# Get info by container name\nby_name = scaleway.get_container_output(namespace_id=main.id,\n name=main_container.name)\n# Get info by container ID\nby_id = scaleway.get_container_output(namespace_id=main.id,\n container_id=main_container.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 main = new Scaleway.ContainerNamespace(\"main\");\n\n var mainContainer = new Scaleway.Container(\"main\", new()\n {\n Name = \"test-container-data\",\n NamespaceId = main.Id,\n });\n\n // Get info by container name\n var byName = Scaleway.GetContainer.Invoke(new()\n {\n NamespaceId = main.Id,\n Name = mainContainer.Name,\n });\n\n // Get info by container ID\n var byId = Scaleway.GetContainer.Invoke(new()\n {\n NamespaceId = main.Id,\n ContainerId = mainContainer.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\tmain, err := scaleway.NewContainerNamespace(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainContainer, err := scaleway.NewContainer(ctx, \"main\", \u0026scaleway.ContainerArgs{\n\t\t\tName: pulumi.String(\"test-container-data\"),\n\t\t\tNamespaceId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by container name\n\t\t_ = scaleway.LookupContainerOutput(ctx, scaleway.GetContainerOutputArgs{\n\t\t\tNamespaceId: main.ID(),\n\t\t\tName: mainContainer.Name,\n\t\t}, nil)\n\t\t// Get info by container ID\n\t\t_ = scaleway.LookupContainerOutput(ctx, scaleway.GetContainerOutputArgs{\n\t\t\tNamespaceId: main.ID(),\n\t\t\tContainerId: mainContainer.ID(),\n\t\t}, nil)\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.ContainerNamespace;\nimport com.pulumi.scaleway.Container;\nimport com.pulumi.scaleway.ContainerArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetContainerArgs;\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 ContainerNamespace(\"main\");\n\n var mainContainer = new Container(\"mainContainer\", ContainerArgs.builder()\n .name(\"test-container-data\")\n .namespaceId(main.id())\n .build());\n\n // Get info by container name\n final var byName = ScalewayFunctions.getContainer(GetContainerArgs.builder()\n .namespaceId(main.id())\n .name(mainContainer.name())\n .build());\n\n // Get info by container ID\n final var byId = ScalewayFunctions.getContainer(GetContainerArgs.builder()\n .namespaceId(main.id())\n .containerId(mainContainer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:ContainerNamespace\n mainContainer:\n type: scaleway:Container\n name: main\n properties:\n name: test-container-data\n namespaceId: ${main.id}\nvariables:\n # Get info by container name\n byName:\n fn::invoke:\n function: scaleway:getContainer\n arguments:\n namespaceId: ${main.id}\n name: ${mainContainer.name}\n # Get info by container ID\n byId:\n fn::invoke:\n function: scaleway:getContainer\n arguments:\n namespaceId: ${main.id}\n containerId: ${mainContainer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Arguments reference\n\nThis section lists the arguments that you can provide to the `scaleway.Container` data source to filter and retrieve the desired namespace. Each argument has a specific purpose:\n\n- `name` - (Required) The unique name of the container.\n\n- `namespace_id` - (Required) The container namespace ID of the container.\n\n- `project_id` - (Optional) The unique identifier of the project with which the container is associated.\n\n\u003e **Important** Updating the `name` argument will recreate the container.\n", "inputs": { "description": "A collection of arguments for invoking getContainer.\n", "properties": { @@ -23037,7 +23168,7 @@ } }, "scaleway:index/getContainerNamespace:getContainerNamespace": { - "description": "The `scaleway.ContainerNamespace` data source is used to retrieve information about a Serverless Containers namespace.\n\nRefer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.\n\n## Retrieve a Serverless Containers namespace\n\nThe following commands allow you to:\n\n- retrieve a namespace by its name\n- retrieve a namespace by its ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by namespace name\nconst byName = scaleway.getContainerNamespace({\n name: \"my-namespace-name\",\n});\n// Get info by namespace ID\nconst byId = scaleway.getContainerNamespace({\n namespaceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by namespace name\nby_name = scaleway.get_container_namespace(name=\"my-namespace-name\")\n# Get info by namespace ID\nby_id = scaleway.get_container_namespace(namespace_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 info by namespace name\n var byName = Scaleway.GetContainerNamespace.Invoke(new()\n {\n Name = \"my-namespace-name\",\n });\n\n // Get info by namespace ID\n var byId = Scaleway.GetContainerNamespace.Invoke(new()\n {\n NamespaceId = \"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 info by namespace name\n\t\t_, err := scaleway.LookupContainerNamespace(ctx, \u0026scaleway.LookupContainerNamespaceArgs{\n\t\t\tName: pulumi.StringRef(\"my-namespace-name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by namespace ID\n\t\t_, err = scaleway.LookupContainerNamespace(ctx, \u0026scaleway.LookupContainerNamespaceArgs{\n\t\t\tNamespaceId: 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.GetContainerNamespaceArgs;\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 info by namespace name\n final var byName = ScalewayFunctions.getContainerNamespace(GetContainerNamespaceArgs.builder()\n .name(\"my-namespace-name\")\n .build());\n\n // Get info by namespace ID\n final var byId = ScalewayFunctions.getContainerNamespace(GetContainerNamespaceArgs.builder()\n .namespaceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by namespace name\n byName:\n fn::invoke:\n Function: scaleway:getContainerNamespace\n Arguments:\n name: my-namespace-name\n # Get info by namespace ID\n byId:\n fn::invoke:\n Function: scaleway:getContainerNamespace\n Arguments:\n namespaceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.ContainerNamespace` data source is used to retrieve information about a Serverless Containers namespace.\n\nRefer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.\n\n## Retrieve a Serverless Containers namespace\n\nThe following commands allow you to:\n\n- retrieve a namespace by its name\n- retrieve a namespace by its ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by namespace name\nconst byName = scaleway.getContainerNamespace({\n name: \"my-namespace-name\",\n});\n// Get info by namespace ID\nconst byId = scaleway.getContainerNamespace({\n namespaceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by namespace name\nby_name = scaleway.get_container_namespace(name=\"my-namespace-name\")\n# Get info by namespace ID\nby_id = scaleway.get_container_namespace(namespace_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 info by namespace name\n var byName = Scaleway.GetContainerNamespace.Invoke(new()\n {\n Name = \"my-namespace-name\",\n });\n\n // Get info by namespace ID\n var byId = Scaleway.GetContainerNamespace.Invoke(new()\n {\n NamespaceId = \"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 info by namespace name\n\t\t_, err := scaleway.LookupContainerNamespace(ctx, \u0026scaleway.LookupContainerNamespaceArgs{\n\t\t\tName: pulumi.StringRef(\"my-namespace-name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by namespace ID\n\t\t_, err = scaleway.LookupContainerNamespace(ctx, \u0026scaleway.LookupContainerNamespaceArgs{\n\t\t\tNamespaceId: 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.GetContainerNamespaceArgs;\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 info by namespace name\n final var byName = ScalewayFunctions.getContainerNamespace(GetContainerNamespaceArgs.builder()\n .name(\"my-namespace-name\")\n .build());\n\n // Get info by namespace ID\n final var byId = ScalewayFunctions.getContainerNamespace(GetContainerNamespaceArgs.builder()\n .namespaceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by namespace name\n byName:\n fn::invoke:\n function: scaleway:getContainerNamespace\n arguments:\n name: my-namespace-name\n # Get info by namespace ID\n byId:\n fn::invoke:\n function: scaleway:getContainerNamespace\n arguments:\n namespaceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getContainerNamespace.\n", "properties": { @@ -23133,7 +23264,7 @@ } }, "scaleway:index/getDatabase:getDatabase": { - "description": "Gets information about a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nconst myDb = scaleway.getDatabase({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nmy_db = scaleway.get_database(instance_id=\"11111111-1111-1111-1111-111111111111\",\n name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n var myDb = Scaleway.GetDatabase.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n Name = \"foobar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n\t\t_, err := scaleway.LookupDatabase(ctx, \u0026scaleway.LookupDatabaseArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tName: \"foobar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n final var myDb = ScalewayFunctions.getDatabase(GetDatabaseArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .name(\"foobar\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n myDb:\n fn::invoke:\n Function: scaleway:getDatabase\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nconst myDb = scaleway.getDatabase({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nmy_db = scaleway.get_database(instance_id=\"11111111-1111-1111-1111-111111111111\",\n name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n var myDb = Scaleway.GetDatabase.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n Name = \"foobar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n\t\t_, err := scaleway.LookupDatabase(ctx, \u0026scaleway.LookupDatabaseArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tName: \"foobar\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n final var myDb = ScalewayFunctions.getDatabase(GetDatabaseArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .name(\"foobar\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n myDb:\n fn::invoke:\n function: scaleway:getDatabase\n arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabase.\n", "properties": { @@ -23196,7 +23327,7 @@ } }, "scaleway:index/getDatabaseAcl:getDatabaseAcl": { - "description": "Gets information about the Database Instance network Access Control List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nconst myAcl = scaleway.getDatabaseAcl({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nmy_acl = scaleway.get_database_acl(instance_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n var myAcl = Scaleway.GetDatabaseAcl.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n\t\t_, err := scaleway.LookupDatabaseAcl(ctx, \u0026scaleway.LookupDatabaseAclArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n final var myAcl = ScalewayFunctions.getDatabaseAcl(GetDatabaseAclArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n myAcl:\n fn::invoke:\n Function: scaleway:getDatabaseAcl\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about the Database Instance network Access Control List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nconst myAcl = scaleway.getDatabaseAcl({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nmy_acl = scaleway.get_database_acl(instance_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n var myAcl = Scaleway.GetDatabaseAcl.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n\t\t_, err := scaleway.LookupDatabaseAcl(ctx, \u0026scaleway.LookupDatabaseAclArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n final var myAcl = ScalewayFunctions.getDatabaseAcl(GetDatabaseAclArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n myAcl:\n fn::invoke:\n function: scaleway:getDatabaseAcl\n arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabaseAcl.\n", "properties": { @@ -23244,7 +23375,7 @@ } }, "scaleway:index/getDatabaseBackup:getDatabaseBackup": { - "description": "Gets information about an RDB backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst findByName = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n});\nconst findByNameAndInstance = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst findById = scaleway.getDatabaseBackup({\n backupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nfind_by_name = scaleway.get_database_backup(name=\"mybackup\")\nfind_by_name_and_instance = scaleway.get_database_backup(name=\"mybackup\",\n instance_id=\"11111111-1111-1111-1111-111111111111\")\nfind_by_id = scaleway.get_database_backup(backup_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var findByName = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n });\n\n var findByNameAndInstance = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var findById = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n BackupId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t\tInstanceId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tBackupId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var findByName = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .build());\n\n final var findByNameAndInstance = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var findById = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .backupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n findByName:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n findByNameAndInstance:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n instanceId: 11111111-1111-1111-1111-111111111111\n findById:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n backupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an RDB backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst findByName = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n});\nconst findByNameAndInstance = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst findById = scaleway.getDatabaseBackup({\n backupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nfind_by_name = scaleway.get_database_backup(name=\"mybackup\")\nfind_by_name_and_instance = scaleway.get_database_backup(name=\"mybackup\",\n instance_id=\"11111111-1111-1111-1111-111111111111\")\nfind_by_id = scaleway.get_database_backup(backup_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var findByName = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n });\n\n var findByNameAndInstance = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var findById = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n BackupId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t\tInstanceId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tBackupId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var findByName = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .build());\n\n final var findByNameAndInstance = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var findById = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .backupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n findByName:\n fn::invoke:\n function: scaleway:getDatabaseBackup\n arguments:\n name: mybackup\n findByNameAndInstance:\n fn::invoke:\n function: scaleway:getDatabaseBackup\n arguments:\n name: mybackup\n instanceId: 11111111-1111-1111-1111-111111111111\n findById:\n fn::invoke:\n function: scaleway:getDatabaseBackup\n arguments:\n backupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabaseBackup.\n", "properties": { @@ -23488,7 +23619,7 @@ } }, "scaleway:index/getDatabasePrivilege:getDatabasePrivilege": { - "description": "Gets information about the privileges in a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nconst main = scaleway.getDatabasePrivilege({\n instanceId: \"11111111-1111-111111111111\",\n userName: \"my-user\",\n databaseName: \"my-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nmain = scaleway.get_database_privilege(instance_id=\"11111111-1111-111111111111\",\n user_name=\"my-user\",\n database_name=\"my-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n var main = Scaleway.GetDatabasePrivilege.Invoke(new()\n {\n InstanceId = \"11111111-1111-111111111111\",\n UserName = \"my-user\",\n DatabaseName = \"my-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n\t\t_, err := scaleway.LookupDatabasePrivilege(ctx, \u0026scaleway.LookupDatabasePrivilegeArgs{\n\t\t\tInstanceId: \"11111111-1111-111111111111\",\n\t\t\tUserName: \"my-user\",\n\t\t\tDatabaseName: \"my-database\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabasePrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n final var main = ScalewayFunctions.getDatabasePrivilege(GetDatabasePrivilegeArgs.builder()\n .instanceId(\"11111111-1111-111111111111\")\n .userName(\"my-user\")\n .databaseName(\"my-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n main:\n fn::invoke:\n Function: scaleway:getDatabasePrivilege\n Arguments:\n instanceId: 11111111-1111-111111111111\n userName: my-user\n databaseName: my-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about the privileges in a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nconst main = scaleway.getDatabasePrivilege({\n instanceId: \"11111111-1111-111111111111\",\n userName: \"my-user\",\n databaseName: \"my-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nmain = scaleway.get_database_privilege(instance_id=\"11111111-1111-111111111111\",\n user_name=\"my-user\",\n database_name=\"my-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n var main = Scaleway.GetDatabasePrivilege.Invoke(new()\n {\n InstanceId = \"11111111-1111-111111111111\",\n UserName = \"my-user\",\n DatabaseName = \"my-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n\t\t_, err := scaleway.LookupDatabasePrivilege(ctx, \u0026scaleway.LookupDatabasePrivilegeArgs{\n\t\t\tInstanceId: \"11111111-1111-111111111111\",\n\t\t\tUserName: \"my-user\",\n\t\t\tDatabaseName: \"my-database\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabasePrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n final var main = ScalewayFunctions.getDatabasePrivilege(GetDatabasePrivilegeArgs.builder()\n .instanceId(\"11111111-1111-111111111111\")\n .userName(\"my-user\")\n .databaseName(\"my-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n main:\n fn::invoke:\n function: scaleway:getDatabasePrivilege\n arguments:\n instanceId: 11111111-1111-111111111111\n userName: my-user\n databaseName: my-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabasePrivilege.\n", "properties": { @@ -23551,7 +23682,7 @@ } }, "scaleway:index/getDomainRecord:getDomainRecord": { - "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", + "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": { @@ -23838,7 +23969,7 @@ } }, "scaleway:index/getFlexibleIps:getFlexibleIps": { - "description": "Gets information about multiple Flexible IPs.\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\n// Find ips that share the same tags\nconst fipsByTags = scaleway.getFlexibleIps({\n tags: [\"a tag\"],\n});\n// Find ips that share the same Server ID\nconst myOffer = scaleway.getBaremetalOffer({\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n name: \"MyServer\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\nconst first = new scaleway.FlexibleIp(\"first\", {\n serverId: base.id,\n tags: [\n \"foo\",\n \"first\",\n ],\n});\nconst second = new scaleway.FlexibleIp(\"second\", {\n serverId: base.id,\n tags: [\n \"foo\",\n \"second\",\n ],\n});\nconst fipsByServerId = scaleway.getFlexibleIpsOutput({\n serverIds: [base.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Find ips that share the same tags\nfips_by_tags = scaleway.get_flexible_ips(tags=[\"a tag\"])\n# Find ips that share the same Server ID\nmy_offer = scaleway.get_baremetal_offer(name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n name=\"MyServer\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\nfirst = scaleway.FlexibleIp(\"first\",\n server_id=base.id,\n tags=[\n \"foo\",\n \"first\",\n ])\nsecond = scaleway.FlexibleIp(\"second\",\n server_id=base.id,\n tags=[\n \"foo\",\n \"second\",\n ])\nfips_by_server_id = scaleway.get_flexible_ips_output(server_ids=[base.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 // Find ips that share the same tags\n var fipsByTags = Scaleway.GetFlexibleIps.Invoke(new()\n {\n Tags = new[]\n {\n \"a tag\",\n },\n });\n\n // Find ips that share the same Server ID\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Name = \"MyServer\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = true,\n });\n\n var first = new Scaleway.FlexibleIp(\"first\", new()\n {\n ServerId = @base.Id,\n Tags = new[]\n {\n \"foo\",\n \"first\",\n },\n });\n\n var second = new Scaleway.FlexibleIp(\"second\", new()\n {\n ServerId = @base.Id,\n Tags = new[]\n {\n \"foo\",\n \"second\",\n },\n });\n\n var fipsByServerId = Scaleway.GetFlexibleIps.Invoke(new()\n {\n ServerIds = new[]\n {\n @base.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Find ips that share the same tags\n\t\t_, err := scaleway.GetFlexibleIps(ctx, \u0026scaleway.GetFlexibleIpsArgs{\n\t\t\tTags: []string{\n\t\t\t\t\"a tag\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find ips that share the same Server ID\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tName: pulumi.String(\"MyServer\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIp(ctx, \"first\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"first\"),\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.NewFlexibleIp(ctx, \"second\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"second\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetFlexibleIpsOutput(ctx, scaleway.GetFlexibleIpsOutputArgs{\n\t\t\tServerIds: pulumi.StringArray{\n\t\t\t\tbase.ID(),\n\t\t\t},\n\t\t}, nil)\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.GetFlexibleIpsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 // Find ips that share the same tags\n final var fipsByTags = ScalewayFunctions.getFlexibleIps(GetFlexibleIpsArgs.builder()\n .tags(\"a tag\")\n .build());\n\n // Find ips that share the same Server ID\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .name(\"MyServer\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n var first = new FlexibleIp(\"first\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .tags( \n \"foo\",\n \"first\")\n .build());\n\n var second = new FlexibleIp(\"second\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .tags( \n \"foo\",\n \"second\")\n .build());\n\n final var fipsByServerId = ScalewayFunctions.getFlexibleIps(GetFlexibleIpsArgs.builder()\n .serverIds(base.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n name: MyServer\n offer: ${myOffer.offerId}\n installConfigAfterward: true\n first:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n tags:\n - foo\n - first\n second:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n tags:\n - foo\n - second\nvariables:\n # Find ips that share the same tags\n fipsByTags:\n fn::invoke:\n Function: scaleway:getFlexibleIps\n Arguments:\n tags:\n - a tag\n # Find ips that share the same Server ID\n myOffer:\n fn::invoke:\n Function: scaleway:getBaremetalOffer\n Arguments:\n name: EM-B112X-SSD\n fipsByServerId:\n fn::invoke:\n Function: scaleway:getFlexibleIps\n Arguments:\n serverIds:\n - ${base.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple Flexible IPs.\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\n// Find ips that share the same tags\nconst fipsByTags = scaleway.getFlexibleIps({\n tags: [\"a tag\"],\n});\n// Find ips that share the same Server ID\nconst myOffer = scaleway.getBaremetalOffer({\n name: \"EM-B112X-SSD\",\n});\nconst base = new scaleway.BaremetalServer(\"base\", {\n name: \"MyServer\",\n offer: myOffer.then(myOffer =\u003e myOffer.offerId),\n installConfigAfterward: true,\n});\nconst first = new scaleway.FlexibleIp(\"first\", {\n serverId: base.id,\n tags: [\n \"foo\",\n \"first\",\n ],\n});\nconst second = new scaleway.FlexibleIp(\"second\", {\n serverId: base.id,\n tags: [\n \"foo\",\n \"second\",\n ],\n});\nconst fipsByServerId = scaleway.getFlexibleIpsOutput({\n serverIds: [base.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Find ips that share the same tags\nfips_by_tags = scaleway.get_flexible_ips(tags=[\"a tag\"])\n# Find ips that share the same Server ID\nmy_offer = scaleway.get_baremetal_offer(name=\"EM-B112X-SSD\")\nbase = scaleway.BaremetalServer(\"base\",\n name=\"MyServer\",\n offer=my_offer.offer_id,\n install_config_afterward=True)\nfirst = scaleway.FlexibleIp(\"first\",\n server_id=base.id,\n tags=[\n \"foo\",\n \"first\",\n ])\nsecond = scaleway.FlexibleIp(\"second\",\n server_id=base.id,\n tags=[\n \"foo\",\n \"second\",\n ])\nfips_by_server_id = scaleway.get_flexible_ips_output(server_ids=[base.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 // Find ips that share the same tags\n var fipsByTags = Scaleway.GetFlexibleIps.Invoke(new()\n {\n Tags = new[]\n {\n \"a tag\",\n },\n });\n\n // Find ips that share the same Server ID\n var myOffer = Scaleway.GetBaremetalOffer.Invoke(new()\n {\n Name = \"EM-B112X-SSD\",\n });\n\n var @base = new Scaleway.BaremetalServer(\"base\", new()\n {\n Name = \"MyServer\",\n Offer = myOffer.Apply(getBaremetalOfferResult =\u003e getBaremetalOfferResult.OfferId),\n InstallConfigAfterward = true,\n });\n\n var first = new Scaleway.FlexibleIp(\"first\", new()\n {\n ServerId = @base.Id,\n Tags = new[]\n {\n \"foo\",\n \"first\",\n },\n });\n\n var second = new Scaleway.FlexibleIp(\"second\", new()\n {\n ServerId = @base.Id,\n Tags = new[]\n {\n \"foo\",\n \"second\",\n },\n });\n\n var fipsByServerId = Scaleway.GetFlexibleIps.Invoke(new()\n {\n ServerIds = new[]\n {\n @base.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Find ips that share the same tags\n\t\t_, err := scaleway.GetFlexibleIps(ctx, \u0026scaleway.GetFlexibleIpsArgs{\n\t\t\tTags: []string{\n\t\t\t\t\"a tag\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find ips that share the same Server ID\n\t\tmyOffer, err := scaleway.GetBaremetalOffer(ctx, \u0026scaleway.GetBaremetalOfferArgs{\n\t\t\tName: pulumi.StringRef(\"EM-B112X-SSD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewBaremetalServer(ctx, \"base\", \u0026scaleway.BaremetalServerArgs{\n\t\t\tName: pulumi.String(\"MyServer\"),\n\t\t\tOffer: pulumi.String(myOffer.OfferId),\n\t\t\tInstallConfigAfterward: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewFlexibleIp(ctx, \"first\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"first\"),\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.NewFlexibleIp(ctx, \"second\", \u0026scaleway.FlexibleIpArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"second\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetFlexibleIpsOutput(ctx, scaleway.GetFlexibleIpsOutputArgs{\n\t\t\tServerIds: pulumi.StringArray{\n\t\t\t\tbase.ID(),\n\t\t\t},\n\t\t}, nil)\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.GetFlexibleIpsArgs;\nimport com.pulumi.scaleway.inputs.GetBaremetalOfferArgs;\nimport com.pulumi.scaleway.BaremetalServer;\nimport com.pulumi.scaleway.BaremetalServerArgs;\nimport com.pulumi.scaleway.FlexibleIp;\nimport com.pulumi.scaleway.FlexibleIpArgs;\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 // Find ips that share the same tags\n final var fipsByTags = ScalewayFunctions.getFlexibleIps(GetFlexibleIpsArgs.builder()\n .tags(\"a tag\")\n .build());\n\n // Find ips that share the same Server ID\n final var myOffer = ScalewayFunctions.getBaremetalOffer(GetBaremetalOfferArgs.builder()\n .name(\"EM-B112X-SSD\")\n .build());\n\n var base = new BaremetalServer(\"base\", BaremetalServerArgs.builder()\n .name(\"MyServer\")\n .offer(myOffer.applyValue(getBaremetalOfferResult -\u003e getBaremetalOfferResult.offerId()))\n .installConfigAfterward(true)\n .build());\n\n var first = new FlexibleIp(\"first\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .tags( \n \"foo\",\n \"first\")\n .build());\n\n var second = new FlexibleIp(\"second\", FlexibleIpArgs.builder()\n .serverId(base.id())\n .tags( \n \"foo\",\n \"second\")\n .build());\n\n final var fipsByServerId = ScalewayFunctions.getFlexibleIps(GetFlexibleIpsArgs.builder()\n .serverIds(base.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n base:\n type: scaleway:BaremetalServer\n properties:\n name: MyServer\n offer: ${myOffer.offerId}\n installConfigAfterward: true\n first:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n tags:\n - foo\n - first\n second:\n type: scaleway:FlexibleIp\n properties:\n serverId: ${base.id}\n tags:\n - foo\n - second\nvariables:\n # Find ips that share the same tags\n fipsByTags:\n fn::invoke:\n function: scaleway:getFlexibleIps\n arguments:\n tags:\n - a tag\n # Find ips that share the same Server ID\n myOffer:\n fn::invoke:\n function: scaleway:getBaremetalOffer\n arguments:\n name: EM-B112X-SSD\n fipsByServerId:\n fn::invoke:\n function: scaleway:getFlexibleIps\n arguments:\n serverIds:\n - ${base.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getFlexibleIps.\n", "properties": { @@ -24151,7 +24282,7 @@ } }, "scaleway:index/getIamApiKey:getIamApiKey": { - "description": "Gets information about an existing IAM API key. For more information, refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#api-keys-3665ae).\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 api key infos by id (access_key)\nconst main = scaleway.getIamApiKey({\n accessKey: \"SCWABCDEFGHIJKLMNOPQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get api key infos by id (access_key)\nmain = scaleway.get_iam_api_key(access_key=\"SCWABCDEFGHIJKLMNOPQ\")\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 api key infos by id (access_key)\n var main = Scaleway.GetIamApiKey.Invoke(new()\n {\n AccessKey = \"SCWABCDEFGHIJKLMNOPQ\",\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 api key infos by id (access_key)\n\t\t_, err := scaleway.LookupIamApiKey(ctx, \u0026scaleway.LookupIamApiKeyArgs{\n\t\t\tAccessKey: \"SCWABCDEFGHIJKLMNOPQ\",\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.GetIamApiKeyArgs;\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 api key infos by id (access_key)\n final var main = ScalewayFunctions.getIamApiKey(GetIamApiKeyArgs.builder()\n .accessKey(\"SCWABCDEFGHIJKLMNOPQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get api key infos by id (access_key)\n main:\n fn::invoke:\n Function: scaleway:getIamApiKey\n Arguments:\n accessKey: SCWABCDEFGHIJKLMNOPQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an existing IAM API key. For more information, refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#api-keys-3665ae).\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 api key infos by id (access_key)\nconst main = scaleway.getIamApiKey({\n accessKey: \"SCWABCDEFGHIJKLMNOPQ\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get api key infos by id (access_key)\nmain = scaleway.get_iam_api_key(access_key=\"SCWABCDEFGHIJKLMNOPQ\")\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 api key infos by id (access_key)\n var main = Scaleway.GetIamApiKey.Invoke(new()\n {\n AccessKey = \"SCWABCDEFGHIJKLMNOPQ\",\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 api key infos by id (access_key)\n\t\t_, err := scaleway.LookupIamApiKey(ctx, \u0026scaleway.LookupIamApiKeyArgs{\n\t\t\tAccessKey: \"SCWABCDEFGHIJKLMNOPQ\",\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.GetIamApiKeyArgs;\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 api key infos by id (access_key)\n final var main = ScalewayFunctions.getIamApiKey(GetIamApiKeyArgs.builder()\n .accessKey(\"SCWABCDEFGHIJKLMNOPQ\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get api key infos by id (access_key)\n main:\n fn::invoke:\n function: scaleway:getIamApiKey\n arguments:\n accessKey: SCWABCDEFGHIJKLMNOPQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamApiKey.\n", "properties": { @@ -24220,7 +24351,7 @@ } }, "scaleway:index/getIamApplication:getIamApplication": { - "description": "Gets information about an existing IAM application.\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 info by name\nconst findByName = scaleway.getIamApplication({\n name: \"foobar\",\n});\n// Get info by application ID\nconst findById = scaleway.getIamApplication({\n applicationId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nfind_by_name = scaleway.get_iam_application(name=\"foobar\")\n# Get info by application ID\nfind_by_id = scaleway.get_iam_application(application_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 info by name\n var findByName = Scaleway.GetIamApplication.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by application ID\n var findById = Scaleway.GetIamApplication.Invoke(new()\n {\n ApplicationId = \"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 info by name\n\t\t_, err := scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by application ID\n\t\t_, err = scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tApplicationId: 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.GetIamApplicationArgs;\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 info by name\n final var findByName = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by application ID\n final var findById = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .applicationId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n findByName:\n fn::invoke:\n Function: scaleway:getIamApplication\n Arguments:\n name: foobar\n # Get info by application ID\n findById:\n fn::invoke:\n Function: scaleway:getIamApplication\n Arguments:\n applicationId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an existing IAM application.\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 info by name\nconst findByName = scaleway.getIamApplication({\n name: \"foobar\",\n});\n// Get info by application ID\nconst findById = scaleway.getIamApplication({\n applicationId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nfind_by_name = scaleway.get_iam_application(name=\"foobar\")\n# Get info by application ID\nfind_by_id = scaleway.get_iam_application(application_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 info by name\n var findByName = Scaleway.GetIamApplication.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by application ID\n var findById = Scaleway.GetIamApplication.Invoke(new()\n {\n ApplicationId = \"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 info by name\n\t\t_, err := scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by application ID\n\t\t_, err = scaleway.LookupIamApplication(ctx, \u0026scaleway.LookupIamApplicationArgs{\n\t\t\tApplicationId: 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.GetIamApplicationArgs;\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 info by name\n final var findByName = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by application ID\n final var findById = ScalewayFunctions.getIamApplication(GetIamApplicationArgs.builder()\n .applicationId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n findByName:\n fn::invoke:\n function: scaleway:getIamApplication\n arguments:\n name: foobar\n # Get info by application ID\n findById:\n fn::invoke:\n function: scaleway:getIamApplication\n arguments:\n applicationId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamApplication.\n", "properties": { @@ -24286,7 +24417,7 @@ } }, "scaleway:index/getIamGroup:getIamGroup": { - "description": "Gets information about an existing IAM group.\n\nFor more information, refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#applications-83ce5e)\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 info by name\nconst findByName = scaleway.getIamGroup({\n name: \"foobar\",\n});\n// Get info by group ID\nconst findById = scaleway.getIamGroup({\n groupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nfind_by_name = scaleway.get_iam_group(name=\"foobar\")\n# Get info by group ID\nfind_by_id = scaleway.get_iam_group(group_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 info by name\n var findByName = Scaleway.GetIamGroup.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by group ID\n var findById = Scaleway.GetIamGroup.Invoke(new()\n {\n GroupId = \"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 info by name\n\t\t_, err := scaleway.LookupIamGroup(ctx, \u0026scaleway.LookupIamGroupArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by group ID\n\t\t_, err = scaleway.LookupIamGroup(ctx, \u0026scaleway.LookupIamGroupArgs{\n\t\t\tGroupId: 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.GetIamGroupArgs;\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 info by name\n final var findByName = ScalewayFunctions.getIamGroup(GetIamGroupArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by group ID\n final var findById = ScalewayFunctions.getIamGroup(GetIamGroupArgs.builder()\n .groupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n findByName:\n fn::invoke:\n Function: scaleway:getIamGroup\n Arguments:\n name: foobar\n # Get info by group ID\n findById:\n fn::invoke:\n Function: scaleway:getIamGroup\n Arguments:\n groupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an existing IAM group.\n\nFor more information, refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#applications-83ce5e)\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 info by name\nconst findByName = scaleway.getIamGroup({\n name: \"foobar\",\n});\n// Get info by group ID\nconst findById = scaleway.getIamGroup({\n groupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nfind_by_name = scaleway.get_iam_group(name=\"foobar\")\n# Get info by group ID\nfind_by_id = scaleway.get_iam_group(group_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 info by name\n var findByName = Scaleway.GetIamGroup.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by group ID\n var findById = Scaleway.GetIamGroup.Invoke(new()\n {\n GroupId = \"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 info by name\n\t\t_, err := scaleway.LookupIamGroup(ctx, \u0026scaleway.LookupIamGroupArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by group ID\n\t\t_, err = scaleway.LookupIamGroup(ctx, \u0026scaleway.LookupIamGroupArgs{\n\t\t\tGroupId: 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.GetIamGroupArgs;\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 info by name\n final var findByName = ScalewayFunctions.getIamGroup(GetIamGroupArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by group ID\n final var findById = ScalewayFunctions.getIamGroup(GetIamGroupArgs.builder()\n .groupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n findByName:\n fn::invoke:\n function: scaleway:getIamGroup\n arguments:\n name: foobar\n # Get info by group ID\n findById:\n fn::invoke:\n function: scaleway:getIamGroup\n arguments:\n groupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamGroup.\n", "properties": { @@ -24438,7 +24569,7 @@ } }, "scaleway:index/getIamUser:getIamUser": { - "description": "Use this data source to get information on an existing IAM user based on its ID or email address.\nFor more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#users-06bdcf).\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 info by user id\nconst findById = scaleway.getIamUser({\n userId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get info by email address\nconst findByEmail = scaleway.getIamUser({\n email: \"foo@bar.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by user id\nfind_by_id = scaleway.get_iam_user(user_id=\"11111111-1111-1111-1111-111111111111\")\n# Get info by email address\nfind_by_email = scaleway.get_iam_user(email=\"foo@bar.com\")\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 info by user id\n var findById = Scaleway.GetIamUser.Invoke(new()\n {\n UserId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get info by email address\n var findByEmail = Scaleway.GetIamUser.Invoke(new()\n {\n Email = \"foo@bar.com\",\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 info by user id\n\t\t_, err := scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tUserId: 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 email address\n\t\t_, err = scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tEmail: pulumi.StringRef(\"foo@bar.com\"),\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.GetIamUserArgs;\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 info by user id\n final var findById = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .userId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get info by email address\n final var findByEmail = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"foo@bar.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by user id\n findById:\n fn::invoke:\n Function: scaleway:getIamUser\n Arguments:\n userId: 11111111-1111-1111-1111-111111111111\n # Get info by email address\n findByEmail:\n fn::invoke:\n Function: scaleway:getIamUser\n Arguments:\n email: foo@bar.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information on an existing IAM user based on its ID or email address.\nFor more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#users-06bdcf).\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 info by user id\nconst findById = scaleway.getIamUser({\n userId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get info by email address\nconst findByEmail = scaleway.getIamUser({\n email: \"foo@bar.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by user id\nfind_by_id = scaleway.get_iam_user(user_id=\"11111111-1111-1111-1111-111111111111\")\n# Get info by email address\nfind_by_email = scaleway.get_iam_user(email=\"foo@bar.com\")\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 info by user id\n var findById = Scaleway.GetIamUser.Invoke(new()\n {\n UserId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get info by email address\n var findByEmail = Scaleway.GetIamUser.Invoke(new()\n {\n Email = \"foo@bar.com\",\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 info by user id\n\t\t_, err := scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tUserId: 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 email address\n\t\t_, err = scaleway.LookupIamUser(ctx, \u0026scaleway.LookupIamUserArgs{\n\t\t\tEmail: pulumi.StringRef(\"foo@bar.com\"),\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.GetIamUserArgs;\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 info by user id\n final var findById = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .userId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get info by email address\n final var findByEmail = ScalewayFunctions.getIamUser(GetIamUserArgs.builder()\n .email(\"foo@bar.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by user id\n findById:\n fn::invoke:\n function: scaleway:getIamUser\n arguments:\n userId: 11111111-1111-1111-1111-111111111111\n # Get info by email address\n findByEmail:\n fn::invoke:\n function: scaleway:getIamUser\n arguments:\n email: foo@bar.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIamUser.\n", "properties": { @@ -24763,7 +24894,7 @@ } }, "scaleway:index/getInstancePrivateNic:getInstancePrivateNic": { - "description": "Gets information about an instance private NIC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byNicId = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n privateNicId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst byPnId = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n privateNetworkId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst byTags = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n tags: [\"mytag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_nic_id = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n private_nic_id=\"11111111-1111-1111-1111-111111111111\")\nby_pn_id = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n private_network_id=\"11111111-1111-1111-1111-111111111111\")\nby_tags = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n tags=[\"mytag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byNicId = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n PrivateNicId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var byPnId = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n PrivateNetworkId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var byTags = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n Tags = new[]\n {\n \"mytag\",\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.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tPrivateNicId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tPrivateNetworkId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tTags: []string{\n\t\t\t\t\"mytag\",\n\t\t\t},\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.GetInstancePrivateNicArgs;\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 byNicId = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .privateNicId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var byPnId = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .privateNetworkId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var byTags = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .tags(\"mytag\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byNicId:\n fn::invoke:\n Function: scaleway:getInstancePrivateNic\n Arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n privateNicId: 11111111-1111-1111-1111-111111111111\n byPnId:\n fn::invoke:\n Function: scaleway:getInstancePrivateNic\n Arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n privateNetworkId: 11111111-1111-1111-1111-111111111111\n byTags:\n fn::invoke:\n Function: scaleway:getInstancePrivateNic\n Arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n tags:\n - mytag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an instance private NIC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byNicId = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n privateNicId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst byPnId = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n privateNetworkId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst byTags = scaleway.getInstancePrivateNic({\n serverId: \"11111111-1111-1111-1111-111111111111\",\n tags: [\"mytag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_nic_id = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n private_nic_id=\"11111111-1111-1111-1111-111111111111\")\nby_pn_id = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n private_network_id=\"11111111-1111-1111-1111-111111111111\")\nby_tags = scaleway.get_instance_private_nic(server_id=\"11111111-1111-1111-1111-111111111111\",\n tags=[\"mytag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byNicId = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n PrivateNicId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var byPnId = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n PrivateNetworkId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var byTags = Scaleway.GetInstancePrivateNic.Invoke(new()\n {\n ServerId = \"11111111-1111-1111-1111-111111111111\",\n Tags = new[]\n {\n \"mytag\",\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.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tPrivateNicId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tPrivateNetworkId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupInstancePrivateNic(ctx, \u0026scaleway.LookupInstancePrivateNicArgs{\n\t\t\tServerId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tTags: []string{\n\t\t\t\t\"mytag\",\n\t\t\t},\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.GetInstancePrivateNicArgs;\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 byNicId = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .privateNicId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var byPnId = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .privateNetworkId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var byTags = ScalewayFunctions.getInstancePrivateNic(GetInstancePrivateNicArgs.builder()\n .serverId(\"11111111-1111-1111-1111-111111111111\")\n .tags(\"mytag\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byNicId:\n fn::invoke:\n function: scaleway:getInstancePrivateNic\n arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n privateNicId: 11111111-1111-1111-1111-111111111111\n byPnId:\n fn::invoke:\n function: scaleway:getInstancePrivateNic\n arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n privateNetworkId: 11111111-1111-1111-1111-111111111111\n byTags:\n fn::invoke:\n function: scaleway:getInstancePrivateNic\n arguments:\n serverId: 11111111-1111-1111-1111-111111111111\n tags:\n - mytag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstancePrivateNic.\n", "properties": { @@ -25228,7 +25359,7 @@ } }, "scaleway:index/getInstanceSnapshot:getInstanceSnapshot": { - "description": "Gets information about an instance snapshot.\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 info by snapshot name\nconst byName = scaleway.getInstanceSnapshot({\n name: \"my-snapshot-name\",\n});\n// Get info by snapshot ID\nconst byId = scaleway.getInstanceSnapshot({\n snapshotId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by snapshot name\nby_name = scaleway.get_instance_snapshot(name=\"my-snapshot-name\")\n# Get info by snapshot ID\nby_id = scaleway.get_instance_snapshot(snapshot_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 info by snapshot name\n var byName = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n Name = \"my-snapshot-name\",\n });\n\n // Get info by snapshot ID\n var byId = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n SnapshotId = \"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 info by snapshot name\n\t\t_, err := scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"my-snapshot-name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by snapshot ID\n\t\t_, err = scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tSnapshotId: 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.GetInstanceSnapshotArgs;\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 info by snapshot name\n final var byName = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .name(\"my-snapshot-name\")\n .build());\n\n // Get info by snapshot ID\n final var byId = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .snapshotId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by snapshot name\n byName:\n fn::invoke:\n Function: scaleway:getInstanceSnapshot\n Arguments:\n name: my-snapshot-name\n # Get info by snapshot ID\n byId:\n fn::invoke:\n Function: scaleway:getInstanceSnapshot\n Arguments:\n snapshotId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about an instance snapshot.\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 info by snapshot name\nconst byName = scaleway.getInstanceSnapshot({\n name: \"my-snapshot-name\",\n});\n// Get info by snapshot ID\nconst byId = scaleway.getInstanceSnapshot({\n snapshotId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by snapshot name\nby_name = scaleway.get_instance_snapshot(name=\"my-snapshot-name\")\n# Get info by snapshot ID\nby_id = scaleway.get_instance_snapshot(snapshot_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 info by snapshot name\n var byName = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n Name = \"my-snapshot-name\",\n });\n\n // Get info by snapshot ID\n var byId = Scaleway.GetInstanceSnapshot.Invoke(new()\n {\n SnapshotId = \"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 info by snapshot name\n\t\t_, err := scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"my-snapshot-name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by snapshot ID\n\t\t_, err = scaleway.LookupInstanceSnapshot(ctx, \u0026scaleway.LookupInstanceSnapshotArgs{\n\t\t\tSnapshotId: 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.GetInstanceSnapshotArgs;\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 info by snapshot name\n final var byName = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .name(\"my-snapshot-name\")\n .build());\n\n // Get info by snapshot ID\n final var byId = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()\n .snapshotId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by snapshot name\n byName:\n fn::invoke:\n function: scaleway:getInstanceSnapshot\n arguments:\n name: my-snapshot-name\n # Get info by snapshot ID\n byId:\n fn::invoke:\n function: scaleway:getInstanceSnapshot\n arguments:\n snapshotId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstanceSnapshot.\n", "properties": { @@ -25601,7 +25732,7 @@ } }, "scaleway:index/getIpamIp:getIpamIp": { - "description": "Gets information about IP addresses managed by Scaleway's IP Address Management (IPAM) service. IPAM is used for the DHCP bundled with VPC Private Networks.\n\nFor more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).\n\n## Examples\n\n### IPAM IP ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by ipam ip id\nconst byId = scaleway.getIpamIp({\n ipamIpId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by ipam ip id\nby_id = scaleway.get_ipam_ip(ipam_ip_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 info by ipam ip id\n var byId = Scaleway.GetIpamIp.Invoke(new()\n {\n IpamIpId = \"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 info by ipam ip id\n\t\t_, err := scaleway.LookupIpamIp(ctx, \u0026scaleway.LookupIpamIpArgs{\n\t\t\tIpamIpId: 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.GetIpamIpArgs;\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 info by ipam ip id\n final var byId = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .ipamIpId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by ipam ip id\n byId:\n fn::invoke:\n Function: scaleway:getIpamIp\n Arguments:\n ipamIpId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance Private Network IP\n\nGet an Instance's IP on a Private Network.\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// Connect your instance to a private network using a private nic.\nconst nic = new scaleway.InstancePrivateNic(\"nic\", {\n serverId: server.id,\n privateNetworkId: pn.id,\n});\n// Find server private IPv4 using private-nic mac address\nconst byMac = scaleway.getIpamIpOutput({\n macAddress: nic.macAddress,\n type: \"ipv4\",\n});\n// Find server private IPv4 using private-nic id\nconst byId = scaleway.getIpamIpOutput({\n resource: {\n id: nic.id,\n type: \"instance_private_nic\",\n },\n type: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Connect your instance to a private network using a private nic.\nnic = scaleway.InstancePrivateNic(\"nic\",\n server_id=server[\"id\"],\n private_network_id=pn[\"id\"])\n# Find server private IPv4 using private-nic mac address\nby_mac = scaleway.get_ipam_ip_output(mac_address=nic.mac_address,\n type=\"ipv4\")\n# Find server private IPv4 using private-nic id\nby_id = scaleway.get_ipam_ip_output(resource={\n \"id\": nic.id,\n \"type\": \"instance_private_nic\",\n },\n type=\"ipv4\")\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 // Connect your instance to a private network using a private nic.\n var nic = new Scaleway.InstancePrivateNic(\"nic\", new()\n {\n ServerId = server.Id,\n PrivateNetworkId = pn.Id,\n });\n\n // Find server private IPv4 using private-nic mac address\n var byMac = Scaleway.GetIpamIp.Invoke(new()\n {\n MacAddress = nic.MacAddress,\n Type = \"ipv4\",\n });\n\n // Find server private IPv4 using private-nic id\n var byId = Scaleway.GetIpamIp.Invoke(new()\n {\n Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs\n {\n Id = nic.Id,\n Type = \"instance_private_nic\",\n },\n Type = \"ipv4\",\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// Connect your instance to a private network using a private nic.\n\t\tnic, err := scaleway.NewInstancePrivateNic(ctx, \"nic\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: pulumi.Any(server.Id),\n\t\t\tPrivateNetworkId: pulumi.Any(pn.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find server private IPv4 using private-nic mac address\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tMacAddress: nic.MacAddress,\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\t// Find server private IPv4 using private-nic id\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tResource: \u0026scaleway.GetIpamIpResourceArgs{\n\t\t\t\tId: nic.ID(),\n\t\t\t\tType: pulumi.String(\"instance_private_nic\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpResourceArgs;\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 // Connect your instance to a private network using a private nic.\n var nic = new InstancePrivateNic(\"nic\", InstancePrivateNicArgs.builder()\n .serverId(server.id())\n .privateNetworkId(pn.id())\n .build());\n\n // Find server private IPv4 using private-nic mac address\n final var byMac = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .macAddress(nic.macAddress())\n .type(\"ipv4\")\n .build());\n\n // Find server private IPv4 using private-nic id\n final var byId = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .resource(GetIpamIpResourceArgs.builder()\n .id(nic.id())\n .type(\"instance_private_nic\")\n .build())\n .type(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Connect your instance to a private network using a private nic.\n nic:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${server.id}\n privateNetworkId: ${pn.id}\nvariables:\n # Find server private IPv4 using private-nic mac address\n byMac:\n fn::invoke:\n Function: scaleway:getIpamIp\n Arguments:\n macAddress: ${nic.macAddress}\n type: ipv4\n # Find server private IPv4 using private-nic id\n byId:\n fn::invoke:\n Function: scaleway:getIpamIp\n Arguments:\n resource:\n id: ${nic.id}\n type: instance_private_nic\n type: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDB instance\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// Find the private IPv4 using resource name\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst main = new scaleway.DatabaseInstance(\"main\", {\n name: \"test-rdb\",\n nodeType: \"DB-DEV-S\",\n engine: \"PostgreSQL-15\",\n isHaCluster: true,\n disableBackup: true,\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n privateNetwork: {\n pnId: pn.id,\n },\n});\nconst byName = scaleway.getIpamIpOutput({\n resource: {\n name: main.name,\n type: \"rdb_instance\",\n },\n type: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Find the private IPv4 using resource name\npn = scaleway.VpcPrivateNetwork(\"pn\")\nmain = scaleway.DatabaseInstance(\"main\",\n name=\"test-rdb\",\n node_type=\"DB-DEV-S\",\n engine=\"PostgreSQL-15\",\n is_ha_cluster=True,\n disable_backup=True,\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n private_network={\n \"pn_id\": pn.id,\n })\nby_name = scaleway.get_ipam_ip_output(resource={\n \"name\": main.name,\n \"type\": \"rdb_instance\",\n },\n type=\"ipv4\")\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 // Find the private IPv4 using resource name\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var main = new Scaleway.DatabaseInstance(\"main\", new()\n {\n Name = \"test-rdb\",\n NodeType = \"DB-DEV-S\",\n Engine = \"PostgreSQL-15\",\n IsHaCluster = true,\n DisableBackup = true,\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n PrivateNetwork = new Scaleway.Inputs.DatabaseInstancePrivateNetworkArgs\n {\n PnId = pn.Id,\n },\n });\n\n var byName = Scaleway.GetIpamIp.Invoke(new()\n {\n Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs\n {\n Name = main.Name,\n Type = \"rdb_instance\",\n },\n Type = \"ipv4\",\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// Find the private IPv4 using resource name\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := scaleway.NewDatabaseInstance(ctx, \"main\", \u0026scaleway.DatabaseInstanceArgs{\n\t\t\tName: pulumi.String(\"test-rdb\"),\n\t\t\tNodeType: pulumi.String(\"DB-DEV-S\"),\n\t\t\tEngine: pulumi.String(\"PostgreSQL-15\"),\n\t\t\tIsHaCluster: pulumi.Bool(true),\n\t\t\tDisableBackup: pulumi.Bool(true),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tPrivateNetwork: \u0026scaleway.DatabaseInstancePrivateNetworkArgs{\n\t\t\t\tPnId: pn.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tResource: \u0026scaleway.GetIpamIpResourceArgs{\n\t\t\t\tName: main.Name,\n\t\t\t\tType: pulumi.String(\"rdb_instance\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.DatabaseInstance;\nimport com.pulumi.scaleway.DatabaseInstanceArgs;\nimport com.pulumi.scaleway.inputs.DatabaseInstancePrivateNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpResourceArgs;\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 // Find the private IPv4 using resource name\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var main = new DatabaseInstance(\"main\", DatabaseInstanceArgs.builder()\n .name(\"test-rdb\")\n .nodeType(\"DB-DEV-S\")\n .engine(\"PostgreSQL-15\")\n .isHaCluster(true)\n .disableBackup(true)\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .privateNetwork(DatabaseInstancePrivateNetworkArgs.builder()\n .pnId(pn.id())\n .build())\n .build());\n\n final var byName = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .resource(GetIpamIpResourceArgs.builder()\n .name(main.name())\n .type(\"rdb_instance\")\n .build())\n .type(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Find the private IPv4 using resource name\n pn:\n type: scaleway:VpcPrivateNetwork\n main:\n type: scaleway:DatabaseInstance\n properties:\n name: test-rdb\n nodeType: DB-DEV-S\n engine: PostgreSQL-15\n isHaCluster: true\n disableBackup: true\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n privateNetwork:\n pnId: ${pn.id}\nvariables:\n byName:\n fn::invoke:\n Function: scaleway:getIpamIp\n Arguments:\n resource:\n name: ${main.name}\n type: rdb_instance\n type: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about IP addresses managed by Scaleway's IP Address Management (IPAM) service. IPAM is used for the DHCP bundled with VPC Private Networks.\n\nFor more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).\n\n## Examples\n\n### IPAM IP ID\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get info by ipam ip id\nconst byId = scaleway.getIpamIp({\n ipamIpId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by ipam ip id\nby_id = scaleway.get_ipam_ip(ipam_ip_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 info by ipam ip id\n var byId = Scaleway.GetIpamIp.Invoke(new()\n {\n IpamIpId = \"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 info by ipam ip id\n\t\t_, err := scaleway.LookupIpamIp(ctx, \u0026scaleway.LookupIpamIpArgs{\n\t\t\tIpamIpId: 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.GetIpamIpArgs;\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 info by ipam ip id\n final var byId = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .ipamIpId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by ipam ip id\n byId:\n fn::invoke:\n function: scaleway:getIpamIp\n arguments:\n ipamIpId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Instance Private Network IP\n\nGet an Instance's IP on a Private Network.\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// Connect your instance to a private network using a private nic.\nconst nic = new scaleway.InstancePrivateNic(\"nic\", {\n serverId: server.id,\n privateNetworkId: pn.id,\n});\n// Find server private IPv4 using private-nic mac address\nconst byMac = scaleway.getIpamIpOutput({\n macAddress: nic.macAddress,\n type: \"ipv4\",\n});\n// Find server private IPv4 using private-nic id\nconst byId = scaleway.getIpamIpOutput({\n resource: {\n id: nic.id,\n type: \"instance_private_nic\",\n },\n type: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Connect your instance to a private network using a private nic.\nnic = scaleway.InstancePrivateNic(\"nic\",\n server_id=server[\"id\"],\n private_network_id=pn[\"id\"])\n# Find server private IPv4 using private-nic mac address\nby_mac = scaleway.get_ipam_ip_output(mac_address=nic.mac_address,\n type=\"ipv4\")\n# Find server private IPv4 using private-nic id\nby_id = scaleway.get_ipam_ip_output(resource={\n \"id\": nic.id,\n \"type\": \"instance_private_nic\",\n },\n type=\"ipv4\")\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 // Connect your instance to a private network using a private nic.\n var nic = new Scaleway.InstancePrivateNic(\"nic\", new()\n {\n ServerId = server.Id,\n PrivateNetworkId = pn.Id,\n });\n\n // Find server private IPv4 using private-nic mac address\n var byMac = Scaleway.GetIpamIp.Invoke(new()\n {\n MacAddress = nic.MacAddress,\n Type = \"ipv4\",\n });\n\n // Find server private IPv4 using private-nic id\n var byId = Scaleway.GetIpamIp.Invoke(new()\n {\n Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs\n {\n Id = nic.Id,\n Type = \"instance_private_nic\",\n },\n Type = \"ipv4\",\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// Connect your instance to a private network using a private nic.\n\t\tnic, err := scaleway.NewInstancePrivateNic(ctx, \"nic\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: pulumi.Any(server.Id),\n\t\t\tPrivateNetworkId: pulumi.Any(pn.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find server private IPv4 using private-nic mac address\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tMacAddress: nic.MacAddress,\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\t// Find server private IPv4 using private-nic id\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tResource: \u0026scaleway.GetIpamIpResourceArgs{\n\t\t\t\tId: nic.ID(),\n\t\t\t\tType: pulumi.String(\"instance_private_nic\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpResourceArgs;\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 // Connect your instance to a private network using a private nic.\n var nic = new InstancePrivateNic(\"nic\", InstancePrivateNicArgs.builder()\n .serverId(server.id())\n .privateNetworkId(pn.id())\n .build());\n\n // Find server private IPv4 using private-nic mac address\n final var byMac = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .macAddress(nic.macAddress())\n .type(\"ipv4\")\n .build());\n\n // Find server private IPv4 using private-nic id\n final var byId = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .resource(GetIpamIpResourceArgs.builder()\n .id(nic.id())\n .type(\"instance_private_nic\")\n .build())\n .type(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Connect your instance to a private network using a private nic.\n nic:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${server.id}\n privateNetworkId: ${pn.id}\nvariables:\n # Find server private IPv4 using private-nic mac address\n byMac:\n fn::invoke:\n function: scaleway:getIpamIp\n arguments:\n macAddress: ${nic.macAddress}\n type: ipv4\n # Find server private IPv4 using private-nic id\n byId:\n fn::invoke:\n function: scaleway:getIpamIp\n arguments:\n resource:\n id: ${nic.id}\n type: instance_private_nic\n type: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDB instance\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// Find the private IPv4 using resource name\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst main = new scaleway.DatabaseInstance(\"main\", {\n name: \"test-rdb\",\n nodeType: \"DB-DEV-S\",\n engine: \"PostgreSQL-15\",\n isHaCluster: true,\n disableBackup: true,\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n privateNetwork: {\n pnId: pn.id,\n },\n});\nconst byName = scaleway.getIpamIpOutput({\n resource: {\n name: main.name,\n type: \"rdb_instance\",\n },\n type: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\n# Find the private IPv4 using resource name\npn = scaleway.VpcPrivateNetwork(\"pn\")\nmain = scaleway.DatabaseInstance(\"main\",\n name=\"test-rdb\",\n node_type=\"DB-DEV-S\",\n engine=\"PostgreSQL-15\",\n is_ha_cluster=True,\n disable_backup=True,\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n private_network={\n \"pn_id\": pn.id,\n })\nby_name = scaleway.get_ipam_ip_output(resource={\n \"name\": main.name,\n \"type\": \"rdb_instance\",\n },\n type=\"ipv4\")\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 // Find the private IPv4 using resource name\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var main = new Scaleway.DatabaseInstance(\"main\", new()\n {\n Name = \"test-rdb\",\n NodeType = \"DB-DEV-S\",\n Engine = \"PostgreSQL-15\",\n IsHaCluster = true,\n DisableBackup = true,\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n PrivateNetwork = new Scaleway.Inputs.DatabaseInstancePrivateNetworkArgs\n {\n PnId = pn.Id,\n },\n });\n\n var byName = Scaleway.GetIpamIp.Invoke(new()\n {\n Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs\n {\n Name = main.Name,\n Type = \"rdb_instance\",\n },\n Type = \"ipv4\",\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// Find the private IPv4 using resource name\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := scaleway.NewDatabaseInstance(ctx, \"main\", \u0026scaleway.DatabaseInstanceArgs{\n\t\t\tName: pulumi.String(\"test-rdb\"),\n\t\t\tNodeType: pulumi.String(\"DB-DEV-S\"),\n\t\t\tEngine: pulumi.String(\"PostgreSQL-15\"),\n\t\t\tIsHaCluster: pulumi.Bool(true),\n\t\t\tDisableBackup: pulumi.Bool(true),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tPrivateNetwork: \u0026scaleway.DatabaseInstancePrivateNetworkArgs{\n\t\t\t\tPnId: pn.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupIpamIpOutput(ctx, scaleway.GetIpamIpOutputArgs{\n\t\t\tResource: \u0026scaleway.GetIpamIpResourceArgs{\n\t\t\t\tName: main.Name,\n\t\t\t\tType: pulumi.String(\"rdb_instance\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.DatabaseInstance;\nimport com.pulumi.scaleway.DatabaseInstanceArgs;\nimport com.pulumi.scaleway.inputs.DatabaseInstancePrivateNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpResourceArgs;\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 // Find the private IPv4 using resource name\n var pn = new VpcPrivateNetwork(\"pn\");\n\n var main = new DatabaseInstance(\"main\", DatabaseInstanceArgs.builder()\n .name(\"test-rdb\")\n .nodeType(\"DB-DEV-S\")\n .engine(\"PostgreSQL-15\")\n .isHaCluster(true)\n .disableBackup(true)\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .privateNetwork(DatabaseInstancePrivateNetworkArgs.builder()\n .pnId(pn.id())\n .build())\n .build());\n\n final var byName = ScalewayFunctions.getIpamIp(GetIpamIpArgs.builder()\n .resource(GetIpamIpResourceArgs.builder()\n .name(main.name())\n .type(\"rdb_instance\")\n .build())\n .type(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Find the private IPv4 using resource name\n pn:\n type: scaleway:VpcPrivateNetwork\n main:\n type: scaleway:DatabaseInstance\n properties:\n name: test-rdb\n nodeType: DB-DEV-S\n engine: PostgreSQL-15\n isHaCluster: true\n disableBackup: true\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n privateNetwork:\n pnId: ${pn.id}\nvariables:\n byName:\n fn::invoke:\n function: scaleway:getIpamIp\n arguments:\n resource:\n name: ${main.name}\n type: rdb_instance\n type: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpamIp.\n", "properties": { @@ -25719,7 +25850,7 @@ } }, "scaleway:index/getIpamIps:getIpamIps": { - "description": "Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service.\n\nFor more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).\n\n## Examples\n\n### By tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byTag = scaleway.getIpamIps({\n tags: [\"tag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_tag = scaleway.get_ipam_ips(tags=[\"tag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byTag = Scaleway.GetIpamIps.Invoke(new()\n {\n Tags = new[]\n {\n \"tag\",\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.GetIpamIps(ctx, \u0026scaleway.GetIpamIpsArgs{\n\t\t\tTags: []string{\n\t\t\t\t\"tag\",\n\t\t\t},\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.GetIpamIpsArgs;\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 byTag = ScalewayFunctions.getIpamIps(GetIpamIpsArgs.builder()\n .tags(\"tag\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byTag:\n fn::invoke:\n Function: scaleway:getIpamIps\n Arguments:\n tags:\n - tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By type and resource\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 vpc01 = new scaleway.Vpc(\"vpc01\", {name: \"my vpc\"});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n vpcId: vpc01.id,\n ipv4Subnet: {\n subnet: \"172.16.32.0/22\",\n },\n});\nconst redis01 = new scaleway.RedisCluster(\"redis01\", {\n name: \"my_redis_cluster\",\n version: \"7.0.5\",\n nodeType: \"RED1-XS\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n clusterSize: 3,\n privateNetworks: [{\n id: pn01.id,\n }],\n});\nconst byTypeAndResource = scaleway.getIpamIpsOutput({\n type: \"ipv4\",\n resource: {\n id: redis01.id,\n type: \"redis_cluster\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\", name=\"my vpc\")\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n vpc_id=vpc01.id,\n ipv4_subnet={\n \"subnet\": \"172.16.32.0/22\",\n })\nredis01 = scaleway.RedisCluster(\"redis01\",\n name=\"my_redis_cluster\",\n version=\"7.0.5\",\n node_type=\"RED1-XS\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n cluster_size=3,\n private_networks=[{\n \"id\": pn01.id,\n }])\nby_type_and_resource = scaleway.get_ipam_ips_output(type=\"ipv4\",\n resource={\n \"id\": redis01.id,\n \"type\": \"redis_cluster\",\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 vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"my vpc\",\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n VpcId = vpc01.Id,\n Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs\n {\n Subnet = \"172.16.32.0/22\",\n },\n });\n\n var redis01 = new Scaleway.RedisCluster(\"redis01\", new()\n {\n Name = \"my_redis_cluster\",\n Version = \"7.0.5\",\n NodeType = \"RED1-XS\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n ClusterSize = 3,\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.RedisClusterPrivateNetworkArgs\n {\n Id = pn01.Id,\n },\n },\n });\n\n var byTypeAndResource = Scaleway.GetIpamIps.Invoke(new()\n {\n Type = \"ipv4\",\n Resource = new Scaleway.Inputs.GetIpamIpsResourceInputArgs\n {\n Id = redis01.Id,\n Type = \"redis_cluster\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc01, err := scaleway.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"my vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tVpcId: vpc01.ID(),\n\t\t\tIpv4Subnet: \u0026scaleway.VpcPrivateNetworkIpv4SubnetArgs{\n\t\t\t\tSubnet: pulumi.String(\"172.16.32.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tredis01, err := scaleway.NewRedisCluster(ctx, \"redis01\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"my_redis_cluster\"),\n\t\t\tVersion: pulumi.String(\"7.0.5\"),\n\t\t\tNodeType: pulumi.String(\"RED1-XS\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tClusterSize: pulumi.Int(3),\n\t\t\tPrivateNetworks: scaleway.RedisClusterPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.RedisClusterPrivateNetworkArgs{\n\t\t\t\t\tId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetIpamIpsOutput(ctx, scaleway.GetIpamIpsOutputArgs{\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t\tResource: \u0026scaleway.GetIpamIpsResourceArgs{\n\t\t\t\tId: redis01.ID(),\n\t\t\t\tType: pulumi.String(\"redis_cluster\"),\n\t\t\t},\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;\nimport com.pulumi.scaleway.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterPrivateNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpsArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpsResourceArgs;\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 .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .vpcId(vpc01.id())\n .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()\n .subnet(\"172.16.32.0/22\")\n .build())\n .build());\n\n var redis01 = new RedisCluster(\"redis01\", RedisClusterArgs.builder()\n .name(\"my_redis_cluster\")\n .version(\"7.0.5\")\n .nodeType(\"RED1-XS\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .clusterSize(3)\n .privateNetworks(RedisClusterPrivateNetworkArgs.builder()\n .id(pn01.id())\n .build())\n .build());\n\n final var byTypeAndResource = ScalewayFunctions.getIpamIps(GetIpamIpsArgs.builder()\n .type(\"ipv4\")\n .resource(GetIpamIpsResourceArgs.builder()\n .id(redis01.id())\n .type(\"redis_cluster\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: my vpc\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n vpcId: ${vpc01.id}\n ipv4Subnet:\n subnet: 172.16.32.0/22\n redis01:\n type: scaleway:RedisCluster\n properties:\n name: my_redis_cluster\n version: 7.0.5\n nodeType: RED1-XS\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n clusterSize: 3\n privateNetworks:\n - id: ${pn01.id}\nvariables:\n byTypeAndResource:\n fn::invoke:\n Function: scaleway:getIpamIps\n Arguments:\n type: ipv4\n resource:\n id: ${redis01.id}\n type: redis_cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service.\n\nFor more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).\n\n## Examples\n\n### By tag\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byTag = scaleway.getIpamIps({\n tags: [\"tag\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_tag = scaleway.get_ipam_ips(tags=[\"tag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byTag = Scaleway.GetIpamIps.Invoke(new()\n {\n Tags = new[]\n {\n \"tag\",\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.GetIpamIps(ctx, \u0026scaleway.GetIpamIpsArgs{\n\t\t\tTags: []string{\n\t\t\t\t\"tag\",\n\t\t\t},\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.GetIpamIpsArgs;\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 byTag = ScalewayFunctions.getIpamIps(GetIpamIpsArgs.builder()\n .tags(\"tag\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byTag:\n fn::invoke:\n function: scaleway:getIpamIps\n arguments:\n tags:\n - tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### By type and resource\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 vpc01 = new scaleway.Vpc(\"vpc01\", {name: \"my vpc\"});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n vpcId: vpc01.id,\n ipv4Subnet: {\n subnet: \"172.16.32.0/22\",\n },\n});\nconst redis01 = new scaleway.RedisCluster(\"redis01\", {\n name: \"my_redis_cluster\",\n version: \"7.0.5\",\n nodeType: \"RED1-XS\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n clusterSize: 3,\n privateNetworks: [{\n id: pn01.id,\n }],\n});\nconst byTypeAndResource = scaleway.getIpamIpsOutput({\n type: \"ipv4\",\n resource: {\n id: redis01.id,\n type: \"redis_cluster\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\", name=\"my vpc\")\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n vpc_id=vpc01.id,\n ipv4_subnet={\n \"subnet\": \"172.16.32.0/22\",\n })\nredis01 = scaleway.RedisCluster(\"redis01\",\n name=\"my_redis_cluster\",\n version=\"7.0.5\",\n node_type=\"RED1-XS\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n cluster_size=3,\n private_networks=[{\n \"id\": pn01.id,\n }])\nby_type_and_resource = scaleway.get_ipam_ips_output(type=\"ipv4\",\n resource={\n \"id\": redis01.id,\n \"type\": \"redis_cluster\",\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 vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"my vpc\",\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n VpcId = vpc01.Id,\n Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs\n {\n Subnet = \"172.16.32.0/22\",\n },\n });\n\n var redis01 = new Scaleway.RedisCluster(\"redis01\", new()\n {\n Name = \"my_redis_cluster\",\n Version = \"7.0.5\",\n NodeType = \"RED1-XS\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n ClusterSize = 3,\n PrivateNetworks = new[]\n {\n new Scaleway.Inputs.RedisClusterPrivateNetworkArgs\n {\n Id = pn01.Id,\n },\n },\n });\n\n var byTypeAndResource = Scaleway.GetIpamIps.Invoke(new()\n {\n Type = \"ipv4\",\n Resource = new Scaleway.Inputs.GetIpamIpsResourceInputArgs\n {\n Id = redis01.Id,\n Type = \"redis_cluster\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc01, err := scaleway.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"my vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tVpcId: vpc01.ID(),\n\t\t\tIpv4Subnet: \u0026scaleway.VpcPrivateNetworkIpv4SubnetArgs{\n\t\t\t\tSubnet: pulumi.String(\"172.16.32.0/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tredis01, err := scaleway.NewRedisCluster(ctx, \"redis01\", \u0026scaleway.RedisClusterArgs{\n\t\t\tName: pulumi.String(\"my_redis_cluster\"),\n\t\t\tVersion: pulumi.String(\"7.0.5\"),\n\t\t\tNodeType: pulumi.String(\"RED1-XS\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tClusterSize: pulumi.Int(3),\n\t\t\tPrivateNetworks: scaleway.RedisClusterPrivateNetworkArray{\n\t\t\t\t\u0026scaleway.RedisClusterPrivateNetworkArgs{\n\t\t\t\t\tId: pn01.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetIpamIpsOutput(ctx, scaleway.GetIpamIpsOutputArgs{\n\t\t\tType: pulumi.String(\"ipv4\"),\n\t\t\tResource: \u0026scaleway.GetIpamIpsResourceArgs{\n\t\t\t\tId: redis01.ID(),\n\t\t\t\tType: pulumi.String(\"redis_cluster\"),\n\t\t\t},\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;\nimport com.pulumi.scaleway.RedisCluster;\nimport com.pulumi.scaleway.RedisClusterArgs;\nimport com.pulumi.scaleway.inputs.RedisClusterPrivateNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetIpamIpsArgs;\nimport com.pulumi.scaleway.inputs.GetIpamIpsResourceArgs;\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 .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .vpcId(vpc01.id())\n .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()\n .subnet(\"172.16.32.0/22\")\n .build())\n .build());\n\n var redis01 = new RedisCluster(\"redis01\", RedisClusterArgs.builder()\n .name(\"my_redis_cluster\")\n .version(\"7.0.5\")\n .nodeType(\"RED1-XS\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .clusterSize(3)\n .privateNetworks(RedisClusterPrivateNetworkArgs.builder()\n .id(pn01.id())\n .build())\n .build());\n\n final var byTypeAndResource = ScalewayFunctions.getIpamIps(GetIpamIpsArgs.builder()\n .type(\"ipv4\")\n .resource(GetIpamIpsResourceArgs.builder()\n .id(redis01.id())\n .type(\"redis_cluster\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: my vpc\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n vpcId: ${vpc01.id}\n ipv4Subnet:\n subnet: 172.16.32.0/22\n redis01:\n type: scaleway:RedisCluster\n properties:\n name: my_redis_cluster\n version: 7.0.5\n nodeType: RED1-XS\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n clusterSize: 3\n privateNetworks:\n - id: ${pn01.id}\nvariables:\n byTypeAndResource:\n fn::invoke:\n function: scaleway:getIpamIps\n arguments:\n type: ipv4\n resource:\n id: ${redis01.id}\n type: redis_cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getIpamIps.\n", "properties": { @@ -25834,7 +25965,7 @@ } }, "scaleway:index/getK8sVersion:getK8sVersion": { - "description": "Gets information about a Kubernetes version.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api).\n\nYou can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions.\n\n## Example Usage\n\n### Use the latest version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst latest = scaleway.getK8sVersion({\n name: \"latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nlatest = scaleway.get_k8s_version(name=\"latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var latest = Scaleway.GetK8sVersion.Invoke(new()\n {\n Name = \"latest\",\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.GetK8sVersion(ctx, \u0026scaleway.GetK8sVersionArgs{\n\t\t\tName: \"latest\",\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.GetK8sVersionArgs;\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 latest = ScalewayFunctions.getK8sVersion(GetK8sVersionArgs.builder()\n .name(\"latest\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n latest:\n fn::invoke:\n Function: scaleway:getK8sVersion\n Arguments:\n name: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use a specific version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byName = scaleway.getK8sVersion({\n name: \"1.26.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_name = scaleway.get_k8s_version(name=\"1.26.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Scaleway.GetK8sVersion.Invoke(new()\n {\n Name = \"1.26.0\",\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.GetK8sVersion(ctx, \u0026scaleway.GetK8sVersionArgs{\n\t\t\tName: \"1.26.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetK8sVersionArgs;\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 byName = ScalewayFunctions.getK8sVersion(GetK8sVersionArgs.builder()\n .name(\"1.26.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byName:\n fn::invoke:\n Function: scaleway:getK8sVersion\n Arguments:\n name: 1.26.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Kubernetes version.\nFor more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api).\n\nYou can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions.\n\n## Example Usage\n\n### Use the latest version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst latest = scaleway.getK8sVersion({\n name: \"latest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nlatest = scaleway.get_k8s_version(name=\"latest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var latest = Scaleway.GetK8sVersion.Invoke(new()\n {\n Name = \"latest\",\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.GetK8sVersion(ctx, \u0026scaleway.GetK8sVersionArgs{\n\t\t\tName: \"latest\",\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.GetK8sVersionArgs;\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 latest = ScalewayFunctions.getK8sVersion(GetK8sVersionArgs.builder()\n .name(\"latest\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n latest:\n fn::invoke:\n function: scaleway:getK8sVersion\n arguments:\n name: latest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use a specific version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst byName = scaleway.getK8sVersion({\n name: \"1.26.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nby_name = scaleway.get_k8s_version(name=\"1.26.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Scaleway.GetK8sVersion.Invoke(new()\n {\n Name = \"1.26.0\",\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.GetK8sVersion(ctx, \u0026scaleway.GetK8sVersionArgs{\n\t\t\tName: \"1.26.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetK8sVersionArgs;\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 byName = ScalewayFunctions.getK8sVersion(GetK8sVersionArgs.builder()\n .name(\"1.26.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n byName:\n fn::invoke:\n function: scaleway:getK8sVersion\n arguments:\n name: 1.26.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getK8sVersion.\n", "properties": { @@ -26240,7 +26371,7 @@ } }, "scaleway:index/getLbAcls:getLbAcls": { - "description": "Gets information about multiple Load Balancer ACLs.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/acls/) or [API reference](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).\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// Find acls that share the same frontend ID\nconst byFrontID = scaleway.getLbAcls({\n frontendId: frt01.id,\n});\n// Find acls by frontend ID and name\nconst byFrontIDAndName = scaleway.getLbAcls({\n frontendId: frt01.id,\n name: \"tf-acls-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find acls that share the same frontend ID\nby_front_id = scaleway.get_lb_acls(frontend_id=frt01[\"id\"])\n# Find acls by frontend ID and name\nby_front_id_and_name = scaleway.get_lb_acls(frontend_id=frt01[\"id\"],\n name=\"tf-acls-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find acls that share the same frontend ID\n var byFrontID = Scaleway.GetLbAcls.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n // Find acls by frontend ID and name\n var byFrontIDAndName = Scaleway.GetLbAcls.Invoke(new()\n {\n FrontendId = frt01.Id,\n Name = \"tf-acls-datasource\",\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// Find acls that share the same frontend ID\n\t\t_, err := scaleway.GetLbAcls(ctx, \u0026scaleway.GetLbAclsArgs{\n\t\t\tFrontendId: frt01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find acls by frontend ID and name\n\t\t_, err = scaleway.GetLbAcls(ctx, \u0026scaleway.GetLbAclsArgs{\n\t\t\tFrontendId: frt01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-acls-datasource\"),\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.GetLbAclsArgs;\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 // Find acls that share the same frontend ID\n final var byFrontID = ScalewayFunctions.getLbAcls(GetLbAclsArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n // Find acls by frontend ID and name\n final var byFrontIDAndName = ScalewayFunctions.getLbAcls(GetLbAclsArgs.builder()\n .frontendId(frt01.id())\n .name(\"tf-acls-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find acls that share the same frontend ID\n byFrontID:\n fn::invoke:\n Function: scaleway:getLbAcls\n Arguments:\n frontendId: ${frt01.id}\n # Find acls by frontend ID and name\n byFrontIDAndName:\n fn::invoke:\n Function: scaleway:getLbAcls\n Arguments:\n frontendId: ${frt01.id}\n name: tf-acls-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple Load Balancer ACLs.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/acls/) or [API reference](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).\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// Find acls that share the same frontend ID\nconst byFrontID = scaleway.getLbAcls({\n frontendId: frt01.id,\n});\n// Find acls by frontend ID and name\nconst byFrontIDAndName = scaleway.getLbAcls({\n frontendId: frt01.id,\n name: \"tf-acls-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find acls that share the same frontend ID\nby_front_id = scaleway.get_lb_acls(frontend_id=frt01[\"id\"])\n# Find acls by frontend ID and name\nby_front_id_and_name = scaleway.get_lb_acls(frontend_id=frt01[\"id\"],\n name=\"tf-acls-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find acls that share the same frontend ID\n var byFrontID = Scaleway.GetLbAcls.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n // Find acls by frontend ID and name\n var byFrontIDAndName = Scaleway.GetLbAcls.Invoke(new()\n {\n FrontendId = frt01.Id,\n Name = \"tf-acls-datasource\",\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// Find acls that share the same frontend ID\n\t\t_, err := scaleway.GetLbAcls(ctx, \u0026scaleway.GetLbAclsArgs{\n\t\t\tFrontendId: frt01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find acls by frontend ID and name\n\t\t_, err = scaleway.GetLbAcls(ctx, \u0026scaleway.GetLbAclsArgs{\n\t\t\tFrontendId: frt01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-acls-datasource\"),\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.GetLbAclsArgs;\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 // Find acls that share the same frontend ID\n final var byFrontID = ScalewayFunctions.getLbAcls(GetLbAclsArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n // Find acls by frontend ID and name\n final var byFrontIDAndName = ScalewayFunctions.getLbAcls(GetLbAclsArgs.builder()\n .frontendId(frt01.id())\n .name(\"tf-acls-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find acls that share the same frontend ID\n byFrontID:\n fn::invoke:\n function: scaleway:getLbAcls\n arguments:\n frontendId: ${frt01.id}\n # Find acls by frontend ID and name\n byFrontIDAndName:\n fn::invoke:\n function: scaleway:getLbAcls\n arguments:\n frontendId: ${frt01.id}\n name: tf-acls-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbAcls.\n", "properties": { @@ -26309,7 +26440,7 @@ } }, "scaleway:index/getLbBackend:getLbBackend": { - "description": "Get information about Scaleway Load Balancer backends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends).\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 main = new scaleway.LoadbalancerIp(\"main\", {});\nconst mainLoadbalancer = new scaleway.Loadbalancer(\"main\", {\n ipId: main.id,\n name: \"data-test-lb-backend\",\n type: \"LB-S\",\n});\nconst mainLoadbalancerBackend = new scaleway.LoadbalancerBackend(\"main\", {\n lbId: mainLoadbalancer.id,\n name: \"backend01\",\n forwardProtocol: \"http\",\n forwardPort: 80,\n});\nconst byID = scaleway.getLbBackendOutput({\n backendId: mainLoadbalancerBackend.id,\n});\nconst byName = scaleway.getLbBackendOutput({\n name: mainLoadbalancerBackend.name,\n lbId: mainLoadbalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.LoadbalancerIp(\"main\")\nmain_loadbalancer = scaleway.Loadbalancer(\"main\",\n ip_id=main.id,\n name=\"data-test-lb-backend\",\n type=\"LB-S\")\nmain_loadbalancer_backend = scaleway.LoadbalancerBackend(\"main\",\n lb_id=main_loadbalancer.id,\n name=\"backend01\",\n forward_protocol=\"http\",\n forward_port=80)\nby_id = scaleway.get_lb_backend_output(backend_id=main_loadbalancer_backend.id)\nby_name = scaleway.get_lb_backend_output(name=main_loadbalancer_backend.name,\n lb_id=main_loadbalancer.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 main = new Scaleway.LoadbalancerIp(\"main\");\n\n var mainLoadbalancer = new Scaleway.Loadbalancer(\"main\", new()\n {\n IpId = main.Id,\n Name = \"data-test-lb-backend\",\n Type = \"LB-S\",\n });\n\n var mainLoadbalancerBackend = new Scaleway.LoadbalancerBackend(\"main\", new()\n {\n LbId = mainLoadbalancer.Id,\n Name = \"backend01\",\n ForwardProtocol = \"http\",\n ForwardPort = 80,\n });\n\n var byID = Scaleway.GetLbBackend.Invoke(new()\n {\n BackendId = mainLoadbalancerBackend.Id,\n });\n\n var byName = Scaleway.GetLbBackend.Invoke(new()\n {\n Name = mainLoadbalancerBackend.Name,\n LbId = mainLoadbalancer.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\tmain, err := scaleway.NewLoadbalancerIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainLoadbalancer, err := scaleway.NewLoadbalancer(ctx, \"main\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: main.ID(),\n\t\t\tName: pulumi.String(\"data-test-lb-backend\"),\n\t\t\tType: pulumi.String(\"LB-S\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainLoadbalancerBackend, err := scaleway.NewLoadbalancerBackend(ctx, \"main\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: mainLoadbalancer.ID(),\n\t\t\tName: pulumi.String(\"backend01\"),\n\t\t\tForwardProtocol: pulumi.String(\"http\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbBackendOutput(ctx, scaleway.GetLbBackendOutputArgs{\n\t\t\tBackendId: mainLoadbalancerBackend.ID(),\n\t\t}, nil)\n\t\t_ = scaleway.GetLbBackendOutput(ctx, scaleway.GetLbBackendOutputArgs{\n\t\t\tName: mainLoadbalancerBackend.Name,\n\t\t\tLbId: mainLoadbalancer.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbBackendArgs;\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 LoadbalancerIp(\"main\");\n\n var mainLoadbalancer = new Loadbalancer(\"mainLoadbalancer\", LoadbalancerArgs.builder()\n .ipId(main.id())\n .name(\"data-test-lb-backend\")\n .type(\"LB-S\")\n .build());\n\n var mainLoadbalancerBackend = new LoadbalancerBackend(\"mainLoadbalancerBackend\", LoadbalancerBackendArgs.builder()\n .lbId(mainLoadbalancer.id())\n .name(\"backend01\")\n .forwardProtocol(\"http\")\n .forwardPort(\"80\")\n .build());\n\n final var byID = ScalewayFunctions.getLbBackend(GetLbBackendArgs.builder()\n .backendId(mainLoadbalancerBackend.id())\n .build());\n\n final var byName = ScalewayFunctions.getLbBackend(GetLbBackendArgs.builder()\n .name(mainLoadbalancerBackend.name())\n .lbId(mainLoadbalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:LoadbalancerIp\n mainLoadbalancer:\n type: scaleway:Loadbalancer\n name: main\n properties:\n ipId: ${main.id}\n name: data-test-lb-backend\n type: LB-S\n mainLoadbalancerBackend:\n type: scaleway:LoadbalancerBackend\n name: main\n properties:\n lbId: ${mainLoadbalancer.id}\n name: backend01\n forwardProtocol: http\n forwardPort: '80'\nvariables:\n byID:\n fn::invoke:\n Function: scaleway:getLbBackend\n Arguments:\n backendId: ${mainLoadbalancerBackend.id}\n byName:\n fn::invoke:\n Function: scaleway:getLbBackend\n Arguments:\n name: ${mainLoadbalancerBackend.name}\n lbId: ${mainLoadbalancer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about Scaleway Load Balancer backends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends).\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 main = new scaleway.LoadbalancerIp(\"main\", {});\nconst mainLoadbalancer = new scaleway.Loadbalancer(\"main\", {\n ipId: main.id,\n name: \"data-test-lb-backend\",\n type: \"LB-S\",\n});\nconst mainLoadbalancerBackend = new scaleway.LoadbalancerBackend(\"main\", {\n lbId: mainLoadbalancer.id,\n name: \"backend01\",\n forwardProtocol: \"http\",\n forwardPort: 80,\n});\nconst byID = scaleway.getLbBackendOutput({\n backendId: mainLoadbalancerBackend.id,\n});\nconst byName = scaleway.getLbBackendOutput({\n name: mainLoadbalancerBackend.name,\n lbId: mainLoadbalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.LoadbalancerIp(\"main\")\nmain_loadbalancer = scaleway.Loadbalancer(\"main\",\n ip_id=main.id,\n name=\"data-test-lb-backend\",\n type=\"LB-S\")\nmain_loadbalancer_backend = scaleway.LoadbalancerBackend(\"main\",\n lb_id=main_loadbalancer.id,\n name=\"backend01\",\n forward_protocol=\"http\",\n forward_port=80)\nby_id = scaleway.get_lb_backend_output(backend_id=main_loadbalancer_backend.id)\nby_name = scaleway.get_lb_backend_output(name=main_loadbalancer_backend.name,\n lb_id=main_loadbalancer.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 main = new Scaleway.LoadbalancerIp(\"main\");\n\n var mainLoadbalancer = new Scaleway.Loadbalancer(\"main\", new()\n {\n IpId = main.Id,\n Name = \"data-test-lb-backend\",\n Type = \"LB-S\",\n });\n\n var mainLoadbalancerBackend = new Scaleway.LoadbalancerBackend(\"main\", new()\n {\n LbId = mainLoadbalancer.Id,\n Name = \"backend01\",\n ForwardProtocol = \"http\",\n ForwardPort = 80,\n });\n\n var byID = Scaleway.GetLbBackend.Invoke(new()\n {\n BackendId = mainLoadbalancerBackend.Id,\n });\n\n var byName = Scaleway.GetLbBackend.Invoke(new()\n {\n Name = mainLoadbalancerBackend.Name,\n LbId = mainLoadbalancer.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\tmain, err := scaleway.NewLoadbalancerIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainLoadbalancer, err := scaleway.NewLoadbalancer(ctx, \"main\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: main.ID(),\n\t\t\tName: pulumi.String(\"data-test-lb-backend\"),\n\t\t\tType: pulumi.String(\"LB-S\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainLoadbalancerBackend, err := scaleway.NewLoadbalancerBackend(ctx, \"main\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: mainLoadbalancer.ID(),\n\t\t\tName: pulumi.String(\"backend01\"),\n\t\t\tForwardProtocol: pulumi.String(\"http\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbBackendOutput(ctx, scaleway.GetLbBackendOutputArgs{\n\t\t\tBackendId: mainLoadbalancerBackend.ID(),\n\t\t}, nil)\n\t\t_ = scaleway.GetLbBackendOutput(ctx, scaleway.GetLbBackendOutputArgs{\n\t\t\tName: mainLoadbalancerBackend.Name,\n\t\t\tLbId: mainLoadbalancer.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbBackendArgs;\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 LoadbalancerIp(\"main\");\n\n var mainLoadbalancer = new Loadbalancer(\"mainLoadbalancer\", LoadbalancerArgs.builder()\n .ipId(main.id())\n .name(\"data-test-lb-backend\")\n .type(\"LB-S\")\n .build());\n\n var mainLoadbalancerBackend = new LoadbalancerBackend(\"mainLoadbalancerBackend\", LoadbalancerBackendArgs.builder()\n .lbId(mainLoadbalancer.id())\n .name(\"backend01\")\n .forwardProtocol(\"http\")\n .forwardPort(\"80\")\n .build());\n\n final var byID = ScalewayFunctions.getLbBackend(GetLbBackendArgs.builder()\n .backendId(mainLoadbalancerBackend.id())\n .build());\n\n final var byName = ScalewayFunctions.getLbBackend(GetLbBackendArgs.builder()\n .name(mainLoadbalancerBackend.name())\n .lbId(mainLoadbalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:LoadbalancerIp\n mainLoadbalancer:\n type: scaleway:Loadbalancer\n name: main\n properties:\n ipId: ${main.id}\n name: data-test-lb-backend\n type: LB-S\n mainLoadbalancerBackend:\n type: scaleway:LoadbalancerBackend\n name: main\n properties:\n lbId: ${mainLoadbalancer.id}\n name: backend01\n forwardProtocol: http\n forwardPort: '80'\nvariables:\n byID:\n fn::invoke:\n function: scaleway:getLbBackend\n arguments:\n backendId: ${mainLoadbalancerBackend.id}\n byName:\n fn::invoke:\n function: scaleway:getLbBackend\n arguments:\n name: ${mainLoadbalancerBackend.name}\n lbId: ${mainLoadbalancer.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbBackend.\n", "properties": { @@ -26476,7 +26607,7 @@ } }, "scaleway:index/getLbBackends:getLbBackends": { - "description": "Gets information about multiple Load Balancer Backends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends).\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// Find backends that share the same LB ID\nconst byLBID = scaleway.getLbBackends({\n lbId: lb01.id,\n});\n// Find backends by LB ID and name\nconst byLBIDAndName = scaleway.getLbBackends({\n lbId: lb01.id,\n name: \"tf-backend-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find backends that share the same LB ID\nby_lbid = scaleway.get_lb_backends(lb_id=lb01[\"id\"])\n# Find backends by LB ID and name\nby_lbid_and_name = scaleway.get_lb_backends(lb_id=lb01[\"id\"],\n name=\"tf-backend-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find backends that share the same LB ID\n var byLBID = Scaleway.GetLbBackends.Invoke(new()\n {\n LbId = lb01.Id,\n });\n\n // Find backends by LB ID and name\n var byLBIDAndName = Scaleway.GetLbBackends.Invoke(new()\n {\n LbId = lb01.Id,\n Name = \"tf-backend-datasource\",\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// Find backends that share the same LB ID\n\t\t_, err := scaleway.GetLbBackends(ctx, \u0026scaleway.GetLbBackendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find backends by LB ID and name\n\t\t_, err = scaleway.GetLbBackends(ctx, \u0026scaleway.GetLbBackendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-backend-datasource\"),\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.GetLbBackendsArgs;\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 // Find backends that share the same LB ID\n final var byLBID = ScalewayFunctions.getLbBackends(GetLbBackendsArgs.builder()\n .lbId(lb01.id())\n .build());\n\n // Find backends by LB ID and name\n final var byLBIDAndName = ScalewayFunctions.getLbBackends(GetLbBackendsArgs.builder()\n .lbId(lb01.id())\n .name(\"tf-backend-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find backends that share the same LB ID\n byLBID:\n fn::invoke:\n Function: scaleway:getLbBackends\n Arguments:\n lbId: ${lb01.id}\n # Find backends by LB ID and name\n byLBIDAndName:\n fn::invoke:\n Function: scaleway:getLbBackends\n Arguments:\n lbId: ${lb01.id}\n name: tf-backend-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple Load Balancer Backends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends).\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// Find backends that share the same LB ID\nconst byLBID = scaleway.getLbBackends({\n lbId: lb01.id,\n});\n// Find backends by LB ID and name\nconst byLBIDAndName = scaleway.getLbBackends({\n lbId: lb01.id,\n name: \"tf-backend-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find backends that share the same LB ID\nby_lbid = scaleway.get_lb_backends(lb_id=lb01[\"id\"])\n# Find backends by LB ID and name\nby_lbid_and_name = scaleway.get_lb_backends(lb_id=lb01[\"id\"],\n name=\"tf-backend-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find backends that share the same LB ID\n var byLBID = Scaleway.GetLbBackends.Invoke(new()\n {\n LbId = lb01.Id,\n });\n\n // Find backends by LB ID and name\n var byLBIDAndName = Scaleway.GetLbBackends.Invoke(new()\n {\n LbId = lb01.Id,\n Name = \"tf-backend-datasource\",\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// Find backends that share the same LB ID\n\t\t_, err := scaleway.GetLbBackends(ctx, \u0026scaleway.GetLbBackendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find backends by LB ID and name\n\t\t_, err = scaleway.GetLbBackends(ctx, \u0026scaleway.GetLbBackendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-backend-datasource\"),\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.GetLbBackendsArgs;\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 // Find backends that share the same LB ID\n final var byLBID = ScalewayFunctions.getLbBackends(GetLbBackendsArgs.builder()\n .lbId(lb01.id())\n .build());\n\n // Find backends by LB ID and name\n final var byLBIDAndName = ScalewayFunctions.getLbBackends(GetLbBackendsArgs.builder()\n .lbId(lb01.id())\n .name(\"tf-backend-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find backends that share the same LB ID\n byLBID:\n fn::invoke:\n function: scaleway:getLbBackends\n arguments:\n lbId: ${lb01.id}\n # Find backends by LB ID and name\n byLBIDAndName:\n fn::invoke:\n function: scaleway:getLbBackends\n arguments:\n lbId: ${lb01.id}\n name: tf-backend-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbBackends.\n", "properties": { @@ -26545,7 +26676,7 @@ } }, "scaleway:index/getLbFrontend:getLbFrontend": { - "description": "Get information about Scaleway Load Balancer frontends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).\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 ip01 = new scaleway.LoadbalancerIp(\"ip01\", {});\nconst lb01 = new scaleway.Loadbalancer(\"lb01\", {\n ipId: ip01.id,\n name: \"test-lb\",\n type: \"lb-s\",\n});\nconst bkd01 = new scaleway.LoadbalancerBackend(\"bkd01\", {\n lbId: lb01.id,\n forwardProtocol: \"tcp\",\n forwardPort: 80,\n proxyProtocol: \"none\",\n});\nconst frt01 = new scaleway.LoadbalancerFrontend(\"frt01\", {\n lbId: lb01.id,\n backendId: bkd01.id,\n inboundPort: 80,\n});\nconst byID = scaleway.getLbFrontendOutput({\n frontendId: frt01.id,\n});\nconst byName = scaleway.getLbFrontendOutput({\n name: frt01.name,\n lbId: lb01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nip01 = scaleway.LoadbalancerIp(\"ip01\")\nlb01 = scaleway.Loadbalancer(\"lb01\",\n ip_id=ip01.id,\n name=\"test-lb\",\n type=\"lb-s\")\nbkd01 = scaleway.LoadbalancerBackend(\"bkd01\",\n lb_id=lb01.id,\n forward_protocol=\"tcp\",\n forward_port=80,\n proxy_protocol=\"none\")\nfrt01 = scaleway.LoadbalancerFrontend(\"frt01\",\n lb_id=lb01.id,\n backend_id=bkd01.id,\n inbound_port=80)\nby_id = scaleway.get_lb_frontend_output(frontend_id=frt01.id)\nby_name = scaleway.get_lb_frontend_output(name=frt01.name,\n lb_id=lb01.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 ip01 = new Scaleway.LoadbalancerIp(\"ip01\");\n\n var lb01 = new Scaleway.Loadbalancer(\"lb01\", new()\n {\n IpId = ip01.Id,\n Name = \"test-lb\",\n Type = \"lb-s\",\n });\n\n var bkd01 = new Scaleway.LoadbalancerBackend(\"bkd01\", new()\n {\n LbId = lb01.Id,\n ForwardProtocol = \"tcp\",\n ForwardPort = 80,\n ProxyProtocol = \"none\",\n });\n\n var frt01 = new Scaleway.LoadbalancerFrontend(\"frt01\", new()\n {\n LbId = lb01.Id,\n BackendId = bkd01.Id,\n InboundPort = 80,\n });\n\n var byID = Scaleway.GetLbFrontend.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n var byName = Scaleway.GetLbFrontend.Invoke(new()\n {\n Name = frt01.Name,\n LbId = lb01.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\tip01, err := scaleway.NewLoadbalancerIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb01, err := scaleway.NewLoadbalancer(ctx, \"lb01\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: ip01.ID(),\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tType: pulumi.String(\"lb-s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbkd01, err := scaleway.NewLoadbalancerBackend(ctx, \"bkd01\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tForwardProtocol: pulumi.String(\"tcp\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t\tProxyProtocol: pulumi.String(\"none\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrt01, err := scaleway.NewLoadbalancerFrontend(ctx, \"frt01\", \u0026scaleway.LoadbalancerFrontendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tInboundPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbFrontendOutput(ctx, scaleway.GetLbFrontendOutputArgs{\n\t\t\tFrontendId: frt01.ID(),\n\t\t}, nil)\n\t\t_ = scaleway.GetLbFrontendOutput(ctx, scaleway.GetLbFrontendOutputArgs{\n\t\t\tName: frt01.Name,\n\t\t\tLbId: lb01.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.LoadbalancerFrontend;\nimport com.pulumi.scaleway.LoadbalancerFrontendArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbFrontendArgs;\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 ip01 = new LoadbalancerIp(\"ip01\");\n\n var lb01 = new Loadbalancer(\"lb01\", LoadbalancerArgs.builder()\n .ipId(ip01.id())\n .name(\"test-lb\")\n .type(\"lb-s\")\n .build());\n\n var bkd01 = new LoadbalancerBackend(\"bkd01\", LoadbalancerBackendArgs.builder()\n .lbId(lb01.id())\n .forwardProtocol(\"tcp\")\n .forwardPort(80)\n .proxyProtocol(\"none\")\n .build());\n\n var frt01 = new LoadbalancerFrontend(\"frt01\", LoadbalancerFrontendArgs.builder()\n .lbId(lb01.id())\n .backendId(bkd01.id())\n .inboundPort(80)\n .build());\n\n final var byID = ScalewayFunctions.getLbFrontend(GetLbFrontendArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n final var byName = ScalewayFunctions.getLbFrontend(GetLbFrontendArgs.builder()\n .name(frt01.name())\n .lbId(lb01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip01:\n type: scaleway:LoadbalancerIp\n lb01:\n type: scaleway:Loadbalancer\n properties:\n ipId: ${ip01.id}\n name: test-lb\n type: lb-s\n bkd01:\n type: scaleway:LoadbalancerBackend\n properties:\n lbId: ${lb01.id}\n forwardProtocol: tcp\n forwardPort: 80\n proxyProtocol: none\n frt01:\n type: scaleway:LoadbalancerFrontend\n properties:\n lbId: ${lb01.id}\n backendId: ${bkd01.id}\n inboundPort: 80\nvariables:\n byID:\n fn::invoke:\n Function: scaleway:getLbFrontend\n Arguments:\n frontendId: ${frt01.id}\n byName:\n fn::invoke:\n Function: scaleway:getLbFrontend\n Arguments:\n name: ${frt01.name}\n lbId: ${lb01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about Scaleway Load Balancer frontends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).\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 ip01 = new scaleway.LoadbalancerIp(\"ip01\", {});\nconst lb01 = new scaleway.Loadbalancer(\"lb01\", {\n ipId: ip01.id,\n name: \"test-lb\",\n type: \"lb-s\",\n});\nconst bkd01 = new scaleway.LoadbalancerBackend(\"bkd01\", {\n lbId: lb01.id,\n forwardProtocol: \"tcp\",\n forwardPort: 80,\n proxyProtocol: \"none\",\n});\nconst frt01 = new scaleway.LoadbalancerFrontend(\"frt01\", {\n lbId: lb01.id,\n backendId: bkd01.id,\n inboundPort: 80,\n});\nconst byID = scaleway.getLbFrontendOutput({\n frontendId: frt01.id,\n});\nconst byName = scaleway.getLbFrontendOutput({\n name: frt01.name,\n lbId: lb01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nip01 = scaleway.LoadbalancerIp(\"ip01\")\nlb01 = scaleway.Loadbalancer(\"lb01\",\n ip_id=ip01.id,\n name=\"test-lb\",\n type=\"lb-s\")\nbkd01 = scaleway.LoadbalancerBackend(\"bkd01\",\n lb_id=lb01.id,\n forward_protocol=\"tcp\",\n forward_port=80,\n proxy_protocol=\"none\")\nfrt01 = scaleway.LoadbalancerFrontend(\"frt01\",\n lb_id=lb01.id,\n backend_id=bkd01.id,\n inbound_port=80)\nby_id = scaleway.get_lb_frontend_output(frontend_id=frt01.id)\nby_name = scaleway.get_lb_frontend_output(name=frt01.name,\n lb_id=lb01.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 ip01 = new Scaleway.LoadbalancerIp(\"ip01\");\n\n var lb01 = new Scaleway.Loadbalancer(\"lb01\", new()\n {\n IpId = ip01.Id,\n Name = \"test-lb\",\n Type = \"lb-s\",\n });\n\n var bkd01 = new Scaleway.LoadbalancerBackend(\"bkd01\", new()\n {\n LbId = lb01.Id,\n ForwardProtocol = \"tcp\",\n ForwardPort = 80,\n ProxyProtocol = \"none\",\n });\n\n var frt01 = new Scaleway.LoadbalancerFrontend(\"frt01\", new()\n {\n LbId = lb01.Id,\n BackendId = bkd01.Id,\n InboundPort = 80,\n });\n\n var byID = Scaleway.GetLbFrontend.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n var byName = Scaleway.GetLbFrontend.Invoke(new()\n {\n Name = frt01.Name,\n LbId = lb01.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\tip01, err := scaleway.NewLoadbalancerIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb01, err := scaleway.NewLoadbalancer(ctx, \"lb01\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: ip01.ID(),\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tType: pulumi.String(\"lb-s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbkd01, err := scaleway.NewLoadbalancerBackend(ctx, \"bkd01\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tForwardProtocol: pulumi.String(\"tcp\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t\tProxyProtocol: pulumi.String(\"none\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrt01, err := scaleway.NewLoadbalancerFrontend(ctx, \"frt01\", \u0026scaleway.LoadbalancerFrontendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tInboundPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbFrontendOutput(ctx, scaleway.GetLbFrontendOutputArgs{\n\t\t\tFrontendId: frt01.ID(),\n\t\t}, nil)\n\t\t_ = scaleway.GetLbFrontendOutput(ctx, scaleway.GetLbFrontendOutputArgs{\n\t\t\tName: frt01.Name,\n\t\t\tLbId: lb01.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.LoadbalancerFrontend;\nimport com.pulumi.scaleway.LoadbalancerFrontendArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbFrontendArgs;\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 ip01 = new LoadbalancerIp(\"ip01\");\n\n var lb01 = new Loadbalancer(\"lb01\", LoadbalancerArgs.builder()\n .ipId(ip01.id())\n .name(\"test-lb\")\n .type(\"lb-s\")\n .build());\n\n var bkd01 = new LoadbalancerBackend(\"bkd01\", LoadbalancerBackendArgs.builder()\n .lbId(lb01.id())\n .forwardProtocol(\"tcp\")\n .forwardPort(80)\n .proxyProtocol(\"none\")\n .build());\n\n var frt01 = new LoadbalancerFrontend(\"frt01\", LoadbalancerFrontendArgs.builder()\n .lbId(lb01.id())\n .backendId(bkd01.id())\n .inboundPort(80)\n .build());\n\n final var byID = ScalewayFunctions.getLbFrontend(GetLbFrontendArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n final var byName = ScalewayFunctions.getLbFrontend(GetLbFrontendArgs.builder()\n .name(frt01.name())\n .lbId(lb01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip01:\n type: scaleway:LoadbalancerIp\n lb01:\n type: scaleway:Loadbalancer\n properties:\n ipId: ${ip01.id}\n name: test-lb\n type: lb-s\n bkd01:\n type: scaleway:LoadbalancerBackend\n properties:\n lbId: ${lb01.id}\n forwardProtocol: tcp\n forwardPort: 80\n proxyProtocol: none\n frt01:\n type: scaleway:LoadbalancerFrontend\n properties:\n lbId: ${lb01.id}\n backendId: ${bkd01.id}\n inboundPort: 80\nvariables:\n byID:\n fn::invoke:\n function: scaleway:getLbFrontend\n arguments:\n frontendId: ${frt01.id}\n byName:\n fn::invoke:\n function: scaleway:getLbFrontend\n arguments:\n name: ${frt01.name}\n lbId: ${lb01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbFrontend.\n", "properties": { @@ -26626,7 +26757,7 @@ } }, "scaleway:index/getLbFrontends:getLbFrontends": { - "description": "Gets information about multiple Load Balancer frontends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).\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// Find frontends that share the same LB ID\nconst byLBID = scaleway.getLbFrontends({\n lbId: lb01.id,\n});\n// Find frontends by LB ID and name\nconst byLBIDAndName = scaleway.getLbFrontends({\n lbId: lb01.id,\n name: \"tf-frontend-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find frontends that share the same LB ID\nby_lbid = scaleway.get_lb_frontends(lb_id=lb01[\"id\"])\n# Find frontends by LB ID and name\nby_lbid_and_name = scaleway.get_lb_frontends(lb_id=lb01[\"id\"],\n name=\"tf-frontend-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find frontends that share the same LB ID\n var byLBID = Scaleway.GetLbFrontends.Invoke(new()\n {\n LbId = lb01.Id,\n });\n\n // Find frontends by LB ID and name\n var byLBIDAndName = Scaleway.GetLbFrontends.Invoke(new()\n {\n LbId = lb01.Id,\n Name = \"tf-frontend-datasource\",\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// Find frontends that share the same LB ID\n\t\t_, err := scaleway.GetLbFrontends(ctx, \u0026scaleway.GetLbFrontendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find frontends by LB ID and name\n\t\t_, err = scaleway.GetLbFrontends(ctx, \u0026scaleway.GetLbFrontendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-frontend-datasource\"),\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.GetLbFrontendsArgs;\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 // Find frontends that share the same LB ID\n final var byLBID = ScalewayFunctions.getLbFrontends(GetLbFrontendsArgs.builder()\n .lbId(lb01.id())\n .build());\n\n // Find frontends by LB ID and name\n final var byLBIDAndName = ScalewayFunctions.getLbFrontends(GetLbFrontendsArgs.builder()\n .lbId(lb01.id())\n .name(\"tf-frontend-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find frontends that share the same LB ID\n byLBID:\n fn::invoke:\n Function: scaleway:getLbFrontends\n Arguments:\n lbId: ${lb01.id}\n # Find frontends by LB ID and name\n byLBIDAndName:\n fn::invoke:\n Function: scaleway:getLbFrontends\n Arguments:\n lbId: ${lb01.id}\n name: tf-frontend-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple Load Balancer frontends.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends).\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// Find frontends that share the same LB ID\nconst byLBID = scaleway.getLbFrontends({\n lbId: lb01.id,\n});\n// Find frontends by LB ID and name\nconst byLBIDAndName = scaleway.getLbFrontends({\n lbId: lb01.id,\n name: \"tf-frontend-datasource\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find frontends that share the same LB ID\nby_lbid = scaleway.get_lb_frontends(lb_id=lb01[\"id\"])\n# Find frontends by LB ID and name\nby_lbid_and_name = scaleway.get_lb_frontends(lb_id=lb01[\"id\"],\n name=\"tf-frontend-datasource\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find frontends that share the same LB ID\n var byLBID = Scaleway.GetLbFrontends.Invoke(new()\n {\n LbId = lb01.Id,\n });\n\n // Find frontends by LB ID and name\n var byLBIDAndName = Scaleway.GetLbFrontends.Invoke(new()\n {\n LbId = lb01.Id,\n Name = \"tf-frontend-datasource\",\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// Find frontends that share the same LB ID\n\t\t_, err := scaleway.GetLbFrontends(ctx, \u0026scaleway.GetLbFrontendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find frontends by LB ID and name\n\t\t_, err = scaleway.GetLbFrontends(ctx, \u0026scaleway.GetLbFrontendsArgs{\n\t\t\tLbId: lb01.Id,\n\t\t\tName: pulumi.StringRef(\"tf-frontend-datasource\"),\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.GetLbFrontendsArgs;\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 // Find frontends that share the same LB ID\n final var byLBID = ScalewayFunctions.getLbFrontends(GetLbFrontendsArgs.builder()\n .lbId(lb01.id())\n .build());\n\n // Find frontends by LB ID and name\n final var byLBIDAndName = ScalewayFunctions.getLbFrontends(GetLbFrontendsArgs.builder()\n .lbId(lb01.id())\n .name(\"tf-frontend-datasource\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find frontends that share the same LB ID\n byLBID:\n fn::invoke:\n function: scaleway:getLbFrontends\n arguments:\n lbId: ${lb01.id}\n # Find frontends by LB ID and name\n byLBIDAndName:\n fn::invoke:\n function: scaleway:getLbFrontends\n arguments:\n lbId: ${lb01.id}\n name: tf-frontend-datasource\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbFrontends.\n", "properties": { @@ -26777,7 +26908,7 @@ } }, "scaleway:index/getLbRoute:getLbRoute": { - "description": "Get information about Scaleway Load Balancer routes.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).\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 ip01 = new scaleway.LoadbalancerIp(\"ip01\", {});\nconst lb01 = new scaleway.Loadbalancer(\"lb01\", {\n ipId: ip01.id,\n name: \"test-lb\",\n type: \"lb-s\",\n});\nconst bkd01 = new scaleway.LoadbalancerBackend(\"bkd01\", {\n lbId: lb01.id,\n forwardProtocol: \"tcp\",\n forwardPort: 80,\n proxyProtocol: \"none\",\n});\nconst frt01 = new scaleway.LoadbalancerFrontend(\"frt01\", {\n lbId: lb01.id,\n backendId: bkd01.id,\n inboundPort: 80,\n});\nconst rt01 = new scaleway.LoadbalancerRoute(\"rt01\", {\n frontendId: frt01.id,\n backendId: bkd01.id,\n matchSni: \"sni.scaleway.com\",\n});\nconst byID = scaleway.getLbRouteOutput({\n routeId: rt01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nip01 = scaleway.LoadbalancerIp(\"ip01\")\nlb01 = scaleway.Loadbalancer(\"lb01\",\n ip_id=ip01.id,\n name=\"test-lb\",\n type=\"lb-s\")\nbkd01 = scaleway.LoadbalancerBackend(\"bkd01\",\n lb_id=lb01.id,\n forward_protocol=\"tcp\",\n forward_port=80,\n proxy_protocol=\"none\")\nfrt01 = scaleway.LoadbalancerFrontend(\"frt01\",\n lb_id=lb01.id,\n backend_id=bkd01.id,\n inbound_port=80)\nrt01 = scaleway.LoadbalancerRoute(\"rt01\",\n frontend_id=frt01.id,\n backend_id=bkd01.id,\n match_sni=\"sni.scaleway.com\")\nby_id = scaleway.get_lb_route_output(route_id=rt01.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 ip01 = new Scaleway.LoadbalancerIp(\"ip01\");\n\n var lb01 = new Scaleway.Loadbalancer(\"lb01\", new()\n {\n IpId = ip01.Id,\n Name = \"test-lb\",\n Type = \"lb-s\",\n });\n\n var bkd01 = new Scaleway.LoadbalancerBackend(\"bkd01\", new()\n {\n LbId = lb01.Id,\n ForwardProtocol = \"tcp\",\n ForwardPort = 80,\n ProxyProtocol = \"none\",\n });\n\n var frt01 = new Scaleway.LoadbalancerFrontend(\"frt01\", new()\n {\n LbId = lb01.Id,\n BackendId = bkd01.Id,\n InboundPort = 80,\n });\n\n var rt01 = new Scaleway.LoadbalancerRoute(\"rt01\", new()\n {\n FrontendId = frt01.Id,\n BackendId = bkd01.Id,\n MatchSni = \"sni.scaleway.com\",\n });\n\n var byID = Scaleway.GetLbRoute.Invoke(new()\n {\n RouteId = rt01.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\tip01, err := scaleway.NewLoadbalancerIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb01, err := scaleway.NewLoadbalancer(ctx, \"lb01\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: ip01.ID(),\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tType: pulumi.String(\"lb-s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbkd01, err := scaleway.NewLoadbalancerBackend(ctx, \"bkd01\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tForwardProtocol: pulumi.String(\"tcp\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t\tProxyProtocol: pulumi.String(\"none\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrt01, err := scaleway.NewLoadbalancerFrontend(ctx, \"frt01\", \u0026scaleway.LoadbalancerFrontendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tInboundPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trt01, err := scaleway.NewLoadbalancerRoute(ctx, \"rt01\", \u0026scaleway.LoadbalancerRouteArgs{\n\t\t\tFrontendId: frt01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tMatchSni: pulumi.String(\"sni.scaleway.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbRouteOutput(ctx, scaleway.GetLbRouteOutputArgs{\n\t\t\tRouteId: rt01.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.LoadbalancerFrontend;\nimport com.pulumi.scaleway.LoadbalancerFrontendArgs;\nimport com.pulumi.scaleway.LoadbalancerRoute;\nimport com.pulumi.scaleway.LoadbalancerRouteArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbRouteArgs;\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 ip01 = new LoadbalancerIp(\"ip01\");\n\n var lb01 = new Loadbalancer(\"lb01\", LoadbalancerArgs.builder()\n .ipId(ip01.id())\n .name(\"test-lb\")\n .type(\"lb-s\")\n .build());\n\n var bkd01 = new LoadbalancerBackend(\"bkd01\", LoadbalancerBackendArgs.builder()\n .lbId(lb01.id())\n .forwardProtocol(\"tcp\")\n .forwardPort(80)\n .proxyProtocol(\"none\")\n .build());\n\n var frt01 = new LoadbalancerFrontend(\"frt01\", LoadbalancerFrontendArgs.builder()\n .lbId(lb01.id())\n .backendId(bkd01.id())\n .inboundPort(80)\n .build());\n\n var rt01 = new LoadbalancerRoute(\"rt01\", LoadbalancerRouteArgs.builder()\n .frontendId(frt01.id())\n .backendId(bkd01.id())\n .matchSni(\"sni.scaleway.com\")\n .build());\n\n final var byID = ScalewayFunctions.getLbRoute(GetLbRouteArgs.builder()\n .routeId(rt01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip01:\n type: scaleway:LoadbalancerIp\n lb01:\n type: scaleway:Loadbalancer\n properties:\n ipId: ${ip01.id}\n name: test-lb\n type: lb-s\n bkd01:\n type: scaleway:LoadbalancerBackend\n properties:\n lbId: ${lb01.id}\n forwardProtocol: tcp\n forwardPort: 80\n proxyProtocol: none\n frt01:\n type: scaleway:LoadbalancerFrontend\n properties:\n lbId: ${lb01.id}\n backendId: ${bkd01.id}\n inboundPort: 80\n rt01:\n type: scaleway:LoadbalancerRoute\n properties:\n frontendId: ${frt01.id}\n backendId: ${bkd01.id}\n matchSni: sni.scaleway.com\nvariables:\n byID:\n fn::invoke:\n Function: scaleway:getLbRoute\n Arguments:\n routeId: ${rt01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information about Scaleway Load Balancer routes.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).\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 ip01 = new scaleway.LoadbalancerIp(\"ip01\", {});\nconst lb01 = new scaleway.Loadbalancer(\"lb01\", {\n ipId: ip01.id,\n name: \"test-lb\",\n type: \"lb-s\",\n});\nconst bkd01 = new scaleway.LoadbalancerBackend(\"bkd01\", {\n lbId: lb01.id,\n forwardProtocol: \"tcp\",\n forwardPort: 80,\n proxyProtocol: \"none\",\n});\nconst frt01 = new scaleway.LoadbalancerFrontend(\"frt01\", {\n lbId: lb01.id,\n backendId: bkd01.id,\n inboundPort: 80,\n});\nconst rt01 = new scaleway.LoadbalancerRoute(\"rt01\", {\n frontendId: frt01.id,\n backendId: bkd01.id,\n matchSni: \"sni.scaleway.com\",\n});\nconst byID = scaleway.getLbRouteOutput({\n routeId: rt01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nip01 = scaleway.LoadbalancerIp(\"ip01\")\nlb01 = scaleway.Loadbalancer(\"lb01\",\n ip_id=ip01.id,\n name=\"test-lb\",\n type=\"lb-s\")\nbkd01 = scaleway.LoadbalancerBackend(\"bkd01\",\n lb_id=lb01.id,\n forward_protocol=\"tcp\",\n forward_port=80,\n proxy_protocol=\"none\")\nfrt01 = scaleway.LoadbalancerFrontend(\"frt01\",\n lb_id=lb01.id,\n backend_id=bkd01.id,\n inbound_port=80)\nrt01 = scaleway.LoadbalancerRoute(\"rt01\",\n frontend_id=frt01.id,\n backend_id=bkd01.id,\n match_sni=\"sni.scaleway.com\")\nby_id = scaleway.get_lb_route_output(route_id=rt01.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 ip01 = new Scaleway.LoadbalancerIp(\"ip01\");\n\n var lb01 = new Scaleway.Loadbalancer(\"lb01\", new()\n {\n IpId = ip01.Id,\n Name = \"test-lb\",\n Type = \"lb-s\",\n });\n\n var bkd01 = new Scaleway.LoadbalancerBackend(\"bkd01\", new()\n {\n LbId = lb01.Id,\n ForwardProtocol = \"tcp\",\n ForwardPort = 80,\n ProxyProtocol = \"none\",\n });\n\n var frt01 = new Scaleway.LoadbalancerFrontend(\"frt01\", new()\n {\n LbId = lb01.Id,\n BackendId = bkd01.Id,\n InboundPort = 80,\n });\n\n var rt01 = new Scaleway.LoadbalancerRoute(\"rt01\", new()\n {\n FrontendId = frt01.Id,\n BackendId = bkd01.Id,\n MatchSni = \"sni.scaleway.com\",\n });\n\n var byID = Scaleway.GetLbRoute.Invoke(new()\n {\n RouteId = rt01.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\tip01, err := scaleway.NewLoadbalancerIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb01, err := scaleway.NewLoadbalancer(ctx, \"lb01\", \u0026scaleway.LoadbalancerArgs{\n\t\t\tIpId: ip01.ID(),\n\t\t\tName: pulumi.String(\"test-lb\"),\n\t\t\tType: pulumi.String(\"lb-s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbkd01, err := scaleway.NewLoadbalancerBackend(ctx, \"bkd01\", \u0026scaleway.LoadbalancerBackendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tForwardProtocol: pulumi.String(\"tcp\"),\n\t\t\tForwardPort: pulumi.Int(80),\n\t\t\tProxyProtocol: pulumi.String(\"none\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfrt01, err := scaleway.NewLoadbalancerFrontend(ctx, \"frt01\", \u0026scaleway.LoadbalancerFrontendArgs{\n\t\t\tLbId: lb01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tInboundPort: pulumi.Int(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trt01, err := scaleway.NewLoadbalancerRoute(ctx, \"rt01\", \u0026scaleway.LoadbalancerRouteArgs{\n\t\t\tFrontendId: frt01.ID(),\n\t\t\tBackendId: bkd01.ID(),\n\t\t\tMatchSni: pulumi.String(\"sni.scaleway.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetLbRouteOutput(ctx, scaleway.GetLbRouteOutputArgs{\n\t\t\tRouteId: rt01.ID(),\n\t\t}, nil)\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.LoadbalancerIp;\nimport com.pulumi.scaleway.Loadbalancer;\nimport com.pulumi.scaleway.LoadbalancerArgs;\nimport com.pulumi.scaleway.LoadbalancerBackend;\nimport com.pulumi.scaleway.LoadbalancerBackendArgs;\nimport com.pulumi.scaleway.LoadbalancerFrontend;\nimport com.pulumi.scaleway.LoadbalancerFrontendArgs;\nimport com.pulumi.scaleway.LoadbalancerRoute;\nimport com.pulumi.scaleway.LoadbalancerRouteArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetLbRouteArgs;\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 ip01 = new LoadbalancerIp(\"ip01\");\n\n var lb01 = new Loadbalancer(\"lb01\", LoadbalancerArgs.builder()\n .ipId(ip01.id())\n .name(\"test-lb\")\n .type(\"lb-s\")\n .build());\n\n var bkd01 = new LoadbalancerBackend(\"bkd01\", LoadbalancerBackendArgs.builder()\n .lbId(lb01.id())\n .forwardProtocol(\"tcp\")\n .forwardPort(80)\n .proxyProtocol(\"none\")\n .build());\n\n var frt01 = new LoadbalancerFrontend(\"frt01\", LoadbalancerFrontendArgs.builder()\n .lbId(lb01.id())\n .backendId(bkd01.id())\n .inboundPort(80)\n .build());\n\n var rt01 = new LoadbalancerRoute(\"rt01\", LoadbalancerRouteArgs.builder()\n .frontendId(frt01.id())\n .backendId(bkd01.id())\n .matchSni(\"sni.scaleway.com\")\n .build());\n\n final var byID = ScalewayFunctions.getLbRoute(GetLbRouteArgs.builder()\n .routeId(rt01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip01:\n type: scaleway:LoadbalancerIp\n lb01:\n type: scaleway:Loadbalancer\n properties:\n ipId: ${ip01.id}\n name: test-lb\n type: lb-s\n bkd01:\n type: scaleway:LoadbalancerBackend\n properties:\n lbId: ${lb01.id}\n forwardProtocol: tcp\n forwardPort: 80\n proxyProtocol: none\n frt01:\n type: scaleway:LoadbalancerFrontend\n properties:\n lbId: ${lb01.id}\n backendId: ${bkd01.id}\n inboundPort: 80\n rt01:\n type: scaleway:LoadbalancerRoute\n properties:\n frontendId: ${frt01.id}\n backendId: ${bkd01.id}\n matchSni: sni.scaleway.com\nvariables:\n byID:\n fn::invoke:\n function: scaleway:getLbRoute\n arguments:\n routeId: ${rt01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbRoute.\n", "properties": { @@ -26834,7 +26965,7 @@ } }, "scaleway:index/getLbRoutes:getLbRoutes": { - "description": "Gets information about multiple Load Balancer routes.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).\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// Find routes that share the same frontend ID\nconst byFrontendID = scaleway.getLbRoutes({\n frontendId: frt01.id,\n});\n// Find routes by frontend ID and zone\nconst myKey = scaleway.getLbRoutes({\n frontendId: \"11111111-1111-1111-1111-111111111111\",\n zone: \"fr-par-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find routes that share the same frontend ID\nby_frontend_id = scaleway.get_lb_routes(frontend_id=frt01[\"id\"])\n# Find routes by frontend ID and zone\nmy_key = scaleway.get_lb_routes(frontend_id=\"11111111-1111-1111-1111-111111111111\",\n zone=\"fr-par-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find routes that share the same frontend ID\n var byFrontendID = Scaleway.GetLbRoutes.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n // Find routes by frontend ID and zone\n var myKey = Scaleway.GetLbRoutes.Invoke(new()\n {\n FrontendId = \"11111111-1111-1111-1111-111111111111\",\n Zone = \"fr-par-2\",\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// Find routes that share the same frontend ID\n\t\t_, err := scaleway.GetLbRoutes(ctx, \u0026scaleway.GetLbRoutesArgs{\n\t\t\tFrontendId: pulumi.StringRef(frt01.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find routes by frontend ID and zone\n\t\t_, err = scaleway.GetLbRoutes(ctx, \u0026scaleway.GetLbRoutesArgs{\n\t\t\tFrontendId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\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.GetLbRoutesArgs;\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 // Find routes that share the same frontend ID\n final var byFrontendID = ScalewayFunctions.getLbRoutes(GetLbRoutesArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n // Find routes by frontend ID and zone\n final var myKey = ScalewayFunctions.getLbRoutes(GetLbRoutesArgs.builder()\n .frontendId(\"11111111-1111-1111-1111-111111111111\")\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find routes that share the same frontend ID\n byFrontendID:\n fn::invoke:\n Function: scaleway:getLbRoutes\n Arguments:\n frontendId: ${frt01.id}\n # Find routes by frontend ID and zone\n myKey:\n fn::invoke:\n Function: scaleway:getLbRoutes\n Arguments:\n frontendId: 11111111-1111-1111-1111-111111111111\n zone: fr-par-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about multiple Load Balancer routes.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route).\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// Find routes that share the same frontend ID\nconst byFrontendID = scaleway.getLbRoutes({\n frontendId: frt01.id,\n});\n// Find routes by frontend ID and zone\nconst myKey = scaleway.getLbRoutes({\n frontendId: \"11111111-1111-1111-1111-111111111111\",\n zone: \"fr-par-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Find routes that share the same frontend ID\nby_frontend_id = scaleway.get_lb_routes(frontend_id=frt01[\"id\"])\n# Find routes by frontend ID and zone\nmy_key = scaleway.get_lb_routes(frontend_id=\"11111111-1111-1111-1111-111111111111\",\n zone=\"fr-par-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Find routes that share the same frontend ID\n var byFrontendID = Scaleway.GetLbRoutes.Invoke(new()\n {\n FrontendId = frt01.Id,\n });\n\n // Find routes by frontend ID and zone\n var myKey = Scaleway.GetLbRoutes.Invoke(new()\n {\n FrontendId = \"11111111-1111-1111-1111-111111111111\",\n Zone = \"fr-par-2\",\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// Find routes that share the same frontend ID\n\t\t_, err := scaleway.GetLbRoutes(ctx, \u0026scaleway.GetLbRoutesArgs{\n\t\t\tFrontendId: pulumi.StringRef(frt01.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Find routes by frontend ID and zone\n\t\t_, err = scaleway.GetLbRoutes(ctx, \u0026scaleway.GetLbRoutesArgs{\n\t\t\tFrontendId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tZone: pulumi.StringRef(\"fr-par-2\"),\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.GetLbRoutesArgs;\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 // Find routes that share the same frontend ID\n final var byFrontendID = ScalewayFunctions.getLbRoutes(GetLbRoutesArgs.builder()\n .frontendId(frt01.id())\n .build());\n\n // Find routes by frontend ID and zone\n final var myKey = ScalewayFunctions.getLbRoutes(GetLbRoutesArgs.builder()\n .frontendId(\"11111111-1111-1111-1111-111111111111\")\n .zone(\"fr-par-2\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Find routes that share the same frontend ID\n byFrontendID:\n fn::invoke:\n function: scaleway:getLbRoutes\n arguments:\n frontendId: ${frt01.id}\n # Find routes by frontend ID and zone\n myKey:\n fn::invoke:\n function: scaleway:getLbRoutes\n arguments:\n frontendId: 11111111-1111-1111-1111-111111111111\n zone: fr-par-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLbRoutes.\n", "properties": { @@ -26969,7 +27100,7 @@ } }, "scaleway:index/getLoadbalancer:getLoadbalancer": { - "description": "Gets information about a Load Balancer.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).\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 info by name\nconst byName = scaleway.getLoadbalancer({\n name: \"foobar\",\n});\n// Get info by ID\nconst byId = scaleway.getLoadbalancer({\n lbId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nby_name = scaleway.get_loadbalancer(name=\"foobar\")\n# Get info by ID\nby_id = scaleway.get_loadbalancer(lb_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 info by name\n var byName = Scaleway.GetLoadbalancer.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by ID\n var byId = Scaleway.GetLoadbalancer.Invoke(new()\n {\n LbId = \"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 info by name\n\t\t_, err := scaleway.LookupLoadbalancer(ctx, \u0026scaleway.LookupLoadbalancerArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by ID\n\t\t_, err = scaleway.LookupLoadbalancer(ctx, \u0026scaleway.LookupLoadbalancerArgs{\n\t\t\tLbId: 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.GetLoadbalancerArgs;\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 info by name\n final var byName = ScalewayFunctions.getLoadbalancer(GetLoadbalancerArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by ID\n final var byId = ScalewayFunctions.getLoadbalancer(GetLoadbalancerArgs.builder()\n .lbId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n byName:\n fn::invoke:\n Function: scaleway:getLoadbalancer\n Arguments:\n name: foobar\n # Get info by ID\n byId:\n fn::invoke:\n Function: scaleway:getLoadbalancer\n Arguments:\n lbId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Load Balancer.\n\nFor more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).\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 info by name\nconst byName = scaleway.getLoadbalancer({\n name: \"foobar\",\n});\n// Get info by ID\nconst byId = scaleway.getLoadbalancer({\n lbId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nby_name = scaleway.get_loadbalancer(name=\"foobar\")\n# Get info by ID\nby_id = scaleway.get_loadbalancer(lb_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 info by name\n var byName = Scaleway.GetLoadbalancer.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by ID\n var byId = Scaleway.GetLoadbalancer.Invoke(new()\n {\n LbId = \"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 info by name\n\t\t_, err := scaleway.LookupLoadbalancer(ctx, \u0026scaleway.LookupLoadbalancerArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by ID\n\t\t_, err = scaleway.LookupLoadbalancer(ctx, \u0026scaleway.LookupLoadbalancerArgs{\n\t\t\tLbId: 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.GetLoadbalancerArgs;\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 info by name\n final var byName = ScalewayFunctions.getLoadbalancer(GetLoadbalancerArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by ID\n final var byId = ScalewayFunctions.getLoadbalancer(GetLoadbalancerArgs.builder()\n .lbId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n byName:\n fn::invoke:\n function: scaleway:getLoadbalancer\n arguments:\n name: foobar\n # Get info by ID\n byId:\n fn::invoke:\n function: scaleway:getLoadbalancer\n arguments:\n lbId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getLoadbalancer.\n", "properties": { @@ -27254,7 +27385,7 @@ } }, "scaleway:index/getMarketplaceImage:getMarketplaceImage": { - "description": "Gets local image ID of an image from its label name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst myImage = scaleway.getMarketplaceImage({\n label: \"ubuntu_jammy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nmy_image = scaleway.get_marketplace_image(label=\"ubuntu_jammy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myImage = Scaleway.GetMarketplaceImage.Invoke(new()\n {\n Label = \"ubuntu_jammy\",\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.GetMarketplaceImage(ctx, \u0026scaleway.GetMarketplaceImageArgs{\n\t\t\tLabel: \"ubuntu_jammy\",\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.GetMarketplaceImageArgs;\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 myImage = ScalewayFunctions.getMarketplaceImage(GetMarketplaceImageArgs.builder()\n .label(\"ubuntu_jammy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myImage:\n fn::invoke:\n Function: scaleway:getMarketplaceImage\n Arguments:\n label: ubuntu_jammy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets local image ID of an image from its label name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst myImage = scaleway.getMarketplaceImage({\n label: \"ubuntu_jammy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nmy_image = scaleway.get_marketplace_image(label=\"ubuntu_jammy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myImage = Scaleway.GetMarketplaceImage.Invoke(new()\n {\n Label = \"ubuntu_jammy\",\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.GetMarketplaceImage(ctx, \u0026scaleway.GetMarketplaceImageArgs{\n\t\t\tLabel: \"ubuntu_jammy\",\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.GetMarketplaceImageArgs;\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 myImage = ScalewayFunctions.getMarketplaceImage(GetMarketplaceImageArgs.builder()\n .label(\"ubuntu_jammy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myImage:\n fn::invoke:\n function: scaleway:getMarketplaceImage\n arguments:\n label: ubuntu_jammy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getMarketplaceImage.\n", "properties": { @@ -27303,7 +27434,7 @@ } }, "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", + "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": { @@ -27344,7 +27475,7 @@ } }, "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", + "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": { "description": "A collection of arguments for invoking getMnqSqs.\n", "properties": { @@ -27506,7 +27637,7 @@ } }, "scaleway:index/getObjectBucket:getObjectBucket": { - "description": "The `scaleway.ObjectBucket` data source is used to retrieve information about an Object Storage bucket.\n\nRefer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/how-to/create-a-bucket/) for more information.\n\n## Retrieve an Object Storage bucket\n\nThe following commands allow you to:\n\n- retrieve a bucket by its name\n- retrieve a bucket by its ID\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.ObjectBucket(\"main\", {\n name: \"bucket.test.com\",\n tags: {\n foo: \"bar\",\n },\n});\nconst selected = scaleway.getObjectBucketOutput({\n name: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.ObjectBucket(\"main\",\n name=\"bucket.test.com\",\n tags={\n \"foo\": \"bar\",\n })\nselected = scaleway.get_object_bucket_output(name=main.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 main = new Scaleway.ObjectBucket(\"main\", new()\n {\n Name = \"bucket.test.com\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var selected = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = 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\tmain, err := scaleway.NewObjectBucket(ctx, \"main\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"bucket.test.com\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupObjectBucketOutput(ctx, scaleway.GetObjectBucketOutputArgs{\n\t\t\tName: main.ID(),\n\t\t}, nil)\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetObjectBucketArgs;\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 ObjectBucket(\"main\", ObjectBucketArgs.builder()\n .name(\"bucket.test.com\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n final var selected = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:ObjectBucket\n properties:\n name: bucket.test.com\n tags:\n foo: bar\nvariables:\n selected:\n fn::invoke:\n Function: scaleway:getObjectBucket\n Arguments:\n name: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Retrieve a bucket from a specific project\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst selected = scaleway.getObjectBucket({\n name: \"bucket.test.com\",\n projectId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nselected = scaleway.get_object_bucket(name=\"bucket.test.com\",\n 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 var selected = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = \"bucket.test.com\",\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_, err := scaleway.LookupObjectBucket(ctx, \u0026scaleway.LookupObjectBucketArgs{\n\t\t\tName: pulumi.StringRef(\"bucket.test.com\"),\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.GetObjectBucketArgs;\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 selected = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(\"bucket.test.com\")\n .projectId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n Function: scaleway:getObjectBucket\n Arguments:\n name: bucket.test.com\n projectId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.ObjectBucket` data source is used to retrieve information about an Object Storage bucket.\n\nRefer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/how-to/create-a-bucket/) for more information.\n\n## Retrieve an Object Storage bucket\n\nThe following commands allow you to:\n\n- retrieve a bucket by its name\n- retrieve a bucket by its ID\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.ObjectBucket(\"main\", {\n name: \"bucket.test.com\",\n tags: {\n foo: \"bar\",\n },\n});\nconst selected = scaleway.getObjectBucketOutput({\n name: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.ObjectBucket(\"main\",\n name=\"bucket.test.com\",\n tags={\n \"foo\": \"bar\",\n })\nselected = scaleway.get_object_bucket_output(name=main.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 main = new Scaleway.ObjectBucket(\"main\", new()\n {\n Name = \"bucket.test.com\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n var selected = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = 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\tmain, err := scaleway.NewObjectBucket(ctx, \"main\", \u0026scaleway.ObjectBucketArgs{\n\t\t\tName: pulumi.String(\"bucket.test.com\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupObjectBucketOutput(ctx, scaleway.GetObjectBucketOutputArgs{\n\t\t\tName: main.ID(),\n\t\t}, nil)\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.ObjectBucket;\nimport com.pulumi.scaleway.ObjectBucketArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetObjectBucketArgs;\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 ObjectBucket(\"main\", ObjectBucketArgs.builder()\n .name(\"bucket.test.com\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n final var selected = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:ObjectBucket\n properties:\n name: bucket.test.com\n tags:\n foo: bar\nvariables:\n selected:\n fn::invoke:\n function: scaleway:getObjectBucket\n arguments:\n name: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Retrieve a bucket from a specific project\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst selected = scaleway.getObjectBucket({\n name: \"bucket.test.com\",\n projectId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nselected = scaleway.get_object_bucket(name=\"bucket.test.com\",\n 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 var selected = Scaleway.GetObjectBucket.Invoke(new()\n {\n Name = \"bucket.test.com\",\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_, err := scaleway.LookupObjectBucket(ctx, \u0026scaleway.LookupObjectBucketArgs{\n\t\t\tName: pulumi.StringRef(\"bucket.test.com\"),\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.GetObjectBucketArgs;\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 selected = ScalewayFunctions.getObjectBucket(GetObjectBucketArgs.builder()\n .name(\"bucket.test.com\")\n .projectId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n selected:\n fn::invoke:\n function: scaleway:getObjectBucket\n arguments:\n name: bucket.test.com\n projectId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getObjectBucket.\n", "properties": { @@ -27597,7 +27728,7 @@ } }, "scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy": { - "description": "The `scaleway.ObjectBucketPolicy` data source is used to retrieve information about the bucket policy of an Object Storage bucket.\n\nRefer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/) for more information.\n\n## Retrieve the bucket policy of a bucket\n\nThe following command allows you to retrieve a bucket policy by its bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst main = scaleway.getObjectBucketPolicy({\n bucket: \"bucket.test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nmain = scaleway.get_object_bucket_policy(bucket=\"bucket.test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Scaleway.GetObjectBucketPolicy.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\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.LookupObjectBucketPolicy(ctx, \u0026scaleway.LookupObjectBucketPolicyArgs{\n\t\t\tBucket: \"bucket.test.com\",\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.GetObjectBucketPolicyArgs;\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 main = ScalewayFunctions.getObjectBucketPolicy(GetObjectBucketPolicyArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n Function: scaleway:getObjectBucketPolicy\n Arguments:\n bucket: bucket.test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The `scaleway.ObjectBucketPolicy` data source is used to retrieve information about the bucket policy of an Object Storage bucket.\n\nRefer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/) for more information.\n\n## Retrieve the bucket policy of a bucket\n\nThe following command allows you to retrieve a bucket policy by its bucket.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst main = scaleway.getObjectBucketPolicy({\n bucket: \"bucket.test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nmain = scaleway.get_object_bucket_policy(bucket=\"bucket.test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Scaleway.GetObjectBucketPolicy.Invoke(new()\n {\n Bucket = \"bucket.test.com\",\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.LookupObjectBucketPolicy(ctx, \u0026scaleway.LookupObjectBucketPolicyArgs{\n\t\t\tBucket: \"bucket.test.com\",\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.GetObjectBucketPolicyArgs;\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 main = ScalewayFunctions.getObjectBucketPolicy(GetObjectBucketPolicyArgs.builder()\n .bucket(\"bucket.test.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n main:\n fn::invoke:\n function: scaleway:getObjectBucketPolicy\n arguments:\n bucket: bucket.test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getObjectBucketPolicy.\n", "properties": { @@ -28039,7 +28170,7 @@ } }, "scaleway:index/getSecret:getSecret": { - "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", + "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": { @@ -28146,7 +28277,7 @@ } }, "scaleway:index/getSecretVersion:getSecretVersion": { - "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", + "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": { @@ -28372,7 +28503,7 @@ } }, "scaleway:index/getVpc:getVpc": { - "description": "Gets information about a Scaleway Virtual Private Cloud.\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 info by name\nconst byName = scaleway.getVpc({\n name: \"foobar\",\n});\n// Get info by ID\nconst byId = scaleway.getVpc({\n vpcId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get default VPC info\nconst default = scaleway.getVpc({\n isDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nby_name = scaleway.get_vpc(name=\"foobar\")\n# Get info by ID\nby_id = scaleway.get_vpc(vpc_id=\"11111111-1111-1111-1111-111111111111\")\n# Get default VPC info\ndefault = scaleway.get_vpc(is_default=True)\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 info by name\n var byName = Scaleway.GetVpc.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by ID\n var byId = Scaleway.GetVpc.Invoke(new()\n {\n VpcId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get default VPC info\n var @default = Scaleway.GetVpc.Invoke(new()\n {\n IsDefault = 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// Get info by name\n\t\t_, err := scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by ID\n\t\t_, err = scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tVpcId: 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 default VPC info\n\t\t_, err = scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\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.GetVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get info by name\n final var byName = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by ID\n final var byId = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .vpcId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get default VPC info\n final var default = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .isDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n byName:\n fn::invoke:\n Function: scaleway:getVpc\n Arguments:\n name: foobar\n # Get info by ID\n byId:\n fn::invoke:\n Function: scaleway:getVpc\n Arguments:\n vpcId: 11111111-1111-1111-1111-111111111111\n # Get default VPC info\n default:\n fn::invoke:\n Function: scaleway:getVpc\n Arguments:\n isDefault: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Scaleway Virtual Private Cloud.\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 info by name\nconst byName = scaleway.getVpc({\n name: \"foobar\",\n});\n// Get info by ID\nconst byId = scaleway.getVpc({\n vpcId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get default VPC info\nconst default = scaleway.getVpc({\n isDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nby_name = scaleway.get_vpc(name=\"foobar\")\n# Get info by ID\nby_id = scaleway.get_vpc(vpc_id=\"11111111-1111-1111-1111-111111111111\")\n# Get default VPC info\ndefault = scaleway.get_vpc(is_default=True)\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 info by name\n var byName = Scaleway.GetVpc.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by ID\n var byId = Scaleway.GetVpc.Invoke(new()\n {\n VpcId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get default VPC info\n var @default = Scaleway.GetVpc.Invoke(new()\n {\n IsDefault = 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// Get info by name\n\t\t_, err := scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by ID\n\t\t_, err = scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tVpcId: 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 default VPC info\n\t\t_, err = scaleway.LookupVpc(ctx, \u0026scaleway.LookupVpcArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\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.GetVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get info by name\n final var byName = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by ID\n final var byId = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .vpcId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get default VPC info\n final var default = ScalewayFunctions.getVpc(GetVpcArgs.builder()\n .isDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n byName:\n fn::invoke:\n function: scaleway:getVpc\n arguments:\n name: foobar\n # Get info by ID\n byId:\n fn::invoke:\n function: scaleway:getVpc\n arguments:\n vpcId: 11111111-1111-1111-1111-111111111111\n # Get default VPC info\n default:\n fn::invoke:\n function: scaleway:getVpc\n arguments:\n isDefault: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpc.\n", "properties": { @@ -28455,7 +28586,7 @@ } }, "scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork": { - "description": "Gets information about a GatewayNetwork (a connection between a Public Gateway and a Private Network).\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 main = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n dhcpId: dhcp01.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst byId = scaleway.getVpcGatewayNetworkOutput({\n gatewayNetworkId: main.id,\n});\nconst byGatewayAndPn = scaleway.getVpcGatewayNetwork({\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=pg01[\"id\"],\n private_network_id=pn01[\"id\"],\n dhcp_id=dhcp01[\"id\"],\n cleanup_dhcp=True,\n enable_masquerade=True)\nby_id = scaleway.get_vpc_gateway_network_output(gateway_network_id=main.id)\nby_gateway_and_pn = scaleway.get_vpc_gateway_network(gateway_id=pg01[\"id\"],\n private_network_id=pn01[\"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 main = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.Id,\n DhcpId = dhcp01.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var byId = Scaleway.GetVpcGatewayNetwork.Invoke(new()\n {\n GatewayNetworkId = main.Id,\n });\n\n var byGatewayAndPn = Scaleway.GetVpcGatewayNetwork.Invoke(new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.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\tmain, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: pulumi.Any(pg01.Id),\n\t\t\tPrivateNetworkId: pulumi.Any(pn01.Id),\n\t\t\tDhcpId: pulumi.Any(dhcp01.Id),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcGatewayNetworkOutput(ctx, scaleway.GetVpcGatewayNetworkOutputArgs{\n\t\t\tGatewayNetworkId: main.ID(),\n\t\t}, nil)\n\t\t_, err = scaleway.LookupVpcGatewayNetwork(ctx, \u0026scaleway.LookupVpcGatewayNetworkArgs{\n\t\t\tGatewayId: pulumi.StringRef(pg01.Id),\n\t\t\tPrivateNetworkId: pulumi.StringRef(pn01.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.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcGatewayNetworkArgs;\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 VpcGatewayNetwork(\"main\", VpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .dhcpId(dhcp01.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n final var byId = ScalewayFunctions.getVpcGatewayNetwork(GetVpcGatewayNetworkArgs.builder()\n .gatewayNetworkId(main.id())\n .build());\n\n final var byGatewayAndPn = ScalewayFunctions.getVpcGatewayNetwork(GetVpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcGatewayNetwork\n properties:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n dhcpId: ${dhcp01.id}\n cleanupDhcp: true\n enableMasquerade: true\nvariables:\n byId:\n fn::invoke:\n Function: scaleway:getVpcGatewayNetwork\n Arguments:\n gatewayNetworkId: ${main.id}\n byGatewayAndPn:\n fn::invoke:\n Function: scaleway:getVpcGatewayNetwork\n Arguments:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a GatewayNetwork (a connection between a Public Gateway and a Private Network).\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 main = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n dhcpId: dhcp01.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst byId = scaleway.getVpcGatewayNetworkOutput({\n gatewayNetworkId: main.id,\n});\nconst byGatewayAndPn = scaleway.getVpcGatewayNetwork({\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=pg01[\"id\"],\n private_network_id=pn01[\"id\"],\n dhcp_id=dhcp01[\"id\"],\n cleanup_dhcp=True,\n enable_masquerade=True)\nby_id = scaleway.get_vpc_gateway_network_output(gateway_network_id=main.id)\nby_gateway_and_pn = scaleway.get_vpc_gateway_network(gateway_id=pg01[\"id\"],\n private_network_id=pn01[\"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 main = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.Id,\n DhcpId = dhcp01.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var byId = Scaleway.GetVpcGatewayNetwork.Invoke(new()\n {\n GatewayNetworkId = main.Id,\n });\n\n var byGatewayAndPn = Scaleway.GetVpcGatewayNetwork.Invoke(new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.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\tmain, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: pulumi.Any(pg01.Id),\n\t\t\tPrivateNetworkId: pulumi.Any(pn01.Id),\n\t\t\tDhcpId: pulumi.Any(dhcp01.Id),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcGatewayNetworkOutput(ctx, scaleway.GetVpcGatewayNetworkOutputArgs{\n\t\t\tGatewayNetworkId: main.ID(),\n\t\t}, nil)\n\t\t_, err = scaleway.LookupVpcGatewayNetwork(ctx, \u0026scaleway.LookupVpcGatewayNetworkArgs{\n\t\t\tGatewayId: pulumi.StringRef(pg01.Id),\n\t\t\tPrivateNetworkId: pulumi.StringRef(pn01.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.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcGatewayNetworkArgs;\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 VpcGatewayNetwork(\"main\", VpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .dhcpId(dhcp01.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n final var byId = ScalewayFunctions.getVpcGatewayNetwork(GetVpcGatewayNetworkArgs.builder()\n .gatewayNetworkId(main.id())\n .build());\n\n final var byGatewayAndPn = ScalewayFunctions.getVpcGatewayNetwork(GetVpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcGatewayNetwork\n properties:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n dhcpId: ${dhcp01.id}\n cleanupDhcp: true\n enableMasquerade: true\nvariables:\n byId:\n fn::invoke:\n function: scaleway:getVpcGatewayNetwork\n arguments:\n gatewayNetworkId: ${main.id}\n byGatewayAndPn:\n fn::invoke:\n function: scaleway:getVpcGatewayNetwork\n arguments:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcGatewayNetwork.\n", "properties": { @@ -28547,7 +28678,7 @@ } }, "scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork": { - "description": "Gets information about a Private Network.\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 info by name\nconst myName = scaleway.getVpcPrivateNetwork({\n name: \"foobar\",\n});\n// Get info by name and VPC ID\nconst myNameAndVpcId = scaleway.getVpcPrivateNetwork({\n name: \"foobar\",\n vpcId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get info by IP ID\nconst myId = scaleway.getVpcPrivateNetwork({\n privateNetworkId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nmy_name = scaleway.get_vpc_private_network(name=\"foobar\")\n# Get info by name and VPC ID\nmy_name_and_vpc_id = scaleway.get_vpc_private_network(name=\"foobar\",\n vpc_id=\"11111111-1111-1111-1111-111111111111\")\n# Get info by IP ID\nmy_id = scaleway.get_vpc_private_network(private_network_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 info by name\n var myName = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by name and VPC ID\n var myNameAndVpcId = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n Name = \"foobar\",\n VpcId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get info by IP ID\n var myId = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n PrivateNetworkId = \"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 info by name\n\t\t_, err := scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by name and VPC ID\n\t\t_, err = scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t\tVpcId: 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 IP ID\n\t\t_, err = scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tPrivateNetworkId: 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.GetVpcPrivateNetworkArgs;\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 info by name\n final var myName = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by name and VPC ID\n final var myNameAndVpcId = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .name(\"foobar\")\n .vpcId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get info by IP ID\n final var myId = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .privateNetworkId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n myName:\n fn::invoke:\n Function: scaleway:getVpcPrivateNetwork\n Arguments:\n name: foobar\n # Get info by name and VPC ID\n myNameAndVpcId:\n fn::invoke:\n Function: scaleway:getVpcPrivateNetwork\n Arguments:\n name: foobar\n vpcId: 11111111-1111-1111-1111-111111111111\n # Get info by IP ID\n myId:\n fn::invoke:\n Function: scaleway:getVpcPrivateNetwork\n Arguments:\n privateNetworkId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Private Network.\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 info by name\nconst myName = scaleway.getVpcPrivateNetwork({\n name: \"foobar\",\n});\n// Get info by name and VPC ID\nconst myNameAndVpcId = scaleway.getVpcPrivateNetwork({\n name: \"foobar\",\n vpcId: \"11111111-1111-1111-1111-111111111111\",\n});\n// Get info by IP ID\nconst myId = scaleway.getVpcPrivateNetwork({\n privateNetworkId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by name\nmy_name = scaleway.get_vpc_private_network(name=\"foobar\")\n# Get info by name and VPC ID\nmy_name_and_vpc_id = scaleway.get_vpc_private_network(name=\"foobar\",\n vpc_id=\"11111111-1111-1111-1111-111111111111\")\n# Get info by IP ID\nmy_id = scaleway.get_vpc_private_network(private_network_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 info by name\n var myName = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n Name = \"foobar\",\n });\n\n // Get info by name and VPC ID\n var myNameAndVpcId = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n Name = \"foobar\",\n VpcId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n // Get info by IP ID\n var myId = Scaleway.GetVpcPrivateNetwork.Invoke(new()\n {\n PrivateNetworkId = \"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 info by name\n\t\t_, err := scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by name and VPC ID\n\t\t_, err = scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tName: pulumi.StringRef(\"foobar\"),\n\t\t\tVpcId: 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 IP ID\n\t\t_, err = scaleway.LookupVpcPrivateNetwork(ctx, \u0026scaleway.LookupVpcPrivateNetworkArgs{\n\t\t\tPrivateNetworkId: 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.GetVpcPrivateNetworkArgs;\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 info by name\n final var myName = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .name(\"foobar\")\n .build());\n\n // Get info by name and VPC ID\n final var myNameAndVpcId = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .name(\"foobar\")\n .vpcId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n // Get info by IP ID\n final var myId = ScalewayFunctions.getVpcPrivateNetwork(GetVpcPrivateNetworkArgs.builder()\n .privateNetworkId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by name\n myName:\n fn::invoke:\n function: scaleway:getVpcPrivateNetwork\n arguments:\n name: foobar\n # Get info by name and VPC ID\n myNameAndVpcId:\n fn::invoke:\n function: scaleway:getVpcPrivateNetwork\n arguments:\n name: foobar\n vpcId: 11111111-1111-1111-1111-111111111111\n # Get info by IP ID\n myId:\n fn::invoke:\n function: scaleway:getVpcPrivateNetwork\n arguments:\n privateNetworkId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPrivateNetwork.\n", "properties": { @@ -28646,7 +28777,7 @@ } }, "scaleway:index/getVpcPublicGateway:getVpcPublicGateway": { - "description": "Gets information about a Public Gateway.\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 main = new scaleway.VpcPublicGateway(\"main\", {\n name: \"demo\",\n type: \"VPC-GW-S\",\n zone: \"nl-ams-1\",\n});\nconst pgTestByName = scaleway.getVpcPublicGatewayOutput({\n name: main.name,\n zone: \"nl-ams-1\",\n});\nconst pgTestById = scaleway.getVpcPublicGatewayOutput({\n publicGatewayId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGateway(\"main\",\n name=\"demo\",\n type=\"VPC-GW-S\",\n zone=\"nl-ams-1\")\npg_test_by_name = scaleway.get_vpc_public_gateway_output(name=main.name,\n zone=\"nl-ams-1\")\npg_test_by_id = scaleway.get_vpc_public_gateway_output(public_gateway_id=main.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 main = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"demo\",\n Type = \"VPC-GW-S\",\n Zone = \"nl-ams-1\",\n });\n\n var pgTestByName = Scaleway.GetVpcPublicGateway.Invoke(new()\n {\n Name = main.Name,\n Zone = \"nl-ams-1\",\n });\n\n var pgTestById = Scaleway.GetVpcPublicGateway.Invoke(new()\n {\n PublicGatewayId = 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\tmain, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tZone: pulumi.String(\"nl-ams-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayOutput(ctx, scaleway.GetVpcPublicGatewayOutputArgs{\n\t\t\tName: main.Name,\n\t\t\tZone: pulumi.String(\"nl-ams-1\"),\n\t\t}, nil)\n\t\t_ = scaleway.LookupVpcPublicGatewayOutput(ctx, scaleway.GetVpcPublicGatewayOutputArgs{\n\t\t\tPublicGatewayId: main.ID(),\n\t\t}, nil)\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.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayArgs;\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 VpcPublicGateway(\"main\", VpcPublicGatewayArgs.builder()\n .name(\"demo\")\n .type(\"VPC-GW-S\")\n .zone(\"nl-ams-1\")\n .build());\n\n final var pgTestByName = ScalewayFunctions.getVpcPublicGateway(GetVpcPublicGatewayArgs.builder()\n .name(main.name())\n .zone(\"nl-ams-1\")\n .build());\n\n final var pgTestById = ScalewayFunctions.getVpcPublicGateway(GetVpcPublicGatewayArgs.builder()\n .publicGatewayId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGateway\n properties:\n name: demo\n type: VPC-GW-S\n zone: nl-ams-1\nvariables:\n pgTestByName:\n fn::invoke:\n Function: scaleway:getVpcPublicGateway\n Arguments:\n name: ${main.name}\n zone: nl-ams-1\n pgTestById:\n fn::invoke:\n Function: scaleway:getVpcPublicGateway\n Arguments:\n publicGatewayId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Public Gateway.\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 main = new scaleway.VpcPublicGateway(\"main\", {\n name: \"demo\",\n type: \"VPC-GW-S\",\n zone: \"nl-ams-1\",\n});\nconst pgTestByName = scaleway.getVpcPublicGatewayOutput({\n name: main.name,\n zone: \"nl-ams-1\",\n});\nconst pgTestById = scaleway.getVpcPublicGatewayOutput({\n publicGatewayId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGateway(\"main\",\n name=\"demo\",\n type=\"VPC-GW-S\",\n zone=\"nl-ams-1\")\npg_test_by_name = scaleway.get_vpc_public_gateway_output(name=main.name,\n zone=\"nl-ams-1\")\npg_test_by_id = scaleway.get_vpc_public_gateway_output(public_gateway_id=main.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 main = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"demo\",\n Type = \"VPC-GW-S\",\n Zone = \"nl-ams-1\",\n });\n\n var pgTestByName = Scaleway.GetVpcPublicGateway.Invoke(new()\n {\n Name = main.Name,\n Zone = \"nl-ams-1\",\n });\n\n var pgTestById = Scaleway.GetVpcPublicGateway.Invoke(new()\n {\n PublicGatewayId = 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\tmain, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"demo\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tZone: pulumi.String(\"nl-ams-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayOutput(ctx, scaleway.GetVpcPublicGatewayOutputArgs{\n\t\t\tName: main.Name,\n\t\t\tZone: pulumi.String(\"nl-ams-1\"),\n\t\t}, nil)\n\t\t_ = scaleway.LookupVpcPublicGatewayOutput(ctx, scaleway.GetVpcPublicGatewayOutputArgs{\n\t\t\tPublicGatewayId: main.ID(),\n\t\t}, nil)\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.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayArgs;\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 VpcPublicGateway(\"main\", VpcPublicGatewayArgs.builder()\n .name(\"demo\")\n .type(\"VPC-GW-S\")\n .zone(\"nl-ams-1\")\n .build());\n\n final var pgTestByName = ScalewayFunctions.getVpcPublicGateway(GetVpcPublicGatewayArgs.builder()\n .name(main.name())\n .zone(\"nl-ams-1\")\n .build());\n\n final var pgTestById = ScalewayFunctions.getVpcPublicGateway(GetVpcPublicGatewayArgs.builder()\n .publicGatewayId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGateway\n properties:\n name: demo\n type: VPC-GW-S\n zone: nl-ams-1\nvariables:\n pgTestByName:\n fn::invoke:\n function: scaleway:getVpcPublicGateway\n arguments:\n name: ${main.name}\n zone: nl-ams-1\n pgTestById:\n fn::invoke:\n function: scaleway:getVpcPublicGateway\n arguments:\n publicGatewayId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPublicGateway.\n", "properties": { @@ -28749,7 +28880,7 @@ } }, "scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp": { - "description": "Gets information about a Public Gateway DHCP configuration.\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 main = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.0.0/24\"});\nconst dhcpById = scaleway.getVpcPublicGatewayDhcpOutput({\n dhcpId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.0.0/24\")\ndhcp_by_id = scaleway.get_vpc_public_gateway_dhcp_output(dhcp_id=main.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 main = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.0.0/24\",\n });\n\n var dhcpById = Scaleway.GetVpcPublicGatewayDhcp.Invoke(new()\n {\n DhcpId = 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\tmain, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpOutput(ctx, scaleway.GetVpcPublicGatewayDhcpOutputArgs{\n\t\t\tDhcpId: main.ID(),\n\t\t}, nil)\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.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpArgs;\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 VpcPublicGatewayDhcp(\"main\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.0.0/24\")\n .build());\n\n final var dhcpById = ScalewayFunctions.getVpcPublicGatewayDhcp(GetVpcPublicGatewayDhcpArgs.builder()\n .dhcpId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGatewayDhcp\n properties:\n subnet: 192.168.0.0/24\nvariables:\n dhcpById:\n fn::invoke:\n Function: scaleway:getVpcPublicGatewayDhcp\n Arguments:\n dhcpId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Public Gateway DHCP configuration.\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 main = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.0.0/24\"});\nconst dhcpById = scaleway.getVpcPublicGatewayDhcpOutput({\n dhcpId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.0.0/24\")\ndhcp_by_id = scaleway.get_vpc_public_gateway_dhcp_output(dhcp_id=main.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 main = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.0.0/24\",\n });\n\n var dhcpById = Scaleway.GetVpcPublicGatewayDhcp.Invoke(new()\n {\n DhcpId = 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\tmain, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpOutput(ctx, scaleway.GetVpcPublicGatewayDhcpOutputArgs{\n\t\t\tDhcpId: main.ID(),\n\t\t}, nil)\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.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpArgs;\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 VpcPublicGatewayDhcp(\"main\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.0.0/24\")\n .build());\n\n final var dhcpById = ScalewayFunctions.getVpcPublicGatewayDhcp(GetVpcPublicGatewayDhcpArgs.builder()\n .dhcpId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGatewayDhcp\n properties:\n subnet: 192.168.0.0/24\nvariables:\n dhcpById:\n fn::invoke:\n function: scaleway:getVpcPublicGatewayDhcp\n arguments:\n dhcpId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPublicGatewayDhcp.\n", "properties": { @@ -28859,7 +28990,7 @@ } }, "scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation": { - "description": "Gets information about a DHCP entry. For further information, please see the\nAPI [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries)/\n\n## Example Dynamic\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.VpcPrivateNetwork(\"main\", {});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n});\nconst mainInstancePrivateNic = new scaleway.InstancePrivateNic(\"main\", {\n serverId: mainInstanceServer.id,\n privateNetworkId: main.id,\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\n//# Retrieve the dynamic entries generated by mac address \u0026 gateway network\nconst byMacAddressAndGwNetwork = scaleway.getVpcPublicGatewayDhcpReservationOutput({\n macAddress: mainInstancePrivateNic.macAddress,\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\")\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\")\nmain_instance_private_nic = scaleway.InstancePrivateNic(\"main\",\n server_id=main_instance_server.id,\n private_network_id=main.id)\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\n## Retrieve the dynamic entries generated by mac address \u0026 gateway network\nby_mac_address_and_gw_network = scaleway.get_vpc_public_gateway_dhcp_reservation_output(mac_address=main_instance_private_nic.mac_address,\n gateway_network_id=main_vpc_gateway_network.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 main = new Scaleway.VpcPrivateNetwork(\"main\");\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n });\n\n var mainInstancePrivateNic = new Scaleway.InstancePrivateNic(\"main\", new()\n {\n ServerId = mainInstanceServer.Id,\n PrivateNetworkId = main.Id,\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n //# Retrieve the dynamic entries generated by mac address \u0026 gateway network\n var byMacAddressAndGwNetwork = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new()\n {\n MacAddress = mainInstancePrivateNic.MacAddress,\n GatewayNetworkId = mainVpcGatewayNetwork.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\tmain, err := scaleway.NewVpcPrivateNetwork(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstancePrivateNic, err := scaleway.NewInstancePrivateNic(ctx, \"main\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: mainInstanceServer.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// # Retrieve the dynamic entries generated by mac address \u0026 gateway network\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpReservationOutput(ctx, scaleway.GetVpcPublicGatewayDhcpReservationOutputArgs{\n\t\t\tMacAddress: mainInstancePrivateNic.MacAddress,\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpReservationArgs;\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 VpcPrivateNetwork(\"main\");\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .build());\n\n var mainInstancePrivateNic = new InstancePrivateNic(\"mainInstancePrivateNic\", InstancePrivateNicArgs.builder()\n .serverId(mainInstanceServer.id())\n .privateNetworkId(main.id())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n //# Retrieve the dynamic entries generated by mac address \u0026 gateway network\n final var byMacAddressAndGwNetwork = ScalewayFunctions.getVpcPublicGatewayDhcpReservation(GetVpcPublicGatewayDhcpReservationArgs.builder()\n .macAddress(mainInstancePrivateNic.macAddress())\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n mainInstancePrivateNic:\n type: scaleway:InstancePrivateNic\n name: main\n properties:\n serverId: ${mainInstanceServer.id}\n privateNetworkId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\nvariables:\n ## Retrieve the dynamic entries generated by mac address \u0026 gateway network\n byMacAddressAndGwNetwork:\n fn::invoke:\n Function: scaleway:getVpcPublicGatewayDhcpReservation\n Arguments:\n macAddress: ${mainInstancePrivateNic.macAddress}\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Static and PAT Rule\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.VpcPrivateNetwork(\"main\", {});\nconst mainInstanceSecurityGroup = new scaleway.InstanceSecurityGroup(\"main\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [{\n action: \"accept\",\n port: 22,\n }],\n});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n securityGroupId: mainInstanceSecurityGroup.id,\n});\nconst mainInstancePrivateNic = new scaleway.InstancePrivateNic(\"main\", {\n serverId: mainInstanceServer.id,\n privateNetworkId: main.id,\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst mainVpcPublicGatewayDhcpReservation = new scaleway.VpcPublicGatewayDhcpReservation(\"main\", {\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n macAddress: mainInstancePrivateNic.macAddress,\n ipAddress: \"192.168.1.4\",\n});\n//## VPC PAT RULE\nconst mainVpcPublicGatewayPatRule = new scaleway.VpcPublicGatewayPatRule(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateIp: mainVpcPublicGatewayDhcpReservation.ipAddress,\n privatePort: 22,\n publicPort: 2222,\n protocol: \"tcp\",\n});\nconst byId = scaleway.getVpcPublicGatewayDhcpReservationOutput({\n reservationId: mainVpcPublicGatewayDhcpReservation.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\")\nmain_instance_security_group = scaleway.InstanceSecurityGroup(\"main\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[{\n \"action\": \"accept\",\n \"port\": 22,\n }])\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\",\n security_group_id=main_instance_security_group.id)\nmain_instance_private_nic = scaleway.InstancePrivateNic(\"main\",\n server_id=main_instance_server.id,\n private_network_id=main.id)\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\nmain_vpc_public_gateway_dhcp_reservation = scaleway.VpcPublicGatewayDhcpReservation(\"main\",\n gateway_network_id=main_vpc_gateway_network.id,\n mac_address=main_instance_private_nic.mac_address,\n ip_address=\"192.168.1.4\")\n### VPC PAT RULE\nmain_vpc_public_gateway_pat_rule = scaleway.VpcPublicGatewayPatRule(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_ip=main_vpc_public_gateway_dhcp_reservation.ip_address,\n private_port=22,\n public_port=2222,\n protocol=\"tcp\")\nby_id = scaleway.get_vpc_public_gateway_dhcp_reservation_output(reservation_id=main_vpc_public_gateway_dhcp_reservation.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 main = new Scaleway.VpcPrivateNetwork(\"main\");\n\n var mainInstanceSecurityGroup = new Scaleway.InstanceSecurityGroup(\"main\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n },\n },\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n SecurityGroupId = mainInstanceSecurityGroup.Id,\n });\n\n var mainInstancePrivateNic = new Scaleway.InstancePrivateNic(\"main\", new()\n {\n ServerId = mainInstanceServer.Id,\n PrivateNetworkId = main.Id,\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var mainVpcPublicGatewayDhcpReservation = new Scaleway.VpcPublicGatewayDhcpReservation(\"main\", new()\n {\n GatewayNetworkId = mainVpcGatewayNetwork.Id,\n MacAddress = mainInstancePrivateNic.MacAddress,\n IpAddress = \"192.168.1.4\",\n });\n\n //## VPC PAT RULE\n var mainVpcPublicGatewayPatRule = new Scaleway.VpcPublicGatewayPatRule(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateIp = mainVpcPublicGatewayDhcpReservation.IpAddress,\n PrivatePort = 22,\n PublicPort = 2222,\n Protocol = \"tcp\",\n });\n\n var byId = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new()\n {\n ReservationId = mainVpcPublicGatewayDhcpReservation.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\tmain, err := scaleway.NewVpcPrivateNetwork(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceSecurityGroup, err := scaleway.NewInstanceSecurityGroup(ctx, \"main\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\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\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tSecurityGroupId: mainInstanceSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstancePrivateNic, err := scaleway.NewInstancePrivateNic(ctx, \"main\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: mainInstanceServer.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcpReservation, err := scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t\tMacAddress: mainInstancePrivateNic.MacAddress,\n\t\t\tIpAddress: pulumi.String(\"192.168.1.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## VPC PAT RULE\n\t\t_, err = scaleway.NewVpcPublicGatewayPatRule(ctx, \"main\", \u0026scaleway.VpcPublicGatewayPatRuleArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateIp: mainVpcPublicGatewayDhcpReservation.IpAddress,\n\t\t\tPrivatePort: pulumi.Int(22),\n\t\t\tPublicPort: pulumi.Int(2222),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpReservationOutput(ctx, scaleway.GetVpcPublicGatewayDhcpReservationOutputArgs{\n\t\t\tReservationId: mainVpcPublicGatewayDhcpReservation.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRule;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpReservationArgs;\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 VpcPrivateNetwork(\"main\");\n\n var mainInstanceSecurityGroup = new InstanceSecurityGroup(\"mainInstanceSecurityGroup\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules(InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"22\")\n .build())\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .securityGroupId(mainInstanceSecurityGroup.id())\n .build());\n\n var mainInstancePrivateNic = new InstancePrivateNic(\"mainInstancePrivateNic\", InstancePrivateNicArgs.builder()\n .serverId(mainInstanceServer.id())\n .privateNetworkId(main.id())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n var mainVpcPublicGatewayDhcpReservation = new VpcPublicGatewayDhcpReservation(\"mainVpcPublicGatewayDhcpReservation\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .macAddress(mainInstancePrivateNic.macAddress())\n .ipAddress(\"192.168.1.4\")\n .build());\n\n //## VPC PAT RULE\n var mainVpcPublicGatewayPatRule = new VpcPublicGatewayPatRule(\"mainVpcPublicGatewayPatRule\", VpcPublicGatewayPatRuleArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateIp(mainVpcPublicGatewayDhcpReservation.ipAddress())\n .privatePort(22)\n .publicPort(2222)\n .protocol(\"tcp\")\n .build());\n\n final var byId = ScalewayFunctions.getVpcPublicGatewayDhcpReservation(GetVpcPublicGatewayDhcpReservationArgs.builder()\n .reservationId(mainVpcPublicGatewayDhcpReservation.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n mainInstanceSecurityGroup:\n type: scaleway:InstanceSecurityGroup\n name: main\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: '22'\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n securityGroupId: ${mainInstanceSecurityGroup.id}\n mainInstancePrivateNic:\n type: scaleway:InstancePrivateNic\n name: main\n properties:\n serverId: ${mainInstanceServer.id}\n privateNetworkId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\n mainVpcPublicGatewayDhcpReservation:\n type: scaleway:VpcPublicGatewayDhcpReservation\n name: main\n properties:\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n macAddress: ${mainInstancePrivateNic.macAddress}\n ipAddress: 192.168.1.4\n ### VPC PAT RULE\n mainVpcPublicGatewayPatRule:\n type: scaleway:VpcPublicGatewayPatRule\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateIp: ${mainVpcPublicGatewayDhcpReservation.ipAddress}\n privatePort: 22\n publicPort: 2222\n protocol: tcp\nvariables:\n byId:\n fn::invoke:\n Function: scaleway:getVpcPublicGatewayDhcpReservation\n Arguments:\n reservationId: ${mainVpcPublicGatewayDhcpReservation.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a DHCP entry. For further information, please see the\nAPI [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries)/\n\n## Example Dynamic\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.VpcPrivateNetwork(\"main\", {});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n});\nconst mainInstancePrivateNic = new scaleway.InstancePrivateNic(\"main\", {\n serverId: mainInstanceServer.id,\n privateNetworkId: main.id,\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\n//# Retrieve the dynamic entries generated by mac address \u0026 gateway network\nconst byMacAddressAndGwNetwork = scaleway.getVpcPublicGatewayDhcpReservationOutput({\n macAddress: mainInstancePrivateNic.macAddress,\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\")\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\")\nmain_instance_private_nic = scaleway.InstancePrivateNic(\"main\",\n server_id=main_instance_server.id,\n private_network_id=main.id)\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\n## Retrieve the dynamic entries generated by mac address \u0026 gateway network\nby_mac_address_and_gw_network = scaleway.get_vpc_public_gateway_dhcp_reservation_output(mac_address=main_instance_private_nic.mac_address,\n gateway_network_id=main_vpc_gateway_network.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 main = new Scaleway.VpcPrivateNetwork(\"main\");\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n });\n\n var mainInstancePrivateNic = new Scaleway.InstancePrivateNic(\"main\", new()\n {\n ServerId = mainInstanceServer.Id,\n PrivateNetworkId = main.Id,\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n //# Retrieve the dynamic entries generated by mac address \u0026 gateway network\n var byMacAddressAndGwNetwork = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new()\n {\n MacAddress = mainInstancePrivateNic.MacAddress,\n GatewayNetworkId = mainVpcGatewayNetwork.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\tmain, err := scaleway.NewVpcPrivateNetwork(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstancePrivateNic, err := scaleway.NewInstancePrivateNic(ctx, \"main\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: mainInstanceServer.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// # Retrieve the dynamic entries generated by mac address \u0026 gateway network\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpReservationOutput(ctx, scaleway.GetVpcPublicGatewayDhcpReservationOutputArgs{\n\t\t\tMacAddress: mainInstancePrivateNic.MacAddress,\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpReservationArgs;\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 VpcPrivateNetwork(\"main\");\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .build());\n\n var mainInstancePrivateNic = new InstancePrivateNic(\"mainInstancePrivateNic\", InstancePrivateNicArgs.builder()\n .serverId(mainInstanceServer.id())\n .privateNetworkId(main.id())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n //# Retrieve the dynamic entries generated by mac address \u0026 gateway network\n final var byMacAddressAndGwNetwork = ScalewayFunctions.getVpcPublicGatewayDhcpReservation(GetVpcPublicGatewayDhcpReservationArgs.builder()\n .macAddress(mainInstancePrivateNic.macAddress())\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n mainInstancePrivateNic:\n type: scaleway:InstancePrivateNic\n name: main\n properties:\n serverId: ${mainInstanceServer.id}\n privateNetworkId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\nvariables:\n ## Retrieve the dynamic entries generated by mac address \u0026 gateway network\n byMacAddressAndGwNetwork:\n fn::invoke:\n function: scaleway:getVpcPublicGatewayDhcpReservation\n arguments:\n macAddress: ${mainInstancePrivateNic.macAddress}\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Example Static and PAT Rule\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.VpcPrivateNetwork(\"main\", {});\nconst mainInstanceSecurityGroup = new scaleway.InstanceSecurityGroup(\"main\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [{\n action: \"accept\",\n port: 22,\n }],\n});\nconst mainInstanceServer = new scaleway.InstanceServer(\"main\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: \"fr-par-1\",\n securityGroupId: mainInstanceSecurityGroup.id,\n});\nconst mainInstancePrivateNic = new scaleway.InstancePrivateNic(\"main\", {\n serverId: mainInstanceServer.id,\n privateNetworkId: main.id,\n});\nconst mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp(\"main\", {subnet: \"192.168.1.0/24\"});\nconst mainVpcPublicGateway = new scaleway.VpcPublicGateway(\"main\", {\n name: \"foobar\",\n type: \"VPC-GW-S\",\n ipId: mainVpcPublicGatewayIp.id,\n});\nconst mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateNetworkId: main.id,\n dhcpId: mainVpcPublicGatewayDhcp.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst mainVpcPublicGatewayDhcpReservation = new scaleway.VpcPublicGatewayDhcpReservation(\"main\", {\n gatewayNetworkId: mainVpcGatewayNetwork.id,\n macAddress: mainInstancePrivateNic.macAddress,\n ipAddress: \"192.168.1.4\",\n});\n//## VPC PAT RULE\nconst mainVpcPublicGatewayPatRule = new scaleway.VpcPublicGatewayPatRule(\"main\", {\n gatewayId: mainVpcPublicGateway.id,\n privateIp: mainVpcPublicGatewayDhcpReservation.ipAddress,\n privatePort: 22,\n publicPort: 2222,\n protocol: \"tcp\",\n});\nconst byId = scaleway.getVpcPublicGatewayDhcpReservationOutput({\n reservationId: mainVpcPublicGatewayDhcpReservation.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPrivateNetwork(\"main\")\nmain_instance_security_group = scaleway.InstanceSecurityGroup(\"main\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[{\n \"action\": \"accept\",\n \"port\": 22,\n }])\nmain_instance_server = scaleway.InstanceServer(\"main\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=\"fr-par-1\",\n security_group_id=main_instance_security_group.id)\nmain_instance_private_nic = scaleway.InstancePrivateNic(\"main\",\n server_id=main_instance_server.id,\n private_network_id=main.id)\nmain_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp(\"main\")\nmain_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp(\"main\", subnet=\"192.168.1.0/24\")\nmain_vpc_public_gateway = scaleway.VpcPublicGateway(\"main\",\n name=\"foobar\",\n type=\"VPC-GW-S\",\n ip_id=main_vpc_public_gateway_ip.id)\nmain_vpc_gateway_network = scaleway.VpcGatewayNetwork(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_network_id=main.id,\n dhcp_id=main_vpc_public_gateway_dhcp.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\nmain_vpc_public_gateway_dhcp_reservation = scaleway.VpcPublicGatewayDhcpReservation(\"main\",\n gateway_network_id=main_vpc_gateway_network.id,\n mac_address=main_instance_private_nic.mac_address,\n ip_address=\"192.168.1.4\")\n### VPC PAT RULE\nmain_vpc_public_gateway_pat_rule = scaleway.VpcPublicGatewayPatRule(\"main\",\n gateway_id=main_vpc_public_gateway.id,\n private_ip=main_vpc_public_gateway_dhcp_reservation.ip_address,\n private_port=22,\n public_port=2222,\n protocol=\"tcp\")\nby_id = scaleway.get_vpc_public_gateway_dhcp_reservation_output(reservation_id=main_vpc_public_gateway_dhcp_reservation.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 main = new Scaleway.VpcPrivateNetwork(\"main\");\n\n var mainInstanceSecurityGroup = new Scaleway.InstanceSecurityGroup(\"main\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n },\n },\n });\n\n var mainInstanceServer = new Scaleway.InstanceServer(\"main\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = \"fr-par-1\",\n SecurityGroupId = mainInstanceSecurityGroup.Id,\n });\n\n var mainInstancePrivateNic = new Scaleway.InstancePrivateNic(\"main\", new()\n {\n ServerId = mainInstanceServer.Id,\n PrivateNetworkId = main.Id,\n });\n\n var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp(\"main\", new()\n {\n Subnet = \"192.168.1.0/24\",\n });\n\n var mainVpcPublicGateway = new Scaleway.VpcPublicGateway(\"main\", new()\n {\n Name = \"foobar\",\n Type = \"VPC-GW-S\",\n IpId = mainVpcPublicGatewayIp.Id,\n });\n\n var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateNetworkId = main.Id,\n DhcpId = mainVpcPublicGatewayDhcp.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var mainVpcPublicGatewayDhcpReservation = new Scaleway.VpcPublicGatewayDhcpReservation(\"main\", new()\n {\n GatewayNetworkId = mainVpcGatewayNetwork.Id,\n MacAddress = mainInstancePrivateNic.MacAddress,\n IpAddress = \"192.168.1.4\",\n });\n\n //## VPC PAT RULE\n var mainVpcPublicGatewayPatRule = new Scaleway.VpcPublicGatewayPatRule(\"main\", new()\n {\n GatewayId = mainVpcPublicGateway.Id,\n PrivateIp = mainVpcPublicGatewayDhcpReservation.IpAddress,\n PrivatePort = 22,\n PublicPort = 2222,\n Protocol = \"tcp\",\n });\n\n var byId = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new()\n {\n ReservationId = mainVpcPublicGatewayDhcpReservation.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\tmain, err := scaleway.NewVpcPrivateNetwork(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstanceSecurityGroup, err := scaleway.NewInstanceSecurityGroup(ctx, \"main\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\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\tmainInstanceServer, err := scaleway.NewInstanceServer(ctx, \"main\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pulumi.String(\"fr-par-1\"),\n\t\t\tSecurityGroupId: mainInstanceSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainInstancePrivateNic, err := scaleway.NewInstancePrivateNic(ctx, \"main\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: mainInstanceServer.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, \"main\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"foobar\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: mainVpcPublicGatewayIp.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, \"main\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateNetworkId: main.ID(),\n\t\t\tDhcpId: mainVpcPublicGatewayDhcp.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVpcPublicGatewayDhcpReservation, err := scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"main\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: mainVpcGatewayNetwork.ID(),\n\t\t\tMacAddress: mainInstancePrivateNic.MacAddress,\n\t\t\tIpAddress: pulumi.String(\"192.168.1.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## VPC PAT RULE\n\t\t_, err = scaleway.NewVpcPublicGatewayPatRule(ctx, \"main\", \u0026scaleway.VpcPublicGatewayPatRuleArgs{\n\t\t\tGatewayId: mainVpcPublicGateway.ID(),\n\t\t\tPrivateIp: mainVpcPublicGatewayDhcpReservation.IpAddress,\n\t\t\tPrivatePort: pulumi.Int(22),\n\t\t\tPublicPort: pulumi.Int(2222),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayDhcpReservationOutput(ctx, scaleway.GetVpcPublicGatewayDhcpReservationOutputArgs{\n\t\t\tReservationId: mainVpcPublicGatewayDhcpReservation.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRule;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayDhcpReservationArgs;\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 VpcPrivateNetwork(\"main\");\n\n var mainInstanceSecurityGroup = new InstanceSecurityGroup(\"mainInstanceSecurityGroup\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules(InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(\"22\")\n .build())\n .build());\n\n var mainInstanceServer = new InstanceServer(\"mainInstanceServer\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(\"fr-par-1\")\n .securityGroupId(mainInstanceSecurityGroup.id())\n .build());\n\n var mainInstancePrivateNic = new InstancePrivateNic(\"mainInstancePrivateNic\", InstancePrivateNicArgs.builder()\n .serverId(mainInstanceServer.id())\n .privateNetworkId(main.id())\n .build());\n\n var mainVpcPublicGatewayIp = new VpcPublicGatewayIp(\"mainVpcPublicGatewayIp\");\n\n var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp(\"mainVpcPublicGatewayDhcp\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.1.0/24\")\n .build());\n\n var mainVpcPublicGateway = new VpcPublicGateway(\"mainVpcPublicGateway\", VpcPublicGatewayArgs.builder()\n .name(\"foobar\")\n .type(\"VPC-GW-S\")\n .ipId(mainVpcPublicGatewayIp.id())\n .build());\n\n var mainVpcGatewayNetwork = new VpcGatewayNetwork(\"mainVpcGatewayNetwork\", VpcGatewayNetworkArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateNetworkId(main.id())\n .dhcpId(mainVpcPublicGatewayDhcp.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n var mainVpcPublicGatewayDhcpReservation = new VpcPublicGatewayDhcpReservation(\"mainVpcPublicGatewayDhcpReservation\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(mainVpcGatewayNetwork.id())\n .macAddress(mainInstancePrivateNic.macAddress())\n .ipAddress(\"192.168.1.4\")\n .build());\n\n //## VPC PAT RULE\n var mainVpcPublicGatewayPatRule = new VpcPublicGatewayPatRule(\"mainVpcPublicGatewayPatRule\", VpcPublicGatewayPatRuleArgs.builder()\n .gatewayId(mainVpcPublicGateway.id())\n .privateIp(mainVpcPublicGatewayDhcpReservation.ipAddress())\n .privatePort(22)\n .publicPort(2222)\n .protocol(\"tcp\")\n .build());\n\n final var byId = ScalewayFunctions.getVpcPublicGatewayDhcpReservation(GetVpcPublicGatewayDhcpReservationArgs.builder()\n .reservationId(mainVpcPublicGatewayDhcpReservation.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPrivateNetwork\n mainInstanceSecurityGroup:\n type: scaleway:InstanceSecurityGroup\n name: main\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: '22'\n mainInstanceServer:\n type: scaleway:InstanceServer\n name: main\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: fr-par-1\n securityGroupId: ${mainInstanceSecurityGroup.id}\n mainInstancePrivateNic:\n type: scaleway:InstancePrivateNic\n name: main\n properties:\n serverId: ${mainInstanceServer.id}\n privateNetworkId: ${main.id}\n mainVpcPublicGatewayIp:\n type: scaleway:VpcPublicGatewayIp\n name: main\n mainVpcPublicGatewayDhcp:\n type: scaleway:VpcPublicGatewayDhcp\n name: main\n properties:\n subnet: 192.168.1.0/24\n mainVpcPublicGateway:\n type: scaleway:VpcPublicGateway\n name: main\n properties:\n name: foobar\n type: VPC-GW-S\n ipId: ${mainVpcPublicGatewayIp.id}\n mainVpcGatewayNetwork:\n type: scaleway:VpcGatewayNetwork\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateNetworkId: ${main.id}\n dhcpId: ${mainVpcPublicGatewayDhcp.id}\n cleanupDhcp: true\n enableMasquerade: true\n mainVpcPublicGatewayDhcpReservation:\n type: scaleway:VpcPublicGatewayDhcpReservation\n name: main\n properties:\n gatewayNetworkId: ${mainVpcGatewayNetwork.id}\n macAddress: ${mainInstancePrivateNic.macAddress}\n ipAddress: 192.168.1.4\n ### VPC PAT RULE\n mainVpcPublicGatewayPatRule:\n type: scaleway:VpcPublicGatewayPatRule\n name: main\n properties:\n gatewayId: ${mainVpcPublicGateway.id}\n privateIp: ${mainVpcPublicGatewayDhcpReservation.ipAddress}\n privatePort: 22\n publicPort: 2222\n protocol: tcp\nvariables:\n byId:\n fn::invoke:\n function: scaleway:getVpcPublicGatewayDhcpReservation\n arguments:\n reservationId: ${mainVpcPublicGatewayDhcpReservation.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPublicGatewayDhcpReservation.\n", "properties": { @@ -28936,7 +29067,7 @@ } }, "scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp": { - "description": "Gets information about a Public Gateway public flexible IP address.\n\nFor further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).\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 main = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst ipById = scaleway.getVpcPublicGatewayIpOutput({\n ipId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGatewayIp(\"main\")\nip_by_id = scaleway.get_vpc_public_gateway_ip_output(ip_id=main.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 main = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var ipById = Scaleway.GetVpcPublicGatewayIp.Invoke(new()\n {\n IpId = 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\tmain, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayIpOutput(ctx, scaleway.GetVpcPublicGatewayIpOutputArgs{\n\t\t\tIpId: main.ID(),\n\t\t}, nil)\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.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayIpArgs;\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 VpcPublicGatewayIp(\"main\");\n\n final var ipById = ScalewayFunctions.getVpcPublicGatewayIp(GetVpcPublicGatewayIpArgs.builder()\n .ipId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGatewayIp\nvariables:\n ipById:\n fn::invoke:\n Function: scaleway:getVpcPublicGatewayIp\n Arguments:\n ipId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Public Gateway public flexible IP address.\n\nFor further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips).\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 main = new scaleway.VpcPublicGatewayIp(\"main\", {});\nconst ipById = scaleway.getVpcPublicGatewayIpOutput({\n ipId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.VpcPublicGatewayIp(\"main\")\nip_by_id = scaleway.get_vpc_public_gateway_ip_output(ip_id=main.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 main = new Scaleway.VpcPublicGatewayIp(\"main\");\n\n var ipById = Scaleway.GetVpcPublicGatewayIp.Invoke(new()\n {\n IpId = 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\tmain, err := scaleway.NewVpcPublicGatewayIp(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.LookupVpcPublicGatewayIpOutput(ctx, scaleway.GetVpcPublicGatewayIpOutputArgs{\n\t\t\tIpId: main.ID(),\n\t\t}, nil)\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.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicGatewayIpArgs;\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 VpcPublicGatewayIp(\"main\");\n\n final var ipById = ScalewayFunctions.getVpcPublicGatewayIp(GetVpcPublicGatewayIpArgs.builder()\n .ipId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:VpcPublicGatewayIp\nvariables:\n ipById:\n fn::invoke:\n function: scaleway:getVpcPublicGatewayIp\n arguments:\n ipId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPublicGatewayIp.\n", "properties": { @@ -28999,7 +29130,7 @@ } }, "scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule": { - "description": "Gets information about a Public Gateway PAT rule. For further information, please see the\nAPI [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules).\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 sg01 = new scaleway.InstanceSecurityGroup(\"sg01\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [{\n action: \"accept\",\n port: 22,\n protocol: \"TCP\",\n }],\n});\nconst srv01 = new scaleway.InstanceServer(\"srv01\", {\n name: \"my-server\",\n type: \"PLAY2-NANO\",\n image: \"ubuntu_jammy\",\n securityGroupId: sg01.id,\n});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {name: \"my-pn\"});\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: srv01.id,\n privateNetworkId: pn01.id,\n});\nconst dhcp01 = new scaleway.VpcPublicGatewayDhcp(\"dhcp01\", {subnet: \"192.168.0.0/24\"});\nconst ip01 = new scaleway.VpcPublicGatewayIp(\"ip01\", {});\nconst pg01 = new scaleway.VpcPublicGateway(\"pg01\", {\n name: \"my-pg\",\n type: \"VPC-GW-S\",\n ipId: ip01.id,\n});\nconst gn01 = new scaleway.VpcGatewayNetwork(\"gn01\", {\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n dhcpId: dhcp01.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst rsv01 = new scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\", {\n gatewayNetworkId: gn01.id,\n macAddress: pnic01.macAddress,\n ipAddress: \"192.168.0.7\",\n});\nconst pat01 = new scaleway.VpcPublicGatewayPatRule(\"pat01\", {\n gatewayId: pg01.id,\n privateIp: rsv01.ipAddress,\n privatePort: 22,\n publicPort: 2202,\n protocol: \"tcp\",\n});\nconst main = scaleway.getVpcPublicPatRuleOutput({\n patRuleId: pat01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nsg01 = scaleway.InstanceSecurityGroup(\"sg01\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[{\n \"action\": \"accept\",\n \"port\": 22,\n \"protocol\": \"TCP\",\n }])\nsrv01 = scaleway.InstanceServer(\"srv01\",\n name=\"my-server\",\n type=\"PLAY2-NANO\",\n image=\"ubuntu_jammy\",\n security_group_id=sg01.id)\npn01 = scaleway.VpcPrivateNetwork(\"pn01\", name=\"my-pn\")\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=srv01.id,\n private_network_id=pn01.id)\ndhcp01 = scaleway.VpcPublicGatewayDhcp(\"dhcp01\", subnet=\"192.168.0.0/24\")\nip01 = scaleway.VpcPublicGatewayIp(\"ip01\")\npg01 = scaleway.VpcPublicGateway(\"pg01\",\n name=\"my-pg\",\n type=\"VPC-GW-S\",\n ip_id=ip01.id)\ngn01 = scaleway.VpcGatewayNetwork(\"gn01\",\n gateway_id=pg01.id,\n private_network_id=pn01.id,\n dhcp_id=dhcp01.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\nrsv01 = scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\",\n gateway_network_id=gn01.id,\n mac_address=pnic01.mac_address,\n ip_address=\"192.168.0.7\")\npat01 = scaleway.VpcPublicGatewayPatRule(\"pat01\",\n gateway_id=pg01.id,\n private_ip=rsv01.ip_address,\n private_port=22,\n public_port=2202,\n protocol=\"tcp\")\nmain = scaleway.get_vpc_public_pat_rule_output(pat_rule_id=pat01.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 sg01 = new Scaleway.InstanceSecurityGroup(\"sg01\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n Protocol = \"TCP\",\n },\n },\n });\n\n var srv01 = new Scaleway.InstanceServer(\"srv01\", new()\n {\n Name = \"my-server\",\n Type = \"PLAY2-NANO\",\n Image = \"ubuntu_jammy\",\n SecurityGroupId = sg01.Id,\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"my-pn\",\n });\n\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = srv01.Id,\n PrivateNetworkId = pn01.Id,\n });\n\n var dhcp01 = new Scaleway.VpcPublicGatewayDhcp(\"dhcp01\", new()\n {\n Subnet = \"192.168.0.0/24\",\n });\n\n var ip01 = new Scaleway.VpcPublicGatewayIp(\"ip01\");\n\n var pg01 = new Scaleway.VpcPublicGateway(\"pg01\", new()\n {\n Name = \"my-pg\",\n Type = \"VPC-GW-S\",\n IpId = ip01.Id,\n });\n\n var gn01 = new Scaleway.VpcGatewayNetwork(\"gn01\", new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.Id,\n DhcpId = dhcp01.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var rsv01 = new Scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\", new()\n {\n GatewayNetworkId = gn01.Id,\n MacAddress = pnic01.MacAddress,\n IpAddress = \"192.168.0.7\",\n });\n\n var pat01 = new Scaleway.VpcPublicGatewayPatRule(\"pat01\", new()\n {\n GatewayId = pg01.Id,\n PrivateIp = rsv01.IpAddress,\n PrivatePort = 22,\n PublicPort = 2202,\n Protocol = \"tcp\",\n });\n\n var main = Scaleway.GetVpcPublicPatRule.Invoke(new()\n {\n PatRuleId = pat01.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\tsg01, err := scaleway.NewInstanceSecurityGroup(ctx, \"sg01\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\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\tsrv01, err := scaleway.NewInstanceServer(ctx, \"srv01\", \u0026scaleway.InstanceServerArgs{\n\t\t\tName: pulumi.String(\"my-server\"),\n\t\t\tType: pulumi.String(\"PLAY2-NANO\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tSecurityGroupId: sg01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"my-pn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpnic01, err := scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: srv01.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdhcp01, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"dhcp01\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewVpcPublicGatewayIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpg01, err := scaleway.NewVpcPublicGateway(ctx, \"pg01\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"my-pg\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: ip01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgn01, err := scaleway.NewVpcGatewayNetwork(ctx, \"gn01\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: pg01.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\tDhcpId: dhcp01.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trsv01, err := scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"rsv01\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: gn01.ID(),\n\t\t\tMacAddress: pnic01.MacAddress,\n\t\t\tIpAddress: pulumi.String(\"192.168.0.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpat01, err := scaleway.NewVpcPublicGatewayPatRule(ctx, \"pat01\", \u0026scaleway.VpcPublicGatewayPatRuleArgs{\n\t\t\tGatewayId: pg01.ID(),\n\t\t\tPrivateIp: rsv01.IpAddress,\n\t\t\tPrivatePort: pulumi.Int(22),\n\t\t\tPublicPort: pulumi.Int(2202),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetVpcPublicPatRuleOutput(ctx, scaleway.GetVpcPublicPatRuleOutputArgs{\n\t\t\tPatRuleId: pat01.ID(),\n\t\t}, nil)\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.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRule;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicPatRuleArgs;\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 sg01 = new InstanceSecurityGroup(\"sg01\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules(InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(22)\n .protocol(\"TCP\")\n .build())\n .build());\n\n var srv01 = new InstanceServer(\"srv01\", InstanceServerArgs.builder()\n .name(\"my-server\")\n .type(\"PLAY2-NANO\")\n .image(\"ubuntu_jammy\")\n .securityGroupId(sg01.id())\n .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"my-pn\")\n .build());\n\n var pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(srv01.id())\n .privateNetworkId(pn01.id())\n .build());\n\n var dhcp01 = new VpcPublicGatewayDhcp(\"dhcp01\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.0.0/24\")\n .build());\n\n var ip01 = new VpcPublicGatewayIp(\"ip01\");\n\n var pg01 = new VpcPublicGateway(\"pg01\", VpcPublicGatewayArgs.builder()\n .name(\"my-pg\")\n .type(\"VPC-GW-S\")\n .ipId(ip01.id())\n .build());\n\n var gn01 = new VpcGatewayNetwork(\"gn01\", VpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .dhcpId(dhcp01.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n var rsv01 = new VpcPublicGatewayDhcpReservation(\"rsv01\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(gn01.id())\n .macAddress(pnic01.macAddress())\n .ipAddress(\"192.168.0.7\")\n .build());\n\n var pat01 = new VpcPublicGatewayPatRule(\"pat01\", VpcPublicGatewayPatRuleArgs.builder()\n .gatewayId(pg01.id())\n .privateIp(rsv01.ipAddress())\n .privatePort(22)\n .publicPort(2202)\n .protocol(\"tcp\")\n .build());\n\n final var main = ScalewayFunctions.getVpcPublicPatRule(GetVpcPublicPatRuleArgs.builder()\n .patRuleId(pat01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg01:\n type: scaleway:InstanceSecurityGroup\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: 22\n protocol: TCP\n srv01:\n type: scaleway:InstanceServer\n properties:\n name: my-server\n type: PLAY2-NANO\n image: ubuntu_jammy\n securityGroupId: ${sg01.id}\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${srv01.id}\n privateNetworkId: ${pn01.id}\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: my-pn\n dhcp01:\n type: scaleway:VpcPublicGatewayDhcp\n properties:\n subnet: 192.168.0.0/24\n ip01:\n type: scaleway:VpcPublicGatewayIp\n pg01:\n type: scaleway:VpcPublicGateway\n properties:\n name: my-pg\n type: VPC-GW-S\n ipId: ${ip01.id}\n gn01:\n type: scaleway:VpcGatewayNetwork\n properties:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n dhcpId: ${dhcp01.id}\n cleanupDhcp: true\n enableMasquerade: true\n rsv01:\n type: scaleway:VpcPublicGatewayDhcpReservation\n properties:\n gatewayNetworkId: ${gn01.id}\n macAddress: ${pnic01.macAddress}\n ipAddress: 192.168.0.7\n pat01:\n type: scaleway:VpcPublicGatewayPatRule\n properties:\n gatewayId: ${pg01.id}\n privateIp: ${rsv01.ipAddress}\n privatePort: 22\n publicPort: 2202\n protocol: tcp\nvariables:\n main:\n fn::invoke:\n Function: scaleway:getVpcPublicPatRule\n Arguments:\n patRuleId: ${pat01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a Public Gateway PAT rule. For further information, please see the\nAPI [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules).\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 sg01 = new scaleway.InstanceSecurityGroup(\"sg01\", {\n inboundDefaultPolicy: \"drop\",\n outboundDefaultPolicy: \"accept\",\n inboundRules: [{\n action: \"accept\",\n port: 22,\n protocol: \"TCP\",\n }],\n});\nconst srv01 = new scaleway.InstanceServer(\"srv01\", {\n name: \"my-server\",\n type: \"PLAY2-NANO\",\n image: \"ubuntu_jammy\",\n securityGroupId: sg01.id,\n});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {name: \"my-pn\"});\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: srv01.id,\n privateNetworkId: pn01.id,\n});\nconst dhcp01 = new scaleway.VpcPublicGatewayDhcp(\"dhcp01\", {subnet: \"192.168.0.0/24\"});\nconst ip01 = new scaleway.VpcPublicGatewayIp(\"ip01\", {});\nconst pg01 = new scaleway.VpcPublicGateway(\"pg01\", {\n name: \"my-pg\",\n type: \"VPC-GW-S\",\n ipId: ip01.id,\n});\nconst gn01 = new scaleway.VpcGatewayNetwork(\"gn01\", {\n gatewayId: pg01.id,\n privateNetworkId: pn01.id,\n dhcpId: dhcp01.id,\n cleanupDhcp: true,\n enableMasquerade: true,\n});\nconst rsv01 = new scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\", {\n gatewayNetworkId: gn01.id,\n macAddress: pnic01.macAddress,\n ipAddress: \"192.168.0.7\",\n});\nconst pat01 = new scaleway.VpcPublicGatewayPatRule(\"pat01\", {\n gatewayId: pg01.id,\n privateIp: rsv01.ipAddress,\n privatePort: 22,\n publicPort: 2202,\n protocol: \"tcp\",\n});\nconst main = scaleway.getVpcPublicPatRuleOutput({\n patRuleId: pat01.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\nimport pulumiverse_scaleway as scaleway\n\nsg01 = scaleway.InstanceSecurityGroup(\"sg01\",\n inbound_default_policy=\"drop\",\n outbound_default_policy=\"accept\",\n inbound_rules=[{\n \"action\": \"accept\",\n \"port\": 22,\n \"protocol\": \"TCP\",\n }])\nsrv01 = scaleway.InstanceServer(\"srv01\",\n name=\"my-server\",\n type=\"PLAY2-NANO\",\n image=\"ubuntu_jammy\",\n security_group_id=sg01.id)\npn01 = scaleway.VpcPrivateNetwork(\"pn01\", name=\"my-pn\")\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=srv01.id,\n private_network_id=pn01.id)\ndhcp01 = scaleway.VpcPublicGatewayDhcp(\"dhcp01\", subnet=\"192.168.0.0/24\")\nip01 = scaleway.VpcPublicGatewayIp(\"ip01\")\npg01 = scaleway.VpcPublicGateway(\"pg01\",\n name=\"my-pg\",\n type=\"VPC-GW-S\",\n ip_id=ip01.id)\ngn01 = scaleway.VpcGatewayNetwork(\"gn01\",\n gateway_id=pg01.id,\n private_network_id=pn01.id,\n dhcp_id=dhcp01.id,\n cleanup_dhcp=True,\n enable_masquerade=True)\nrsv01 = scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\",\n gateway_network_id=gn01.id,\n mac_address=pnic01.mac_address,\n ip_address=\"192.168.0.7\")\npat01 = scaleway.VpcPublicGatewayPatRule(\"pat01\",\n gateway_id=pg01.id,\n private_ip=rsv01.ip_address,\n private_port=22,\n public_port=2202,\n protocol=\"tcp\")\nmain = scaleway.get_vpc_public_pat_rule_output(pat_rule_id=pat01.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 sg01 = new Scaleway.InstanceSecurityGroup(\"sg01\", new()\n {\n InboundDefaultPolicy = \"drop\",\n OutboundDefaultPolicy = \"accept\",\n InboundRules = new[]\n {\n new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs\n {\n Action = \"accept\",\n Port = 22,\n Protocol = \"TCP\",\n },\n },\n });\n\n var srv01 = new Scaleway.InstanceServer(\"srv01\", new()\n {\n Name = \"my-server\",\n Type = \"PLAY2-NANO\",\n Image = \"ubuntu_jammy\",\n SecurityGroupId = sg01.Id,\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"my-pn\",\n });\n\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = srv01.Id,\n PrivateNetworkId = pn01.Id,\n });\n\n var dhcp01 = new Scaleway.VpcPublicGatewayDhcp(\"dhcp01\", new()\n {\n Subnet = \"192.168.0.0/24\",\n });\n\n var ip01 = new Scaleway.VpcPublicGatewayIp(\"ip01\");\n\n var pg01 = new Scaleway.VpcPublicGateway(\"pg01\", new()\n {\n Name = \"my-pg\",\n Type = \"VPC-GW-S\",\n IpId = ip01.Id,\n });\n\n var gn01 = new Scaleway.VpcGatewayNetwork(\"gn01\", new()\n {\n GatewayId = pg01.Id,\n PrivateNetworkId = pn01.Id,\n DhcpId = dhcp01.Id,\n CleanupDhcp = true,\n EnableMasquerade = true,\n });\n\n var rsv01 = new Scaleway.VpcPublicGatewayDhcpReservation(\"rsv01\", new()\n {\n GatewayNetworkId = gn01.Id,\n MacAddress = pnic01.MacAddress,\n IpAddress = \"192.168.0.7\",\n });\n\n var pat01 = new Scaleway.VpcPublicGatewayPatRule(\"pat01\", new()\n {\n GatewayId = pg01.Id,\n PrivateIp = rsv01.IpAddress,\n PrivatePort = 22,\n PublicPort = 2202,\n Protocol = \"tcp\",\n });\n\n var main = Scaleway.GetVpcPublicPatRule.Invoke(new()\n {\n PatRuleId = pat01.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\tsg01, err := scaleway.NewInstanceSecurityGroup(ctx, \"sg01\", \u0026scaleway.InstanceSecurityGroupArgs{\n\t\t\tInboundDefaultPolicy: pulumi.String(\"drop\"),\n\t\t\tOutboundDefaultPolicy: pulumi.String(\"accept\"),\n\t\t\tInboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{\n\t\t\t\t\u0026scaleway.InstanceSecurityGroupInboundRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\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\tsrv01, err := scaleway.NewInstanceServer(ctx, \"srv01\", \u0026scaleway.InstanceServerArgs{\n\t\t\tName: pulumi.String(\"my-server\"),\n\t\t\tType: pulumi.String(\"PLAY2-NANO\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tSecurityGroupId: sg01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"my-pn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpnic01, err := scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: srv01.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdhcp01, err := scaleway.NewVpcPublicGatewayDhcp(ctx, \"dhcp01\", \u0026scaleway.VpcPublicGatewayDhcpArgs{\n\t\t\tSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewVpcPublicGatewayIp(ctx, \"ip01\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpg01, err := scaleway.NewVpcPublicGateway(ctx, \"pg01\", \u0026scaleway.VpcPublicGatewayArgs{\n\t\t\tName: pulumi.String(\"my-pg\"),\n\t\t\tType: pulumi.String(\"VPC-GW-S\"),\n\t\t\tIpId: ip01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgn01, err := scaleway.NewVpcGatewayNetwork(ctx, \"gn01\", \u0026scaleway.VpcGatewayNetworkArgs{\n\t\t\tGatewayId: pg01.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\tDhcpId: dhcp01.ID(),\n\t\t\tCleanupDhcp: pulumi.Bool(true),\n\t\t\tEnableMasquerade: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trsv01, err := scaleway.NewVpcPublicGatewayDhcpReservation(ctx, \"rsv01\", \u0026scaleway.VpcPublicGatewayDhcpReservationArgs{\n\t\t\tGatewayNetworkId: gn01.ID(),\n\t\t\tMacAddress: pnic01.MacAddress,\n\t\t\tIpAddress: pulumi.String(\"192.168.0.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpat01, err := scaleway.NewVpcPublicGatewayPatRule(ctx, \"pat01\", \u0026scaleway.VpcPublicGatewayPatRuleArgs{\n\t\t\tGatewayId: pg01.ID(),\n\t\t\tPrivateIp: rsv01.IpAddress,\n\t\t\tPrivatePort: pulumi.Int(22),\n\t\t\tPublicPort: pulumi.Int(2202),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = scaleway.GetVpcPublicPatRuleOutput(ctx, scaleway.GetVpcPublicPatRuleOutputArgs{\n\t\t\tPatRuleId: pat01.ID(),\n\t\t}, nil)\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.InstanceSecurityGroup;\nimport com.pulumi.scaleway.InstanceSecurityGroupArgs;\nimport com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcp;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayIp;\nimport com.pulumi.scaleway.VpcPublicGateway;\nimport com.pulumi.scaleway.VpcPublicGatewayArgs;\nimport com.pulumi.scaleway.VpcGatewayNetwork;\nimport com.pulumi.scaleway.VpcGatewayNetworkArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservation;\nimport com.pulumi.scaleway.VpcPublicGatewayDhcpReservationArgs;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRule;\nimport com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;\nimport com.pulumi.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetVpcPublicPatRuleArgs;\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 sg01 = new InstanceSecurityGroup(\"sg01\", InstanceSecurityGroupArgs.builder()\n .inboundDefaultPolicy(\"drop\")\n .outboundDefaultPolicy(\"accept\")\n .inboundRules(InstanceSecurityGroupInboundRuleArgs.builder()\n .action(\"accept\")\n .port(22)\n .protocol(\"TCP\")\n .build())\n .build());\n\n var srv01 = new InstanceServer(\"srv01\", InstanceServerArgs.builder()\n .name(\"my-server\")\n .type(\"PLAY2-NANO\")\n .image(\"ubuntu_jammy\")\n .securityGroupId(sg01.id())\n .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"my-pn\")\n .build());\n\n var pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(srv01.id())\n .privateNetworkId(pn01.id())\n .build());\n\n var dhcp01 = new VpcPublicGatewayDhcp(\"dhcp01\", VpcPublicGatewayDhcpArgs.builder()\n .subnet(\"192.168.0.0/24\")\n .build());\n\n var ip01 = new VpcPublicGatewayIp(\"ip01\");\n\n var pg01 = new VpcPublicGateway(\"pg01\", VpcPublicGatewayArgs.builder()\n .name(\"my-pg\")\n .type(\"VPC-GW-S\")\n .ipId(ip01.id())\n .build());\n\n var gn01 = new VpcGatewayNetwork(\"gn01\", VpcGatewayNetworkArgs.builder()\n .gatewayId(pg01.id())\n .privateNetworkId(pn01.id())\n .dhcpId(dhcp01.id())\n .cleanupDhcp(true)\n .enableMasquerade(true)\n .build());\n\n var rsv01 = new VpcPublicGatewayDhcpReservation(\"rsv01\", VpcPublicGatewayDhcpReservationArgs.builder()\n .gatewayNetworkId(gn01.id())\n .macAddress(pnic01.macAddress())\n .ipAddress(\"192.168.0.7\")\n .build());\n\n var pat01 = new VpcPublicGatewayPatRule(\"pat01\", VpcPublicGatewayPatRuleArgs.builder()\n .gatewayId(pg01.id())\n .privateIp(rsv01.ipAddress())\n .privatePort(22)\n .publicPort(2202)\n .protocol(\"tcp\")\n .build());\n\n final var main = ScalewayFunctions.getVpcPublicPatRule(GetVpcPublicPatRuleArgs.builder()\n .patRuleId(pat01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sg01:\n type: scaleway:InstanceSecurityGroup\n properties:\n inboundDefaultPolicy: drop\n outboundDefaultPolicy: accept\n inboundRules:\n - action: accept\n port: 22\n protocol: TCP\n srv01:\n type: scaleway:InstanceServer\n properties:\n name: my-server\n type: PLAY2-NANO\n image: ubuntu_jammy\n securityGroupId: ${sg01.id}\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${srv01.id}\n privateNetworkId: ${pn01.id}\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: my-pn\n dhcp01:\n type: scaleway:VpcPublicGatewayDhcp\n properties:\n subnet: 192.168.0.0/24\n ip01:\n type: scaleway:VpcPublicGatewayIp\n pg01:\n type: scaleway:VpcPublicGateway\n properties:\n name: my-pg\n type: VPC-GW-S\n ipId: ${ip01.id}\n gn01:\n type: scaleway:VpcGatewayNetwork\n properties:\n gatewayId: ${pg01.id}\n privateNetworkId: ${pn01.id}\n dhcpId: ${dhcp01.id}\n cleanupDhcp: true\n enableMasquerade: true\n rsv01:\n type: scaleway:VpcPublicGatewayDhcpReservation\n properties:\n gatewayNetworkId: ${gn01.id}\n macAddress: ${pnic01.macAddress}\n ipAddress: 192.168.0.7\n pat01:\n type: scaleway:VpcPublicGatewayPatRule\n properties:\n gatewayId: ${pg01.id}\n privateIp: ${rsv01.ipAddress}\n privatePort: 22\n publicPort: 2202\n protocol: tcp\nvariables:\n main:\n fn::invoke:\n function: scaleway:getVpcPublicPatRule\n arguments:\n patRuleId: ${pat01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcPublicPatRule.\n", "properties": { @@ -29237,7 +29368,7 @@ } }, "scaleway:index/getWebHostOffer:getWebHostOffer": { - "description": "Gets information about a webhosting offer.\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 info by offer name\nconst byName = scaleway.getWebHostOffer({\n name: \"performance\",\n});\n// Get info by offer id\nconst byId = scaleway.getWebHostOffer({\n offerId: \"de2426b4-a9e9-11ec-b909-0242ac120002\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by offer name\nby_name = scaleway.get_web_host_offer(name=\"performance\")\n# Get info by offer id\nby_id = scaleway.get_web_host_offer(offer_id=\"de2426b4-a9e9-11ec-b909-0242ac120002\")\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 info by offer name\n var byName = Scaleway.GetWebHostOffer.Invoke(new()\n {\n Name = \"performance\",\n });\n\n // Get info by offer id\n var byId = Scaleway.GetWebHostOffer.Invoke(new()\n {\n OfferId = \"de2426b4-a9e9-11ec-b909-0242ac120002\",\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 info by offer name\n\t\t_, err := scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tName: pulumi.StringRef(\"performance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by offer id\n\t\t_, err = scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tOfferId: pulumi.StringRef(\"de2426b4-a9e9-11ec-b909-0242ac120002\"),\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.GetWebHostOfferArgs;\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 info by offer name\n final var byName = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .name(\"performance\")\n .build());\n\n // Get info by offer id\n final var byId = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .offerId(\"de2426b4-a9e9-11ec-b909-0242ac120002\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by offer name\n byName:\n fn::invoke:\n Function: scaleway:getWebHostOffer\n Arguments:\n name: performance\n # Get info by offer id\n byId:\n fn::invoke:\n Function: scaleway:getWebHostOffer\n Arguments:\n offerId: de2426b4-a9e9-11ec-b909-0242ac120002\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a webhosting offer.\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 info by offer name\nconst byName = scaleway.getWebHostOffer({\n name: \"performance\",\n});\n// Get info by offer id\nconst byId = scaleway.getWebHostOffer({\n offerId: \"de2426b4-a9e9-11ec-b909-0242ac120002\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by offer name\nby_name = scaleway.get_web_host_offer(name=\"performance\")\n# Get info by offer id\nby_id = scaleway.get_web_host_offer(offer_id=\"de2426b4-a9e9-11ec-b909-0242ac120002\")\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 info by offer name\n var byName = Scaleway.GetWebHostOffer.Invoke(new()\n {\n Name = \"performance\",\n });\n\n // Get info by offer id\n var byId = Scaleway.GetWebHostOffer.Invoke(new()\n {\n OfferId = \"de2426b4-a9e9-11ec-b909-0242ac120002\",\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 info by offer name\n\t\t_, err := scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tName: pulumi.StringRef(\"performance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get info by offer id\n\t\t_, err = scaleway.GetWebHostOffer(ctx, \u0026scaleway.GetWebHostOfferArgs{\n\t\t\tOfferId: pulumi.StringRef(\"de2426b4-a9e9-11ec-b909-0242ac120002\"),\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.GetWebHostOfferArgs;\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 info by offer name\n final var byName = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .name(\"performance\")\n .build());\n\n // Get info by offer id\n final var byId = ScalewayFunctions.getWebHostOffer(GetWebHostOfferArgs.builder()\n .offerId(\"de2426b4-a9e9-11ec-b909-0242ac120002\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by offer name\n byName:\n fn::invoke:\n function: scaleway:getWebHostOffer\n arguments:\n name: performance\n # Get info by offer id\n byId:\n fn::invoke:\n function: scaleway:getWebHostOffer\n arguments:\n offerId: de2426b4-a9e9-11ec-b909-0242ac120002\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWebHostOffer.\n", "properties": { @@ -29300,7 +29431,7 @@ } }, "scaleway:index/getWebhosting:getWebhosting": { - "description": "Gets information about a webhosting.\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 info by offer domain\nconst byDomain = scaleway.getWebhosting({\n domain: \"foobar.com\",\n});\n// Get info by id\nconst byId = scaleway.getWebhosting({\n webhostingId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by offer domain\nby_domain = scaleway.get_webhosting(domain=\"foobar.com\")\n# Get info by id\nby_id = scaleway.get_webhosting(webhosting_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 info by offer domain\n var byDomain = Scaleway.GetWebhosting.Invoke(new()\n {\n Domain = \"foobar.com\",\n });\n\n // Get info by id\n var byId = Scaleway.GetWebhosting.Invoke(new()\n {\n WebhostingId = \"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 info by offer domain\n\t\t_, err := scaleway.LookupWebhosting(ctx, \u0026scaleway.LookupWebhostingArgs{\n\t\t\tDomain: pulumi.StringRef(\"foobar.com\"),\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.LookupWebhosting(ctx, \u0026scaleway.LookupWebhostingArgs{\n\t\t\tWebhostingId: 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.GetWebhostingArgs;\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 info by offer domain\n final var byDomain = ScalewayFunctions.getWebhosting(GetWebhostingArgs.builder()\n .domain(\"foobar.com\")\n .build());\n\n // Get info by id\n final var byId = ScalewayFunctions.getWebhosting(GetWebhostingArgs.builder()\n .webhostingId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by offer domain\n byDomain:\n fn::invoke:\n Function: scaleway:getWebhosting\n Arguments:\n domain: foobar.com\n # Get info by id\n byId:\n fn::invoke:\n Function: scaleway:getWebhosting\n Arguments:\n webhostingId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Gets information about a webhosting.\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 info by offer domain\nconst byDomain = scaleway.getWebhosting({\n domain: \"foobar.com\",\n});\n// Get info by id\nconst byId = scaleway.getWebhosting({\n webhostingId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get info by offer domain\nby_domain = scaleway.get_webhosting(domain=\"foobar.com\")\n# Get info by id\nby_id = scaleway.get_webhosting(webhosting_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 info by offer domain\n var byDomain = Scaleway.GetWebhosting.Invoke(new()\n {\n Domain = \"foobar.com\",\n });\n\n // Get info by id\n var byId = Scaleway.GetWebhosting.Invoke(new()\n {\n WebhostingId = \"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 info by offer domain\n\t\t_, err := scaleway.LookupWebhosting(ctx, \u0026scaleway.LookupWebhostingArgs{\n\t\t\tDomain: pulumi.StringRef(\"foobar.com\"),\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.LookupWebhosting(ctx, \u0026scaleway.LookupWebhostingArgs{\n\t\t\tWebhostingId: 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.GetWebhostingArgs;\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 info by offer domain\n final var byDomain = ScalewayFunctions.getWebhosting(GetWebhostingArgs.builder()\n .domain(\"foobar.com\")\n .build());\n\n // Get info by id\n final var byId = ScalewayFunctions.getWebhosting(GetWebhostingArgs.builder()\n .webhostingId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get info by offer domain\n byDomain:\n fn::invoke:\n function: scaleway:getWebhosting\n arguments:\n domain: foobar.com\n # Get info by id\n byId:\n fn::invoke:\n function: scaleway:getWebhosting\n arguments:\n webhostingId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getWebhosting.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 67295a1d..46f9e1a0 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,12 +1,12 @@ module github.com/pulumiverse/pulumi-scaleway/provider -go 1.22.0 +go 1.22.3 toolchain go1.23.2 require ( - github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 - github.com/pulumi/pulumi/sdk/v3 v3.140.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.99.0 + github.com/pulumi/pulumi/sdk/v3 v3.143.0 github.com/scaleway/terraform-provider-scaleway/v2/shim v0.0.0-00010101000000-000000000000 ) @@ -35,6 +35,26 @@ require ( github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/config v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.48 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.33.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect + github.com/aws/smithy-go v1.22.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect @@ -57,7 +77,7 @@ require ( github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.12.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.2.2 // indirect @@ -71,6 +91,7 @@ require ( github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/aws-sdk-go-base v1.1.0 // indirect + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 // indirect github.com/hashicorp/awspolicyequivalence v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -127,9 +148,9 @@ require ( github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect - github.com/nats-io/jwt/v2 v2.7.2 // indirect + github.com/nats-io/jwt/v2 v2.7.3 // indirect github.com/nats-io/nats.go v1.37.0 // indirect - github.com/nats-io/nkeys v0.4.7 // indirect + github.com/nats-io/nkeys v0.4.9 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/oklog/run v1.1.0 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect @@ -144,9 +165,9 @@ require ( github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.1.1 // indirect - github.com/pulumi/pulumi-java/pkg v0.17.0 // indirect - github.com/pulumi/pulumi-yaml v1.11.2 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.140.0 // indirect + github.com/pulumi/pulumi-java/pkg v0.19.0 // indirect + github.com/pulumi/pulumi-yaml v1.12.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.143.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect @@ -156,7 +177,7 @@ require ( github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30.0.20241129094524-023aa8142bc1 // indirect - github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0 // indirect + github.com/scaleway/terraform-provider-scaleway/v2 v2.49.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 @@ -181,19 +202,19 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.28.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.21.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/term v0.25.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/api v0.169.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 6e639447..413bd378 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1230,34 +1230,48 @@ github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= -github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= -github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= -github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= -github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= -github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= +github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= +github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 h1:yV+hCAHZZYJQcwAaszoBNwLbPItHvApxT0kVIw6jRgs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22/go.mod h1:kbR1TL8llqB1eGnVbybcA4/wgScxdylOdyAd51yxPdw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 h1:kT6BcZsmMtNkP/iYMcRG+mIEA/IbeiUimXtGmqF39y0= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3/go.mod h1:Z8uGua2k4PPaGOYn66pK02rhMrot3Xk3tpBuUFPomZU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 h1:ZC7Y/XgKUxwqcdhO5LE8P6oGP1eh6xlQReWNKfhvJno= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3/go.mod h1:WqfO7M9l9yUAw0HcHaikwRd/H6gzYdz7vjejCA5e2oY= github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 h1:SBn4I0fJXF9FYOVRSVMWuhvEKoAHDikjGpS3wlmw5DE= github.com/aws/aws-sdk-go-v2/service/kms v1.30.1/go.mod h1:2snWQJQUKsbN66vAawJuOGX7dr37pfOq9hb0tZDGIqQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= -github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= -github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 h1:p9TNFL8bFUMd+38YIpTAXpoxyz0MxC7FlbFEH4P4E1U= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2/go.mod h1:fNjyo0Coen9QTwQLWeV6WO2Nytwiu+cCcWaTdKCAqqE= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.8 h1:zKokiUMOfbZSrAUVqw+bSjr6gl9u/JcvPzHTmL+tmdQ= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.8/go.mod h1:Nf9YEyqE51C+Dyj0DWSATxvsr39jBFIss6Jee9Hyqx4= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3 h1:94lmK3kN/iRSHrvWt+JujIqjVE53v0wrQ1lbPTmg6gM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3/go.mod h1:171mrsbgz6DahPMnLJzQiH3bXXrdsWhpE9USZiM19Lk= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc= +github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= +github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= @@ -1329,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.3.1+incompatible h1:KttF0XoteNTicmUtBO0L2tP+J7FGRFTjaEF4k6WdhfI= -github.com/docker/docker v27.3.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.4.1+incompatible h1:ZJvcY7gfwHn1JF48PfbyXg7Jyt9ZCWDW+GGXOIxEwp4= +github.com/docker/docker v27.4.1+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= @@ -1412,8 +1426,8 @@ github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpx github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= @@ -1578,6 +1592,8 @@ github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1 github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hashicorp/aws-sdk-go-base v1.1.0 h1:27urM3JAp6v+Oj/Ea5ULZwuFPK9cO1RUdEpV+rNdSAc= github.com/hashicorp/aws-sdk-go-base v1.1.0/go.mod h1:2fRjWDv3jJBeN6mVWFHV6hFTNeFBx2gpDLQaZNxUVAY= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 h1:j5ZrYJbLfZLJ9X5Bnp43z+ygN7kf6rbLCGIBGCIWWEA= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59/go.mod h1:jZEzCETkIzEinF749zPXsqpPmsA9P0fbMqRyoBh5UNo= github.com/hashicorp/awspolicyequivalence v1.6.0 h1:7aadmkalbc5ewStC6g3rljx1iNvP4QyAhg2KsHx8bU8= github.com/hashicorp/awspolicyequivalence v1.6.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/cli v1.1.6/go.mod h1:MPon5QYlgjjo0BSoAiN0ESeT5fRzDjVRp+uioJ0piz4= @@ -1827,12 +1843,12 @@ github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= -github.com/nats-io/jwt/v2 v2.7.2 h1:SCRjfDLJ2q8naXp8YlGJJS5/yj3wGSODFYVi4nnwVMw= -github.com/nats-io/jwt/v2 v2.7.2/go.mod h1:kB6QUmqHG6Wdrzj0KP2L+OX4xiTPBeV+NHVstFaATXU= +github.com/nats-io/jwt/v2 v2.7.3 h1:6bNPK+FXgBeAqdj4cYQ0F8ViHRbi7woQLq4W29nUAzE= +github.com/nats-io/jwt/v2 v2.7.3/go.mod h1:GvkcbHhKquj3pkioy5put1wvPxs78UlZ7D/pY+BgZk4= 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/nkeys v0.4.9 h1:qe9Faq2Gxwi6RZnZMXfmGMZkg3afLLOtrU+gDZJ35b0= +github.com/nats-io/nkeys v0.4.9/go.mod h1:jcMqs+FLG+W5YO36OX6wFIFcmpdAns+w1Wm6D3I/evE= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= @@ -1928,16 +1944,16 @@ github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+Sob github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5AepHg= github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= -github.com/pulumi/pulumi-java/pkg v0.17.0 h1:KmaVLrVmlkzShOfaJNJDlckorbFm8dM/C7L4hj6LX8U= -github.com/pulumi/pulumi-java/pkg v0.17.0/go.mod h1:ji4U4H7t81X4aaE88D9+z5CmKH/QoLwQi9N1iGl+2KQ= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 h1:uJB3tM1j+9SKeXLCAx3DBVHsYk4ddXNrVoiqpgXal2Q= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0/go.mod h1:WnOTAfdtm5+kW3rIU0rLhxFSEHtJIMf19FdOU6NFXG0= -github.com/pulumi/pulumi-yaml v1.11.2 h1:MU7TTNbruGCSgNHhaBygjIbLWm3WSbd1q98GpMIgQzE= -github.com/pulumi/pulumi-yaml v1.11.2/go.mod h1:RdXRBupRGGAD1kbYNG1V1h6pyFnXisvQsl0AANvVjGI= -github.com/pulumi/pulumi/pkg/v3 v3.140.0 h1:/bvHa19HY/6qHWvuAOVII8qr72MDGGczBWlPYlPo3j0= -github.com/pulumi/pulumi/pkg/v3 v3.140.0/go.mod h1:rcTtSyisd7BzZTugNk/s9zlYgX9S0S10+pha3Tko6yM= -github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= -github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi-java/pkg v0.19.0 h1:T9kkGUQJV7UTxenw08m3txsgQkNVnZZxvn1zCcNjaE8= +github.com/pulumi/pulumi-java/pkg v0.19.0/go.mod h1:YKYYFEb3Jvzf/dDJo0xOeEkIfBAMkkkdhXulauvEjmc= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.99.0 h1:QyYkA7G9NpwQiHeEX8l3JuLUDu2pLmEkoeybdHxoqgo= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.99.0/go.mod h1:FU/ITkEADtFpio/hBtxFyeRGgOeD+QqMYOcIFZtW4AA= +github.com/pulumi/pulumi-yaml v1.12.0 h1:ThJP+EBqeJyCnS6w6/PwcEFOT5o112qv0lObhefmFCk= +github.com/pulumi/pulumi-yaml v1.12.0/go.mod h1:EhZd1XDfuLa15O51qVVE16U6r8ldK9mLIBclqWCX27Y= +github.com/pulumi/pulumi/pkg/v3 v3.143.0 h1:diAlaNVZSRc59ePqbMuvuf/AwecpZyjhh1pGvmLEUwg= +github.com/pulumi/pulumi/pkg/v3 v3.143.0/go.mod h1:XzjN1uQI2HWXYolT2L4RIXzvLEnWTSOzFgFFIUfFEa8= +github.com/pulumi/pulumi/sdk/v3 v3.143.0 h1:z1m8Fc6l723eU2J/bP7UHE5t6WbBu4iIDAl1WaalQk4= +github.com/pulumi/pulumi/sdk/v3 v3.143.0/go.mod h1:OFpZabILGxrFqzcABFpMCksrHGVp4ymRM2BkKjlazDY= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= @@ -1974,8 +1990,8 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9Am github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30.0.20241129094524-023aa8142bc1 h1:0OKzyRfLH+dWSPOBvwbhNcBTbEiuNkv8mdYGev1+/1g= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30.0.20241129094524-023aa8142bc1/go.mod h1:kAoejOVBg1E/aVAR6IwKWEmbLCEg2IXklzPAkxzAaXA= -github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0 h1:jfxm60NclssT7uPdoWPX8nyMSgU/45/KYGICh17PqQQ= -github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0/go.mod h1:j0zmD9pDho7GpuA5tapdGU+q9SV8CHppM7XD430R3Yo= +github.com/scaleway/terraform-provider-scaleway/v2 v2.49.0 h1:v6ykaZ3CGn4RVRDOmUQhYYW75OyX95R1xIsXMRVALe8= +github.com/scaleway/terraform-provider-scaleway/v2 v2.49.0/go.mod h1:HD5DTAJ00Fv+qey0LiwMczCZUoqV8LPzLu9DeMplEBs= 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= @@ -2080,8 +2096,9 @@ github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgr github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= -github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zclconf/go-cty-yaml v1.0.3 h1:og/eOQ7lvA/WWhHGFETVWNduJM7Rjsv2RRpx1sdFMLc= +github.com/zclconf/go-cty-yaml v1.0.3/go.mod h1:9YLUH4g7lOhVWqUbctnVlZ5KLpg7JAprQNgxSZ1Gyxs= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -2097,14 +2114,14 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= @@ -2146,8 +2163,8 @@ golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72 golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= -golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= 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= @@ -2292,8 +2309,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2351,8 +2368,8 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.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= @@ -2462,8 +2479,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.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.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= @@ -2483,8 +2500,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= 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.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= -golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= 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= @@ -2506,8 +2523,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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= 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/shim/go.mod b/provider/shim/go.mod index e1fbd7ae..bfec44b0 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -6,7 +6,7 @@ toolchain go1.23.2 require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 - github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0 + github.com/scaleway/terraform-provider-scaleway/v2 v2.49.0 ) require ( @@ -14,12 +14,33 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/config v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.48 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.33.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect + github.com/aws/smithy-go v1.22.1 // indirect github.com/cloudflare/circl v1.3.9 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/fatih/color v1.17.0 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/hashicorp/aws-sdk-go-base v1.1.0 // indirect + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 // indirect github.com/hashicorp/awspolicyequivalence v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -41,7 +62,6 @@ require ( github.com/hashicorp/terraform-registry-address v0.2.3 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/klauspost/compress v1.17.9 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -50,9 +70,9 @@ require ( github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/nats-io/jwt/v2 v2.7.2 // indirect + github.com/nats-io/jwt/v2 v2.7.3 // indirect github.com/nats-io/nats.go v1.37.0 // indirect - github.com/nats-io/nkeys v0.4.7 // indirect + github.com/nats-io/nkeys v0.4.9 // 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 @@ -62,13 +82,12 @@ require ( 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.28.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/mod v0.21.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.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-20240814211410-ddb44dafa142 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 9d022fac..d86908ac 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -12,6 +12,46 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmms github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= +github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= +github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 h1:yV+hCAHZZYJQcwAaszoBNwLbPItHvApxT0kVIw6jRgs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22/go.mod h1:kbR1TL8llqB1eGnVbybcA4/wgScxdylOdyAd51yxPdw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 h1:kT6BcZsmMtNkP/iYMcRG+mIEA/IbeiUimXtGmqF39y0= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3/go.mod h1:Z8uGua2k4PPaGOYn66pK02rhMrot3Xk3tpBuUFPomZU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 h1:ZC7Y/XgKUxwqcdhO5LE8P6oGP1eh6xlQReWNKfhvJno= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3/go.mod h1:WqfO7M9l9yUAw0HcHaikwRd/H6gzYdz7vjejCA5e2oY= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 h1:p9TNFL8bFUMd+38YIpTAXpoxyz0MxC7FlbFEH4P4E1U= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2/go.mod h1:fNjyo0Coen9QTwQLWeV6WO2Nytwiu+cCcWaTdKCAqqE= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.8 h1:zKokiUMOfbZSrAUVqw+bSjr6gl9u/JcvPzHTmL+tmdQ= +github.com/aws/aws-sdk-go-v2/service/sns v1.33.8/go.mod h1:Nf9YEyqE51C+Dyj0DWSATxvsr39jBFIss6Jee9Hyqx4= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3 h1:94lmK3kN/iRSHrvWt+JujIqjVE53v0wrQ1lbPTmg6gM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.37.3/go.mod h1:171mrsbgz6DahPMnLJzQiH3bXXrdsWhpE9USZiM19Lk= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc= +github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= +github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/cloudflare/circl v1.3.9 h1:QFrlgFYf2Qpi8bSpVPK1HBvWpx16v/1TZivyo7pGuBE= @@ -25,8 +65,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.3.1+incompatible h1:KttF0XoteNTicmUtBO0L2tP+J7FGRFTjaEF4k6WdhfI= -github.com/docker/docker v27.3.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.4.1+incompatible h1:ZJvcY7gfwHn1JF48PfbyXg7Jyt9ZCWDW+GGXOIxEwp4= +github.com/docker/docker v27.4.1+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= @@ -46,8 +86,8 @@ github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+ github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -68,6 +108,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/hashicorp/aws-sdk-go-base v1.1.0 h1:27urM3JAp6v+Oj/Ea5ULZwuFPK9cO1RUdEpV+rNdSAc= github.com/hashicorp/aws-sdk-go-base v1.1.0/go.mod h1:2fRjWDv3jJBeN6mVWFHV6hFTNeFBx2gpDLQaZNxUVAY= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 h1:j5ZrYJbLfZLJ9X5Bnp43z+ygN7kf6rbLCGIBGCIWWEA= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59/go.mod h1:jZEzCETkIzEinF749zPXsqpPmsA9P0fbMqRyoBh5UNo= github.com/hashicorp/awspolicyequivalence v1.6.0 h1:7aadmkalbc5ewStC6g3rljx1iNvP4QyAhg2KsHx8bU8= github.com/hashicorp/awspolicyequivalence v1.6.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -121,10 +163,6 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= @@ -156,12 +194,12 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/nats-io/jwt/v2 v2.7.2 h1:SCRjfDLJ2q8naXp8YlGJJS5/yj3wGSODFYVi4nnwVMw= -github.com/nats-io/jwt/v2 v2.7.2/go.mod h1:kB6QUmqHG6Wdrzj0KP2L+OX4xiTPBeV+NHVstFaATXU= +github.com/nats-io/jwt/v2 v2.7.3 h1:6bNPK+FXgBeAqdj4cYQ0F8ViHRbi7woQLq4W29nUAzE= +github.com/nats-io/jwt/v2 v2.7.3/go.mod h1:GvkcbHhKquj3pkioy5put1wvPxs78UlZ7D/pY+BgZk4= 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/nkeys v0.4.9 h1:qe9Faq2Gxwi6RZnZMXfmGMZkg3afLLOtrU+gDZJ35b0= +github.com/nats-io/nkeys v0.4.9/go.mod h1:jcMqs+FLG+W5YO36OX6wFIFcmpdAns+w1Wm6D3I/evE= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= @@ -180,8 +218,8 @@ github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30.0.20241129094524-023aa8142bc1 h1:0OKzyRfLH+dWSPOBvwbhNcBTbEiuNkv8mdYGev1+/1g= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30.0.20241129094524-023aa8142bc1/go.mod h1:kAoejOVBg1E/aVAR6IwKWEmbLCEg2IXklzPAkxzAaXA= -github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0 h1:jfxm60NclssT7uPdoWPX8nyMSgU/45/KYGICh17PqQQ= -github.com/scaleway/terraform-provider-scaleway/v2 v2.48.0/go.mod h1:j0zmD9pDho7GpuA5tapdGU+q9SV8CHppM7XD430R3Yo= +github.com/scaleway/terraform-provider-scaleway/v2 v2.49.0 h1:v6ykaZ3CGn4RVRDOmUQhYYW75OyX95R1xIsXMRVALe8= +github.com/scaleway/terraform-provider-scaleway/v2 v2.49.0/go.mod h1:HD5DTAJ00Fv+qey0LiwMczCZUoqV8LPzLu9DeMplEBs= 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= @@ -207,16 +245,16 @@ github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6 github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= 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.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= -golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= @@ -225,13 +263,13 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= 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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.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 +282,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.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.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.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= -golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= 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.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= 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= @@ -283,7 +321,6 @@ gopkg.in/dnaeon/go-vcr.v3 v3.2.0/go.mod h1:2IMOnnlx9I6u9x+YBsM3tAMx6AlOxnJ0pWxQA gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/sdk/dotnet/BaremetalServer.cs b/sdk/dotnet/BaremetalServer.cs index d82588a2..cdc3da85 100644 --- a/sdk/dotnet/BaremetalServer.cs +++ b/sdk/dotnet/BaremetalServer.cs @@ -301,6 +301,54 @@ namespace Pulumiverse.Scaleway /// }); /// ``` /// + /// ### With custom partitioning + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var configCustomPartitioning = config.Get("configCustomPartitioning") ?? "{\"disks\":[{\"device\":\"/dev/nvme0n1\",\"partitions\":[{\"label\":\"uefi\",\"number\":1,\"size\":536870912},{\"label\":\"swap\",\"number\":2,\"size\":4294967296},{\"label\":\"boot\",\"number\":3,\"size\":1073741824},{\"label\":\"root\",\"number\":4,\"size\":1017827045376}]},{\"device\":\"/dev/nvme1n1\",\"partitions\":[{\"label\":\"swap\",\"number\":1,\"size\":4294967296},{\"label\":\"boot\",\"number\":2,\"size\":1073741824},{\"label\":\"root\",\"number\":3,\"size\":1017827045376}]}],\"filesystems\":[{\"device\":\"/dev/nvme0n1p1\",\"format\":\"fat32\",\"mountpoint\":\"/boot/efi\"},{\"device\":\"/dev/md0\",\"format\":\"ext4\",\"mountpoint\":\"/boot\"},{\"device\":\"/dev/md1\",\"format\":\"ext4\",\"mountpoint\":\"/\"}],\"raids\":[{\"devices\":[\"/dev/nvme0n1p3\",\"/dev/nvme1n1p2\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md0\"},{\"devices\":[\"/dev/nvme0n1p4\",\"/dev/nvme1n1p3\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md1\"}],\"zfs\":{\"pools\":[]}}"; + /// var myOs = Scaleway.GetBaremetalOs.Invoke(new() + /// { + /// Zone = "fr-par-1", + /// Name = "Ubuntu", + /// Version = "22.04 LTS (Jammy Jellyfish)", + /// }); + /// + /// var main = new Scaleway.IamSshKey("main", new() + /// { + /// Name = "main", + /// }); + /// + /// var @base = new Scaleway.BaremetalServer("base", new() + /// { + /// Name = "%s", + /// Zone = "fr-par-1", + /// Description = "test a description", + /// Offer = "EM-B220E-NVME", + /// Os = myOs.Apply(getBaremetalOsResult => getBaremetalOsResult.OsId), + /// Partitioning = configCustomPartitioning, + /// Tags = new[] + /// { + /// "terraform-test", + /// "scaleway_baremetal_server", + /// "minimal", + /// }, + /// SshKeyIds = new[] + /// { + /// main.Id, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Baremetal servers can be imported using the `{zone}/{id}`, e.g. @@ -411,7 +459,7 @@ public partial class BaremetalServer : global::Pulumi.CustomResource public Output OsName { get; private set; } = null!; /// - /// The partitioning schema in json format + /// The partitioning schema in JSON format /// [Output("partitioning")] public Output Partitioning { get; private set; } = null!; @@ -584,7 +632,7 @@ public InputList Options public Input? Os { get; set; } /// - /// The partitioning schema in json format + /// The partitioning schema in JSON format /// [Input("partitioning")] public Input? Partitioning { get; set; } @@ -817,7 +865,7 @@ public InputList Options public Input? OsName { get; set; } /// - /// The partitioning schema in json format + /// The partitioning schema in JSON format /// [Input("partitioning")] public Input? Partitioning { get; set; } diff --git a/sdk/dotnet/CockpitGrafanaUser.cs b/sdk/dotnet/CockpitGrafanaUser.cs index 9238a564..6a3c237d 100644 --- a/sdk/dotnet/CockpitGrafanaUser.cs +++ b/sdk/dotnet/CockpitGrafanaUser.cs @@ -57,6 +57,12 @@ namespace Pulumiverse.Scaleway [ScalewayResourceType("scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser")] public partial class CockpitGrafanaUser : global::Pulumi.CustomResource { + /// + /// URL for Grafana. + /// + [Output("grafanaUrl")] + public Output GrafanaUrl { get; private set; } = null!; + /// /// 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. /// @@ -158,6 +164,12 @@ public CockpitGrafanaUserArgs() public sealed class CockpitGrafanaUserState : global::Pulumi.ResourceArgs { + /// + /// URL for Grafana. + /// + [Input("grafanaUrl")] + public Input? GrafanaUrl { get; set; } + /// /// 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. /// diff --git a/sdk/dotnet/CockpitSource.cs b/sdk/dotnet/CockpitSource.cs index 7e305a3d..915d9023 100644 --- a/sdk/dotnet/CockpitSource.cs +++ b/sdk/dotnet/CockpitSource.cs @@ -39,6 +39,7 @@ namespace Pulumiverse.Scaleway /// ProjectId = project.Id, /// Name = "my-data-source", /// Type = "metrics", + /// RetentionDays = 6, /// }); /// /// }); @@ -93,6 +94,12 @@ public partial class CockpitSource : global::Pulumi.CustomResource [Output("region")] public Output Region { get; private set; } = null!; + /// + /// The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + /// + [Output("retentionDays")] + public Output RetentionDays { get; private set; } = null!; + /// /// Indicates whether the data source is synchronized with Grafana. /// @@ -125,7 +132,7 @@ public partial class CockpitSource : global::Pulumi.CustomResource /// 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 CockpitSource(string name, CockpitSourceArgs? args = null, CustomResourceOptions? options = null) + public CockpitSource(string name, CockpitSourceArgs args, CustomResourceOptions? options = null) : base("scaleway:index/cockpitSource:CockpitSource", name, args ?? new CockpitSourceArgs(), MakeResourceOptions(options, "")) { } @@ -182,6 +189,12 @@ public sealed class CockpitSourceArgs : global::Pulumi.ResourceArgs [Input("region")] public Input? Region { get; set; } + /// + /// The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + /// + [Input("retentionDays", required: true)] + public Input RetentionDays { get; set; } = null!; + /// /// The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. /// @@ -232,6 +245,12 @@ public sealed class CockpitSourceState : global::Pulumi.ResourceArgs [Input("region")] public Input? Region { get; set; } + /// + /// The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + /// + [Input("retentionDays")] + public Input? RetentionDays { get; set; } + /// /// Indicates whether the data source is synchronized with Grafana. /// diff --git a/sdk/dotnet/GetAccountProject.cs b/sdk/dotnet/GetAccountProject.cs index 6ed3e6be..66d60409 100644 --- a/sdk/dotnet/GetAccountProject.cs +++ b/sdk/dotnet/GetAccountProject.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetAccountProjectArgs? a /// public static Output Invoke(GetAccountProjectInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAccountProject:getAccountProject", args ?? new GetAccountProjectInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.AccountProject` data source is used to retrieve information about a Scaleway project. + /// + /// Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/identity-and-access-management/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information. + /// + public static Output Invoke(GetAccountProjectInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAccountProject:getAccountProject", args ?? new GetAccountProjectInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAccountSshKey.cs b/sdk/dotnet/GetAccountSshKey.cs index 890963d9..5c67e3f3 100644 --- a/sdk/dotnet/GetAccountSshKey.cs +++ b/sdk/dotnet/GetAccountSshKey.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetAccountSshKeyArgs? arg /// public static Output Invoke(GetAccountSshKeyInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAccountSshKey:getAccountSshKey", args ?? new GetAccountSshKeyInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.AccountSshKey` data source is used to retrieve information about a the SSH key of a Scaleway account. + /// + /// Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/identity-and-access-management/organizations-and-projects/how-to/create-ssh-key/) and [API documentation](https://www.scaleway.com/en/developers/api/iam/#path-ssh-keys) for more information. + /// + public static Output Invoke(GetAccountSshKeyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAccountSshKey:getAccountSshKey", args ?? new GetAccountSshKeyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetAvailabilityZones.cs b/sdk/dotnet/GetAvailabilityZones.cs index 4b63f527..d8677c91 100644 --- a/sdk/dotnet/GetAvailabilityZones.cs +++ b/sdk/dotnet/GetAvailabilityZones.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetAvailabilityZonesA /// public static Output Invoke(GetAvailabilityZonesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAvailabilityZones:getAvailabilityZones", args ?? new GetAvailabilityZonesInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.getAvailabilityZones` data source is used to retrieve information about the available zones based on its Region. + /// + /// For technical and legal reasons, some products are split by Region or by Availability Zones. When using such product, + /// you can choose the location that better fits your need (country, latency, etc.). + /// + /// Refer to the Account [documentation](https://www.scaleway.com/en/docs/console/account/reference-content/products-availability/) for more information. + /// + /// ## Retrieve the Availability Zones of a Region + /// + /// The following command allow you to retrieve a the AZs of a Region. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by Region key + /// var main = Scaleway.GetAvailabilityZones.Invoke(new() + /// { + /// Region = "nl-ams", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetAvailabilityZonesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getAvailabilityZones:getAvailabilityZones", args ?? new GetAvailabilityZonesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBaremetalOffer.cs b/sdk/dotnet/GetBaremetalOffer.cs index a6689ab6..c3295e19 100644 --- a/sdk/dotnet/GetBaremetalOffer.cs +++ b/sdk/dotnet/GetBaremetalOffer.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetBaremetalOfferArgs? a /// public static Output Invoke(GetBaremetalOfferInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOffer:getBaremetalOffer", args ?? new GetBaremetalOfferInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a baremetal offer. For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). + /// + public static Output Invoke(GetBaremetalOfferInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOffer:getBaremetalOffer", args ?? new GetBaremetalOfferInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBaremetalOption.cs b/sdk/dotnet/GetBaremetalOption.cs index 68c9e1cc..8357322a 100644 --- a/sdk/dotnet/GetBaremetalOption.cs +++ b/sdk/dotnet/GetBaremetalOption.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetBaremetalOptionArgs? /// public static Output Invoke(GetBaremetalOptionInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOption:getBaremetalOption", args ?? new GetBaremetalOptionInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a baremetal option. + /// For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by option name + /// var byName = Scaleway.GetBaremetalOption.Invoke(new() + /// { + /// Name = "Remote Access", + /// }); + /// + /// // Get info by option id + /// var byId = Scaleway.GetBaremetalOption.Invoke(new() + /// { + /// OptionId = "931df052-d713-4674-8b58-96a63244c8e2", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetBaremetalOptionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOption:getBaremetalOption", args ?? new GetBaremetalOptionInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBaremetalOs.cs b/sdk/dotnet/GetBaremetalOs.cs index 3e228a56..8412fd72 100644 --- a/sdk/dotnet/GetBaremetalOs.cs +++ b/sdk/dotnet/GetBaremetalOs.cs @@ -81,6 +81,41 @@ public static Task InvokeAsync(GetBaremetalOsArgs? args = /// public static Output Invoke(GetBaremetalOsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOs:getBaremetalOs", args ?? new GetBaremetalOsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a baremetal operating system. + /// For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses). + /// + /// You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw baremetal os list` to list all available operating systems. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by os name and version + /// var byName = Scaleway.GetBaremetalOs.Invoke(new() + /// { + /// Name = "Ubuntu", + /// Version = "20.04 LTS (Focal Fossa)", + /// }); + /// + /// // Get info by os id + /// var byId = Scaleway.GetBaremetalOs.Invoke(new() + /// { + /// OsId = "03b7f4ba-a6a1-4305-984e-b54fafbf1681", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetBaremetalOsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalOs:getBaremetalOs", args ?? new GetBaremetalOsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBaremetalServer.cs b/sdk/dotnet/GetBaremetalServer.cs index 3252a5ca..61b9fe41 100644 --- a/sdk/dotnet/GetBaremetalServer.cs +++ b/sdk/dotnet/GetBaremetalServer.cs @@ -77,6 +77,39 @@ public static Task InvokeAsync(GetBaremetalServerArgs? /// public static Output Invoke(GetBaremetalServerInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalServer:getBaremetalServer", args ?? new GetBaremetalServerInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a baremetal server. + /// For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by server name + /// var byName = Scaleway.GetBaremetalServer.Invoke(new() + /// { + /// Name = "foobar", + /// Zone = "fr-par-2", + /// }); + /// + /// // Get info by server id + /// var byId = Scaleway.GetBaremetalServer.Invoke(new() + /// { + /// ServerId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetBaremetalServerInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBaremetalServer:getBaremetalServer", args ?? new GetBaremetalServerInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBillingConsumptions.cs b/sdk/dotnet/GetBillingConsumptions.cs index 6f835eb8..bc65e5c2 100644 --- a/sdk/dotnet/GetBillingConsumptions.cs +++ b/sdk/dotnet/GetBillingConsumptions.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetBillingConsumpti /// public static Output Invoke(GetBillingConsumptionsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBillingConsumptions:getBillingConsumptions", args ?? new GetBillingConsumptionsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about your Consumptions. + /// + public static Output Invoke(GetBillingConsumptionsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBillingConsumptions:getBillingConsumptions", args ?? new GetBillingConsumptionsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBillingInvoices.cs b/sdk/dotnet/GetBillingInvoices.cs index fd837901..e9f787ad 100644 --- a/sdk/dotnet/GetBillingInvoices.cs +++ b/sdk/dotnet/GetBillingInvoices.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetBillingInvoicesArgs? /// public static Output Invoke(GetBillingInvoicesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBillingInvoices:getBillingInvoices", args ?? new GetBillingInvoicesInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about your Scaleway invoices. + /// + public static Output Invoke(GetBillingInvoicesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBillingInvoices:getBillingInvoices", args ?? new GetBillingInvoicesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBlockSnapshot.cs b/sdk/dotnet/GetBlockSnapshot.cs index e6ee0d25..8fdc8b31 100644 --- a/sdk/dotnet/GetBlockSnapshot.cs +++ b/sdk/dotnet/GetBlockSnapshot.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetBlockSnapshotArgs? arg /// public static Output Invoke(GetBlockSnapshotInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockSnapshot:getBlockSnapshot", args ?? new GetBlockSnapshotInvokeArgs(), options.WithDefaults()); + + /// + /// 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, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockSnapshot:getBlockSnapshot", args ?? new GetBlockSnapshotInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetBlockVolume.cs b/sdk/dotnet/GetBlockVolume.cs index 43aa3241..504311e4 100644 --- a/sdk/dotnet/GetBlockVolume.cs +++ b/sdk/dotnet/GetBlockVolume.cs @@ -25,6 +25,13 @@ public static Task InvokeAsync(GetBlockVolumeArgs? args = /// public static Output Invoke(GetBlockVolumeInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockVolume:getBlockVolume", args ?? new GetBlockVolumeInvokeArgs(), options.WithDefaults()); + + /// + /// 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, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getBlockVolume:getBlockVolume", args ?? new GetBlockVolumeInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetCockpit.cs b/sdk/dotnet/GetCockpit.cs index 227dd991..693394e1 100644 --- a/sdk/dotnet/GetCockpit.cs +++ b/sdk/dotnet/GetCockpit.cs @@ -115,6 +115,58 @@ public static Task InvokeAsync(GetCockpitArgs? args = null, In /// public static Output Invoke(GetCockpitInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpit:getCockpit", args ?? new GetCockpitInvokeArgs(), 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](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. + /// + /// ## 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; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get the default Project's Cockpit + /// var main = Scaleway.GetCockpit.Invoke(); + /// + /// }); + /// ``` + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get a specific Project's Cockpit + /// var main = Scaleway.GetCockpit.Invoke(new() + /// { + /// ProjectId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetCockpitInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpit:getCockpit", args ?? new GetCockpitInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetCockpitPlan.cs b/sdk/dotnet/GetCockpitPlan.cs index 34fe406e..38375c28 100644 --- a/sdk/dotnet/GetCockpitPlan.cs +++ b/sdk/dotnet/GetCockpitPlan.cs @@ -83,6 +83,42 @@ public static Task InvokeAsync(GetCockpitPlanArgs args, In /// public static Output Invoke(GetCockpitPlanInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpitPlan:getCockpitPlan", args ?? new GetCockpitPlanInvokeArgs(), options.WithDefaults()); + + /// + /// 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 + /// + /// 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; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var premium = Scaleway.GetCockpitPlan.Invoke(new() + /// { + /// Name = "premium", + /// }); + /// + /// var main = new Scaleway.Cockpit("main", new() + /// { + /// Plan = premium.Apply(getCockpitPlanResult => getCockpitPlanResult.Id), + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetCockpitPlanInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpitPlan:getCockpitPlan", args ?? new GetCockpitPlanInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetCockpitSource.cs b/sdk/dotnet/GetCockpitSource.cs new file mode 100644 index 00000000..7498a300 --- /dev/null +++ b/sdk/dotnet/GetCockpitSource.cs @@ -0,0 +1,257 @@ +// *** 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 GetCockpitSource + { + /// + /// The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + /// + /// ## Example Usage + /// + /// ### Retrieve a specific data source by ID + /// + /// The following example retrieves a Cockpit data source by its unique ID. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Scaleway.GetCockpitSource.Invoke(new() + /// { + /// Id = "fr-par/11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetCockpitSourceArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getCockpitSource:getCockpitSource", args ?? new GetCockpitSourceArgs(), options.WithDefaults()); + + /// + /// The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + /// + /// ## Example Usage + /// + /// ### Retrieve a specific data source by ID + /// + /// The following example retrieves a Cockpit data source by its unique ID. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Scaleway.GetCockpitSource.Invoke(new() + /// { + /// Id = "fr-par/11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetCockpitSourceInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpitSource:getCockpitSource", args ?? new GetCockpitSourceInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + /// + /// ## Example Usage + /// + /// ### Retrieve a specific data source by ID + /// + /// The following example retrieves a Cockpit data source by its unique ID. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Scaleway.GetCockpitSource.Invoke(new() + /// { + /// Id = "fr-par/11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetCockpitSourceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getCockpitSource:getCockpitSource", args ?? new GetCockpitSourceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCockpitSourceArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + /// + [Input("id")] + public string? Id { get; set; } + + /// + /// The name of the data source. + /// + [Input("name")] + public string? Name { get; set; } + + /// + /// The origin of the data source. Possible values are: + /// + [Input("origin")] + public string? Origin { get; set; } + + /// + /// The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + /// + [Input("projectId")] + public string? ProjectId { get; set; } + + /// + /// 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 string? Type { get; set; } + + public GetCockpitSourceArgs() + { + } + public static new GetCockpitSourceArgs Empty => new GetCockpitSourceArgs(); + } + + public sealed class GetCockpitSourceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// The name of the data source. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The origin of the data source. Possible values are: + /// + [Input("origin")] + public Input? Origin { get; set; } + + /// + /// The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// 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; } + + public GetCockpitSourceInvokeArgs() + { + } + public static new GetCockpitSourceInvokeArgs Empty => new GetCockpitSourceInvokeArgs(); + } + + + [OutputType] + public sealed class GetCockpitSourceResult + { + /// + /// The date and time the data source was created (in RFC 3339 format). + /// + public readonly string CreatedAt; + /// + /// The unique identifier of the data source in the `{region}/{id}` format. + /// + public readonly string Id; + public readonly string Name; + /// + /// The origin of the data source. + /// + public readonly string Origin; + public readonly string ProjectId; + public readonly string Region; + /// + /// The number of days the data is retained in the data source. + /// + public readonly int RetentionDays; + /// + /// Indicates whether the data source is synchronized with Grafana. + /// + public readonly bool SynchronizedWithGrafana; + public readonly string Type; + /// + /// The date and time the data source was last updated (in RFC 3339 format). + /// + public readonly string UpdatedAt; + /// + /// The URL of the Cockpit data source. + /// + public readonly string Url; + + [OutputConstructor] + private GetCockpitSourceResult( + string createdAt, + + string id, + + string name, + + string origin, + + string projectId, + + string region, + + int retentionDays, + + bool synchronizedWithGrafana, + + string type, + + string updatedAt, + + string url) + { + CreatedAt = createdAt; + Id = id; + Name = name; + Origin = origin; + ProjectId = projectId; + Region = region; + RetentionDays = retentionDays; + SynchronizedWithGrafana = synchronizedWithGrafana; + Type = type; + UpdatedAt = updatedAt; + Url = url; + } + } +} diff --git a/sdk/dotnet/GetConfig.cs b/sdk/dotnet/GetConfig.cs index 27b9e749..790932c0 100644 --- a/sdk/dotnet/GetConfig.cs +++ b/sdk/dotnet/GetConfig.cs @@ -17,6 +17,9 @@ public static Task InvokeAsync(InvokeOptions? options = null) public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getConfig:getConfig", InvokeArgs.Empty, options.WithDefaults()); + + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getConfig:getConfig", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetContainer.cs b/sdk/dotnet/GetContainer.cs index 7a865a59..a2d76c9f 100644 --- a/sdk/dotnet/GetContainer.cs +++ b/sdk/dotnet/GetContainer.cs @@ -137,6 +137,69 @@ public static Task InvokeAsync(GetContainerArgs args, Invoke /// public static Output Invoke(GetContainerInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getContainer:getContainer", args ?? new GetContainerInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.Container` data source is used to retrieve information about a Serverless Container. + /// + /// Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information. + /// + /// For more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/containers/reference-content/containers-limitations/). + /// + /// ## Retrieve a Serverless Container + /// + /// The following commands allow you to: + /// + /// - retrieve a container by its name + /// - retrieve a container by its ID + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.ContainerNamespace("main"); + /// + /// var mainContainer = new Scaleway.Container("main", new() + /// { + /// Name = "test-container-data", + /// NamespaceId = main.Id, + /// }); + /// + /// // Get info by container name + /// var byName = Scaleway.GetContainer.Invoke(new() + /// { + /// NamespaceId = main.Id, + /// Name = mainContainer.Name, + /// }); + /// + /// // Get info by container ID + /// var byId = Scaleway.GetContainer.Invoke(new() + /// { + /// NamespaceId = main.Id, + /// ContainerId = mainContainer.Id, + /// }); + /// + /// }); + /// ``` + /// + /// ## Arguments reference + /// + /// This section lists the arguments that you can provide to the `scaleway.Container` data source to filter and retrieve the desired namespace. Each argument has a specific purpose: + /// + /// - `name` - (Required) The unique name of the container. + /// + /// - `namespace_id` - (Required) The container namespace ID of the container. + /// + /// - `project_id` - (Optional) The unique identifier of the project with which the container is associated. + /// + /// > **Important** Updating the `name` argument will recreate the container. + /// + public static Output Invoke(GetContainerInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getContainer:getContainer", args ?? new GetContainerInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetContainerNamespace.cs b/sdk/dotnet/GetContainerNamespace.cs index 83318c85..21ddcedb 100644 --- a/sdk/dotnet/GetContainerNamespace.cs +++ b/sdk/dotnet/GetContainerNamespace.cs @@ -87,6 +87,44 @@ public static Task InvokeAsync(GetContainerNamespac /// public static Output Invoke(GetContainerNamespaceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getContainerNamespace:getContainerNamespace", args ?? new GetContainerNamespaceInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.ContainerNamespace` data source is used to retrieve information about a Serverless Containers namespace. + /// + /// Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information. + /// + /// ## Retrieve a Serverless Containers namespace + /// + /// The following commands allow you to: + /// + /// - retrieve a namespace by its name + /// - retrieve a namespace by its ID + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by namespace name + /// var byName = Scaleway.GetContainerNamespace.Invoke(new() + /// { + /// Name = "my-namespace-name", + /// }); + /// + /// // Get info by namespace ID + /// var byId = Scaleway.GetContainerNamespace.Invoke(new() + /// { + /// NamespaceId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetContainerNamespaceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getContainerNamespace:getContainerNamespace", args ?? new GetContainerNamespaceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDatabase.cs b/sdk/dotnet/GetDatabase.cs index eb9edaf4..a3593d94 100644 --- a/sdk/dotnet/GetDatabase.cs +++ b/sdk/dotnet/GetDatabase.cs @@ -63,6 +63,32 @@ public static Task InvokeAsync(GetDatabaseArgs args, InvokeOp /// public static Output Invoke(GetDatabaseInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabase:getDatabase", args ?? new GetDatabaseInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a database. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 + /// var myDb = Scaleway.GetDatabase.Invoke(new() + /// { + /// InstanceId = "11111111-1111-1111-1111-111111111111", + /// Name = "foobar", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDatabaseInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabase:getDatabase", args ?? new GetDatabaseInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDatabaseAcl.cs b/sdk/dotnet/GetDatabaseAcl.cs index b2b78e0b..60a95eb8 100644 --- a/sdk/dotnet/GetDatabaseAcl.cs +++ b/sdk/dotnet/GetDatabaseAcl.cs @@ -61,6 +61,31 @@ public static Task InvokeAsync(GetDatabaseAclArgs args, In /// public static Output Invoke(GetDatabaseAclInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseAcl:getDatabaseAcl", args ?? new GetDatabaseAclInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about the Database Instance network Access Control List. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par + /// var myAcl = Scaleway.GetDatabaseAcl.Invoke(new() + /// { + /// InstanceId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDatabaseAclInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseAcl:getDatabaseAcl", args ?? new GetDatabaseAclInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDatabaseBackup.cs b/sdk/dotnet/GetDatabaseBackup.cs index 1e6b5502..2b2a5ab6 100644 --- a/sdk/dotnet/GetDatabaseBackup.cs +++ b/sdk/dotnet/GetDatabaseBackup.cs @@ -81,6 +81,41 @@ public static Task InvokeAsync(GetDatabaseBackupArgs? a /// public static Output Invoke(GetDatabaseBackupInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseBackup:getDatabaseBackup", args ?? new GetDatabaseBackupInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an RDB backup. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var findByName = Scaleway.GetDatabaseBackup.Invoke(new() + /// { + /// Name = "mybackup", + /// }); + /// + /// var findByNameAndInstance = Scaleway.GetDatabaseBackup.Invoke(new() + /// { + /// Name = "mybackup", + /// InstanceId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// var findById = Scaleway.GetDatabaseBackup.Invoke(new() + /// { + /// BackupId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDatabaseBackupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseBackup:getDatabaseBackup", args ?? new GetDatabaseBackupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDatabaseInstance.cs b/sdk/dotnet/GetDatabaseInstance.cs index 4d6447d0..fc1b0ad2 100644 --- a/sdk/dotnet/GetDatabaseInstance.cs +++ b/sdk/dotnet/GetDatabaseInstance.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetDatabaseInstanceArg /// public static Output Invoke(GetDatabaseInstanceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseInstance:getDatabaseInstance", args ?? new GetDatabaseInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an Database Instance. + /// + /// For further information refer the Managed Databases for PostgreSQL and MySQL [API documentation](https://developers.scaleway.com/en/products/rdb/api/#database-instance) + /// + public static Output Invoke(GetDatabaseInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabaseInstance:getDatabaseInstance", args ?? new GetDatabaseInstanceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDatabasePrivilege.cs b/sdk/dotnet/GetDatabasePrivilege.cs index 0e622266..e2d14c90 100644 --- a/sdk/dotnet/GetDatabasePrivilege.cs +++ b/sdk/dotnet/GetDatabasePrivilege.cs @@ -65,6 +65,33 @@ public static Task InvokeAsync(GetDatabasePrivilegeA /// public static Output Invoke(GetDatabasePrivilegeInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabasePrivilege:getDatabasePrivilege", args ?? new GetDatabasePrivilegeInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about the privileges in a database. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get the database privilege for the user "my-user" on the database "my-database" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par + /// var main = Scaleway.GetDatabasePrivilege.Invoke(new() + /// { + /// InstanceId = "11111111-1111-111111111111", + /// UserName = "my-user", + /// DatabaseName = "my-database", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDatabasePrivilegeInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDatabasePrivilege:getDatabasePrivilege", args ?? new GetDatabasePrivilegeInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDomainRecord.cs b/sdk/dotnet/GetDomainRecord.cs index 60c7f1b5..73602874 100644 --- a/sdk/dotnet/GetDomainRecord.cs +++ b/sdk/dotnet/GetDomainRecord.cs @@ -97,6 +97,49 @@ public static Task InvokeAsync(GetDomainRecordArgs? args /// public static Output Invoke(GetDomainRecordInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDomainRecord:getDomainRecord", args ?? new GetDomainRecordInvokeArgs(), options.WithDefaults()); + + /// + /// 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: + /// + /// - 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; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Query record by DNS zone, record name, type and content + /// var byContent = Scaleway.GetDomainRecord.Invoke(new() + /// { + /// DnsZone = "domain.tld", + /// Name = "www", + /// Type = "A", + /// Data = "1.2.3.4", + /// }); + /// + /// // Query record by DNS zone and record ID + /// var byId = Scaleway.GetDomainRecord.Invoke(new() + /// { + /// DnsZone = "domain.tld", + /// RecordId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetDomainRecordInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDomainRecord:getDomainRecord", args ?? new GetDomainRecordInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetDomainZone.cs b/sdk/dotnet/GetDomainZone.cs index f25a97d9..a85018cc 100644 --- a/sdk/dotnet/GetDomainZone.cs +++ b/sdk/dotnet/GetDomainZone.cs @@ -17,6 +17,9 @@ public static Task InvokeAsync(GetDomainZoneArgs? args = nu public static Output Invoke(GetDomainZoneInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDomainZone:getDomainZone", args ?? new GetDomainZoneInvokeArgs(), options.WithDefaults()); + + public static Output Invoke(GetDomainZoneInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDomainZone:getDomainZone", args ?? new GetDomainZoneInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetFlexibleIp.cs b/sdk/dotnet/GetFlexibleIp.cs index ad2c3ab1..0dcc6020 100644 --- a/sdk/dotnet/GetFlexibleIp.cs +++ b/sdk/dotnet/GetFlexibleIp.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetFlexibleIpArgs? args = nu /// public static Output Invoke(GetFlexibleIpInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFlexibleIp:getFlexibleIp", args ?? new GetFlexibleIpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Flexible IP. + /// + public static Output Invoke(GetFlexibleIpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFlexibleIp:getFlexibleIp", args ?? new GetFlexibleIpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetFlexibleIps.cs b/sdk/dotnet/GetFlexibleIps.cs index e6c692ee..8613d37e 100644 --- a/sdk/dotnet/GetFlexibleIps.cs +++ b/sdk/dotnet/GetFlexibleIps.cs @@ -151,6 +151,76 @@ public static Task InvokeAsync(GetFlexibleIpsArgs? args = /// public static Output Invoke(GetFlexibleIpsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFlexibleIps:getFlexibleIps", args ?? new GetFlexibleIpsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Flexible IPs. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find ips that share the same tags + /// var fipsByTags = Scaleway.GetFlexibleIps.Invoke(new() + /// { + /// Tags = new[] + /// { + /// "a tag", + /// }, + /// }); + /// + /// // Find ips that share the same Server ID + /// var myOffer = Scaleway.GetBaremetalOffer.Invoke(new() + /// { + /// Name = "EM-B112X-SSD", + /// }); + /// + /// var @base = new Scaleway.BaremetalServer("base", new() + /// { + /// Name = "MyServer", + /// Offer = myOffer.Apply(getBaremetalOfferResult => getBaremetalOfferResult.OfferId), + /// InstallConfigAfterward = true, + /// }); + /// + /// var first = new Scaleway.FlexibleIp("first", new() + /// { + /// ServerId = @base.Id, + /// Tags = new[] + /// { + /// "foo", + /// "first", + /// }, + /// }); + /// + /// var second = new Scaleway.FlexibleIp("second", new() + /// { + /// ServerId = @base.Id, + /// Tags = new[] + /// { + /// "foo", + /// "second", + /// }, + /// }); + /// + /// var fipsByServerId = Scaleway.GetFlexibleIps.Invoke(new() + /// { + /// ServerIds = new[] + /// { + /// @base.Id, + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetFlexibleIpsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFlexibleIps:getFlexibleIps", args ?? new GetFlexibleIpsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetFunction.cs b/sdk/dotnet/GetFunction.cs index 7736f227..609644f7 100644 --- a/sdk/dotnet/GetFunction.cs +++ b/sdk/dotnet/GetFunction.cs @@ -31,6 +31,16 @@ public static Task InvokeAsync(GetFunctionArgs args, InvokeOp /// public static Output Invoke(GetFunctionInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFunction:getFunction", args ?? new GetFunctionInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.Function` data source is used to retrieve information about a Serverless Function. + /// + /// Refer to the Serverless Functions [product documentation](https://www.scaleway.com/en/docs/serverless/functions/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) for more information. + /// + /// For more information on the limitations of Serverless Functions, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/functions/reference-content/functions-limitations/). + /// + public static Output Invoke(GetFunctionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFunction:getFunction", args ?? new GetFunctionInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetFunctionNamespace.cs b/sdk/dotnet/GetFunctionNamespace.cs index 6b5f3fe0..b56c5796 100644 --- a/sdk/dotnet/GetFunctionNamespace.cs +++ b/sdk/dotnet/GetFunctionNamespace.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetFunctionNamespaceA /// public static Output Invoke(GetFunctionNamespaceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFunctionNamespace:getFunctionNamespace", args ?? new GetFunctionNamespaceInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.FunctionNamespace` data source is used to retrieve information about a Serverless Functions namespace. + /// + /// Refer to the Serverless Functions [product documentation](https://www.scaleway.com/en/docs/serverless/functions/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) for more information. + /// + public static Output Invoke(GetFunctionNamespaceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getFunctionNamespace:getFunctionNamespace", args ?? new GetFunctionNamespaceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamApiKey.cs b/sdk/dotnet/GetIamApiKey.cs index b2e7a1a3..9531ce68 100644 --- a/sdk/dotnet/GetIamApiKey.cs +++ b/sdk/dotnet/GetIamApiKey.cs @@ -61,6 +61,31 @@ public static Task InvokeAsync(GetIamApiKeyArgs args, Invoke /// public static Output Invoke(GetIamApiKeyInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamApiKey:getIamApiKey", args ?? new GetIamApiKeyInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an existing IAM API key. For more information, refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#api-keys-3665ae). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get api key infos by id (access_key) + /// var main = Scaleway.GetIamApiKey.Invoke(new() + /// { + /// AccessKey = "SCWABCDEFGHIJKLMNOPQ", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIamApiKeyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamApiKey:getIamApiKey", args ?? new GetIamApiKeyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamApplication.cs b/sdk/dotnet/GetIamApplication.cs index d9105679..2d1bf8b1 100644 --- a/sdk/dotnet/GetIamApplication.cs +++ b/sdk/dotnet/GetIamApplication.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetIamApplicationArgs? a /// public static Output Invoke(GetIamApplicationInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamApplication:getIamApplication", args ?? new GetIamApplicationInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an existing IAM application. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by name + /// var findByName = Scaleway.GetIamApplication.Invoke(new() + /// { + /// Name = "foobar", + /// }); + /// + /// // Get info by application ID + /// var findById = Scaleway.GetIamApplication.Invoke(new() + /// { + /// ApplicationId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIamApplicationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamApplication:getIamApplication", args ?? new GetIamApplicationInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamGroup.cs b/sdk/dotnet/GetIamGroup.cs index 2f5f6819..c5e5e757 100644 --- a/sdk/dotnet/GetIamGroup.cs +++ b/sdk/dotnet/GetIamGroup.cs @@ -77,6 +77,39 @@ public static Task InvokeAsync(GetIamGroupArgs? args = null, /// public static Output Invoke(GetIamGroupInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamGroup:getIamGroup", args ?? new GetIamGroupInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an existing IAM group. + /// + /// For more information, refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#applications-83ce5e) + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by name + /// var findByName = Scaleway.GetIamGroup.Invoke(new() + /// { + /// Name = "foobar", + /// }); + /// + /// // Get info by group ID + /// var findById = Scaleway.GetIamGroup.Invoke(new() + /// { + /// GroupId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIamGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamGroup:getIamGroup", args ?? new GetIamGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamSshKey.cs b/sdk/dotnet/GetIamSshKey.cs index 3691b55a..dc65919c 100644 --- a/sdk/dotnet/GetIamSshKey.cs +++ b/sdk/dotnet/GetIamSshKey.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetIamSshKeyArgs? args = null /// public static Output Invoke(GetIamSshKeyInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamSshKey:getIamSshKey", args ?? new GetIamSshKeyInvokeArgs(), options.WithDefaults()); + + /// + /// Use this data source to get SSH key information based on its ID or name. + /// + public static Output Invoke(GetIamSshKeyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamSshKey:getIamSshKey", args ?? new GetIamSshKeyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIamUser.cs b/sdk/dotnet/GetIamUser.cs index 6bb725ab..815a0f5e 100644 --- a/sdk/dotnet/GetIamUser.cs +++ b/sdk/dotnet/GetIamUser.cs @@ -75,6 +75,38 @@ public static Task InvokeAsync(GetIamUserArgs? args = null, In /// public static Output Invoke(GetIamUserInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamUser:getIamUser", args ?? new GetIamUserInvokeArgs(), options.WithDefaults()); + + /// + /// Use this data source to get information on an existing IAM user based on its ID or email address. + /// For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#users-06bdcf). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by user id + /// var findById = Scaleway.GetIamUser.Invoke(new() + /// { + /// UserId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// // Get info by email address + /// var findByEmail = Scaleway.GetIamUser.Invoke(new() + /// { + /// Email = "foo@bar.com", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIamUserInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIamUser:getIamUser", args ?? new GetIamUserInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceImage.cs b/sdk/dotnet/GetInstanceImage.cs index 98da6d12..69768590 100644 --- a/sdk/dotnet/GetInstanceImage.cs +++ b/sdk/dotnet/GetInstanceImage.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstanceImageArgs? arg /// public static Output Invoke(GetInstanceImageInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceImage:getInstanceImage", args ?? new GetInstanceImageInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance image. + /// + public static Output Invoke(GetInstanceImageInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceImage:getInstanceImage", args ?? new GetInstanceImageInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceIp.cs b/sdk/dotnet/GetInstanceIp.cs index c1c8605a..9577d7d4 100644 --- a/sdk/dotnet/GetInstanceIp.cs +++ b/sdk/dotnet/GetInstanceIp.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstanceIpArgs? args = nu /// public static Output Invoke(GetInstanceIpInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceIp:getInstanceIp", args ?? new GetInstanceIpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance IP. + /// + public static Output Invoke(GetInstanceIpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceIp:getInstanceIp", args ?? new GetInstanceIpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstancePlacementGroup.cs b/sdk/dotnet/GetInstancePlacementGroup.cs index 3bf4d375..ebd7e3b6 100644 --- a/sdk/dotnet/GetInstancePlacementGroup.cs +++ b/sdk/dotnet/GetInstancePlacementGroup.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstancePlace /// public static Output Invoke(GetInstancePlacementGroupInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup", args ?? new GetInstancePlacementGroupInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Security Group. + /// + public static Output Invoke(GetInstancePlacementGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup", args ?? new GetInstancePlacementGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstancePrivateNic.cs b/sdk/dotnet/GetInstancePrivateNic.cs index b99bd7c4..19ce71f1 100644 --- a/sdk/dotnet/GetInstancePrivateNic.cs +++ b/sdk/dotnet/GetInstancePrivateNic.cs @@ -91,6 +91,46 @@ public static Task InvokeAsync(GetInstancePrivateNi /// public static Output Invoke(GetInstancePrivateNicInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstancePrivateNic:getInstancePrivateNic", args ?? new GetInstancePrivateNicInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance private NIC. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var byNicId = Scaleway.GetInstancePrivateNic.Invoke(new() + /// { + /// ServerId = "11111111-1111-1111-1111-111111111111", + /// PrivateNicId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// var byPnId = Scaleway.GetInstancePrivateNic.Invoke(new() + /// { + /// ServerId = "11111111-1111-1111-1111-111111111111", + /// PrivateNetworkId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// var byTags = Scaleway.GetInstancePrivateNic.Invoke(new() + /// { + /// ServerId = "11111111-1111-1111-1111-111111111111", + /// Tags = new[] + /// { + /// "mytag", + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetInstancePrivateNicInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstancePrivateNic:getInstancePrivateNic", args ?? new GetInstancePrivateNicInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceSecurityGroup.cs b/sdk/dotnet/GetInstanceSecurityGroup.cs index 6481bafd..78de17c3 100644 --- a/sdk/dotnet/GetInstanceSecurityGroup.cs +++ b/sdk/dotnet/GetInstanceSecurityGroup.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstanceSecuri /// public static Output Invoke(GetInstanceSecurityGroupInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup", args ?? new GetInstanceSecurityGroupInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Security Group. + /// + public static Output Invoke(GetInstanceSecurityGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup", args ?? new GetInstanceSecurityGroupInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceServer.cs b/sdk/dotnet/GetInstanceServer.cs index 850f55e4..7efcef15 100644 --- a/sdk/dotnet/GetInstanceServer.cs +++ b/sdk/dotnet/GetInstanceServer.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstanceServerArgs? a /// public static Output Invoke(GetInstanceServerInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceServer:getInstanceServer", args ?? new GetInstanceServerInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance server. + /// + public static Output Invoke(GetInstanceServerInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceServer:getInstanceServer", args ?? new GetInstanceServerInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceServers.cs b/sdk/dotnet/GetInstanceServers.cs index 4faf22b8..9d23717f 100644 --- a/sdk/dotnet/GetInstanceServers.cs +++ b/sdk/dotnet/GetInstanceServers.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetInstanceServersArgs? /// public static Output Invoke(GetInstanceServersInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceServers:getInstanceServers", args ?? new GetInstanceServersInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple instance servers. + /// + /// ## Examples + /// + public static Output Invoke(GetInstanceServersInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceServers:getInstanceServers", args ?? new GetInstanceServersInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceSnapshot.cs b/sdk/dotnet/GetInstanceSnapshot.cs index 0dfec57a..e052d8b9 100644 --- a/sdk/dotnet/GetInstanceSnapshot.cs +++ b/sdk/dotnet/GetInstanceSnapshot.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetInstanceSnapshotArg /// public static Output Invoke(GetInstanceSnapshotInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceSnapshot:getInstanceSnapshot", args ?? new GetInstanceSnapshotInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance snapshot. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by snapshot name + /// var byName = Scaleway.GetInstanceSnapshot.Invoke(new() + /// { + /// Name = "my-snapshot-name", + /// }); + /// + /// // Get info by snapshot ID + /// var byId = Scaleway.GetInstanceSnapshot.Invoke(new() + /// { + /// SnapshotId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetInstanceSnapshotInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceSnapshot:getInstanceSnapshot", args ?? new GetInstanceSnapshotInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetInstanceVolume.cs b/sdk/dotnet/GetInstanceVolume.cs index 424daf9e..ee989aee 100644 --- a/sdk/dotnet/GetInstanceVolume.cs +++ b/sdk/dotnet/GetInstanceVolume.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetInstanceVolumeArgs? a /// public static Output Invoke(GetInstanceVolumeInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceVolume:getInstanceVolume", args ?? new GetInstanceVolumeInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an instance volume. + /// + public static Output Invoke(GetInstanceVolumeInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getInstanceVolume:getInstanceVolume", args ?? new GetInstanceVolumeInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIotDevice.cs b/sdk/dotnet/GetIotDevice.cs index 7b4f5e8e..04b3d584 100644 --- a/sdk/dotnet/GetIotDevice.cs +++ b/sdk/dotnet/GetIotDevice.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetIotDeviceArgs? args = null /// public static Output Invoke(GetIotDeviceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIotDevice:getIotDevice", args ?? new GetIotDeviceInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an IOT Device. + /// + public static Output Invoke(GetIotDeviceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIotDevice:getIotDevice", args ?? new GetIotDeviceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIotHub.cs b/sdk/dotnet/GetIotHub.cs index de40d694..de51cc20 100644 --- a/sdk/dotnet/GetIotHub.cs +++ b/sdk/dotnet/GetIotHub.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetIotHubArgs? args = null, Invo /// public static Output Invoke(GetIotHubInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIotHub:getIotHub", args ?? new GetIotHubInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about an IOT Hub. + /// + public static Output Invoke(GetIotHubInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIotHub:getIotHub", args ?? new GetIotHubInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIpamIp.cs b/sdk/dotnet/GetIpamIp.cs index 491ad175..cff22160 100644 --- a/sdk/dotnet/GetIpamIp.cs +++ b/sdk/dotnet/GetIpamIp.cs @@ -235,6 +235,118 @@ public static Task InvokeAsync(GetIpamIpArgs? args = null, Invo /// public static Output Invoke(GetIpamIpInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIpamIp:getIpamIp", args ?? new GetIpamIpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about IP addresses managed by Scaleway's IP Address Management (IPAM) service. IPAM is used for the DHCP bundled with VPC Private Networks. + /// + /// For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam). + /// + /// ## Examples + /// + /// ### IPAM IP ID + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by ipam ip id + /// var byId = Scaleway.GetIpamIp.Invoke(new() + /// { + /// IpamIpId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + /// ### Instance Private Network IP + /// + /// Get an Instance's IP on a Private Network. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Connect your instance to a private network using a private nic. + /// var nic = new Scaleway.InstancePrivateNic("nic", new() + /// { + /// ServerId = server.Id, + /// PrivateNetworkId = pn.Id, + /// }); + /// + /// // Find server private IPv4 using private-nic mac address + /// var byMac = Scaleway.GetIpamIp.Invoke(new() + /// { + /// MacAddress = nic.MacAddress, + /// Type = "ipv4", + /// }); + /// + /// // Find server private IPv4 using private-nic id + /// var byId = Scaleway.GetIpamIp.Invoke(new() + /// { + /// Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs + /// { + /// Id = nic.Id, + /// Type = "instance_private_nic", + /// }, + /// Type = "ipv4", + /// }); + /// + /// }); + /// ``` + /// + /// ### RDB instance + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find the private IPv4 using resource name + /// var pn = new Scaleway.VpcPrivateNetwork("pn"); + /// + /// var main = new Scaleway.DatabaseInstance("main", new() + /// { + /// Name = "test-rdb", + /// NodeType = "DB-DEV-S", + /// Engine = "PostgreSQL-15", + /// IsHaCluster = true, + /// DisableBackup = true, + /// UserName = "my_initial_user", + /// Password = "thiZ_is_v&ry_s3cret", + /// PrivateNetwork = new Scaleway.Inputs.DatabaseInstancePrivateNetworkArgs + /// { + /// PnId = pn.Id, + /// }, + /// }); + /// + /// var byName = Scaleway.GetIpamIp.Invoke(new() + /// { + /// Resource = new Scaleway.Inputs.GetIpamIpResourceInputArgs + /// { + /// Name = main.Name, + /// Type = "rdb_instance", + /// }, + /// Type = "ipv4", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIpamIpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIpamIp:getIpamIp", args ?? new GetIpamIpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetIpamIps.cs b/sdk/dotnet/GetIpamIps.cs index 20c5f49c..777b2108 100644 --- a/sdk/dotnet/GetIpamIps.cs +++ b/sdk/dotnet/GetIpamIps.cs @@ -183,6 +183,92 @@ public static Task InvokeAsync(GetIpamIpsArgs? args = null, In /// public static Output Invoke(GetIpamIpsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIpamIps:getIpamIps", args ?? new GetIpamIpsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service. + /// + /// For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam). + /// + /// ## Examples + /// + /// ### By tag + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var byTag = Scaleway.GetIpamIps.Invoke(new() + /// { + /// Tags = new[] + /// { + /// "tag", + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### By type and resource + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var vpc01 = new Scaleway.Vpc("vpc01", new() + /// { + /// Name = "my vpc", + /// }); + /// + /// var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new() + /// { + /// VpcId = vpc01.Id, + /// Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs + /// { + /// Subnet = "172.16.32.0/22", + /// }, + /// }); + /// + /// var redis01 = new Scaleway.RedisCluster("redis01", new() + /// { + /// Name = "my_redis_cluster", + /// Version = "7.0.5", + /// NodeType = "RED1-XS", + /// UserName = "my_initial_user", + /// Password = "thiZ_is_v&ry_s3cret", + /// ClusterSize = 3, + /// PrivateNetworks = new[] + /// { + /// new Scaleway.Inputs.RedisClusterPrivateNetworkArgs + /// { + /// Id = pn01.Id, + /// }, + /// }, + /// }); + /// + /// var byTypeAndResource = Scaleway.GetIpamIps.Invoke(new() + /// { + /// Type = "ipv4", + /// Resource = new Scaleway.Inputs.GetIpamIpsResourceInputArgs + /// { + /// Id = redis01.Id, + /// Type = "redis_cluster", + /// }, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetIpamIpsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getIpamIps:getIpamIps", args ?? new GetIpamIpsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetK8sVersion.cs b/sdk/dotnet/GetK8sVersion.cs index 2873667e..ac0b18c9 100644 --- a/sdk/dotnet/GetK8sVersion.cs +++ b/sdk/dotnet/GetK8sVersion.cs @@ -105,6 +105,53 @@ public static Task InvokeAsync(GetK8sVersionArgs args, Invo /// public static Output Invoke(GetK8sVersionInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getK8sVersion:getK8sVersion", args ?? new GetK8sVersionInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Kubernetes version. + /// For more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api). + /// + /// You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions. + /// + /// ## Example Usage + /// + /// ### Use the latest version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var latest = Scaleway.GetK8sVersion.Invoke(new() + /// { + /// Name = "latest", + /// }); + /// + /// }); + /// ``` + /// + /// ### Use a specific version + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var byName = Scaleway.GetK8sVersion.Invoke(new() + /// { + /// Name = "1.26.0", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetK8sVersionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getK8sVersion:getK8sVersion", args ?? new GetK8sVersionInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetKubernetesCluster.cs b/sdk/dotnet/GetKubernetesCluster.cs index ec18a769..3b02d246 100644 --- a/sdk/dotnet/GetKubernetesCluster.cs +++ b/sdk/dotnet/GetKubernetesCluster.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetKubernetesClusterA /// public static Output Invoke(GetKubernetesClusterInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getKubernetesCluster:getKubernetesCluster", args ?? new GetKubernetesClusterInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Kubernetes Cluster. + /// + public static Output Invoke(GetKubernetesClusterInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getKubernetesCluster:getKubernetesCluster", args ?? new GetKubernetesClusterInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetKubernetesNodePool.cs b/sdk/dotnet/GetKubernetesNodePool.cs index befb2b8a..742cec52 100644 --- a/sdk/dotnet/GetKubernetesNodePool.cs +++ b/sdk/dotnet/GetKubernetesNodePool.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetKubernetesNodePoo /// public static Output Invoke(GetKubernetesNodePoolInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getKubernetesNodePool:getKubernetesNodePool", args ?? new GetKubernetesNodePoolInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Kubernetes Cluster's Pool. + /// + public static Output Invoke(GetKubernetesNodePoolInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getKubernetesNodePool:getKubernetesNodePool", args ?? new GetKubernetesNodePoolInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbAcls.cs b/sdk/dotnet/GetLbAcls.cs index 2c5af4c3..a8835fdc 100644 --- a/sdk/dotnet/GetLbAcls.cs +++ b/sdk/dotnet/GetLbAcls.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetLbAclsArgs args, InvokeOption /// public static Output Invoke(GetLbAclsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbAcls:getLbAcls", args ?? new GetLbAclsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancer ACLs. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/acls/) or [API reference](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find acls that share the same frontend ID + /// var byFrontID = Scaleway.GetLbAcls.Invoke(new() + /// { + /// FrontendId = frt01.Id, + /// }); + /// + /// // Find acls by frontend ID and name + /// var byFrontIDAndName = Scaleway.GetLbAcls.Invoke(new() + /// { + /// FrontendId = frt01.Id, + /// Name = "tf-acls-datasource", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbAclsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbAcls:getLbAcls", args ?? new GetLbAclsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbBackend.cs b/sdk/dotnet/GetLbBackend.cs index 0b08acfe..8df8a709 100644 --- a/sdk/dotnet/GetLbBackend.cs +++ b/sdk/dotnet/GetLbBackend.cs @@ -111,6 +111,56 @@ public static Task InvokeAsync(GetLbBackendArgs? args = null /// public static Output Invoke(GetLbBackendInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbBackend:getLbBackend", args ?? new GetLbBackendInvokeArgs(), options.WithDefaults()); + + /// + /// Get information about Scaleway Load Balancer backends. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.LoadbalancerIp("main"); + /// + /// var mainLoadbalancer = new Scaleway.Loadbalancer("main", new() + /// { + /// IpId = main.Id, + /// Name = "data-test-lb-backend", + /// Type = "LB-S", + /// }); + /// + /// var mainLoadbalancerBackend = new Scaleway.LoadbalancerBackend("main", new() + /// { + /// LbId = mainLoadbalancer.Id, + /// Name = "backend01", + /// ForwardProtocol = "http", + /// ForwardPort = 80, + /// }); + /// + /// var byID = Scaleway.GetLbBackend.Invoke(new() + /// { + /// BackendId = mainLoadbalancerBackend.Id, + /// }); + /// + /// var byName = Scaleway.GetLbBackend.Invoke(new() + /// { + /// Name = mainLoadbalancerBackend.Name, + /// LbId = mainLoadbalancer.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbBackendInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbBackend:getLbBackend", args ?? new GetLbBackendInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbBackends.cs b/sdk/dotnet/GetLbBackends.cs index 75985179..8dc34d1d 100644 --- a/sdk/dotnet/GetLbBackends.cs +++ b/sdk/dotnet/GetLbBackends.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetLbBackendsArgs args, Invo /// public static Output Invoke(GetLbBackendsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbBackends:getLbBackends", args ?? new GetLbBackendsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancer Backends. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-backends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-backends). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find backends that share the same LB ID + /// var byLBID = Scaleway.GetLbBackends.Invoke(new() + /// { + /// LbId = lb01.Id, + /// }); + /// + /// // Find backends by LB ID and name + /// var byLBIDAndName = Scaleway.GetLbBackends.Invoke(new() + /// { + /// LbId = lb01.Id, + /// Name = "tf-backend-datasource", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbBackendsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbBackends:getLbBackends", args ?? new GetLbBackendsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbFrontend.cs b/sdk/dotnet/GetLbFrontend.cs index 2aaa4ffc..43625336 100644 --- a/sdk/dotnet/GetLbFrontend.cs +++ b/sdk/dotnet/GetLbFrontend.cs @@ -125,6 +125,63 @@ public static Task InvokeAsync(GetLbFrontendArgs? args = nu /// public static Output Invoke(GetLbFrontendInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbFrontend:getLbFrontend", args ?? new GetLbFrontendInvokeArgs(), options.WithDefaults()); + + /// + /// Get information about Scaleway Load Balancer frontends. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ip01 = new Scaleway.LoadbalancerIp("ip01"); + /// + /// var lb01 = new Scaleway.Loadbalancer("lb01", new() + /// { + /// IpId = ip01.Id, + /// Name = "test-lb", + /// Type = "lb-s", + /// }); + /// + /// var bkd01 = new Scaleway.LoadbalancerBackend("bkd01", new() + /// { + /// LbId = lb01.Id, + /// ForwardProtocol = "tcp", + /// ForwardPort = 80, + /// ProxyProtocol = "none", + /// }); + /// + /// var frt01 = new Scaleway.LoadbalancerFrontend("frt01", new() + /// { + /// LbId = lb01.Id, + /// BackendId = bkd01.Id, + /// InboundPort = 80, + /// }); + /// + /// var byID = Scaleway.GetLbFrontend.Invoke(new() + /// { + /// FrontendId = frt01.Id, + /// }); + /// + /// var byName = Scaleway.GetLbFrontend.Invoke(new() + /// { + /// Name = frt01.Name, + /// LbId = lb01.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbFrontendInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbFrontend:getLbFrontend", args ?? new GetLbFrontendInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbFrontends.cs b/sdk/dotnet/GetLbFrontends.cs index b4525ac8..19ab6352 100644 --- a/sdk/dotnet/GetLbFrontends.cs +++ b/sdk/dotnet/GetLbFrontends.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetLbFrontendsArgs args, In /// public static Output Invoke(GetLbFrontendsInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbFrontends:getLbFrontends", args ?? new GetLbFrontendsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancer frontends. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/reference-content/configuring-frontends/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-frontends). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find frontends that share the same LB ID + /// var byLBID = Scaleway.GetLbFrontends.Invoke(new() + /// { + /// LbId = lb01.Id, + /// }); + /// + /// // Find frontends by LB ID and name + /// var byLBIDAndName = Scaleway.GetLbFrontends.Invoke(new() + /// { + /// LbId = lb01.Id, + /// Name = "tf-frontend-datasource", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbFrontendsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbFrontends:getLbFrontends", args ?? new GetLbFrontendsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbIps.cs b/sdk/dotnet/GetLbIps.cs index 31fe4d6d..67004a57 100644 --- a/sdk/dotnet/GetLbIps.cs +++ b/sdk/dotnet/GetLbIps.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetLbIpsArgs? args = null, Invoke /// public static Output Invoke(GetLbIpsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbIps:getLbIps", args ?? new GetLbIpsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancer IP addresses. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-flex-ips/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-ip-addresses-list-ip-addresses). + /// + public static Output Invoke(GetLbIpsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbIps:getLbIps", args ?? new GetLbIpsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbRoute.cs b/sdk/dotnet/GetLbRoute.cs index 95a69076..e9038da5 100644 --- a/sdk/dotnet/GetLbRoute.cs +++ b/sdk/dotnet/GetLbRoute.cs @@ -127,6 +127,64 @@ public static Task InvokeAsync(GetLbRouteArgs args, InvokeOpti /// public static Output Invoke(GetLbRouteInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbRoute:getLbRoute", args ?? new GetLbRouteInvokeArgs(), options.WithDefaults()); + + /// + /// Get information about Scaleway Load Balancer routes. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ip01 = new Scaleway.LoadbalancerIp("ip01"); + /// + /// var lb01 = new Scaleway.Loadbalancer("lb01", new() + /// { + /// IpId = ip01.Id, + /// Name = "test-lb", + /// Type = "lb-s", + /// }); + /// + /// var bkd01 = new Scaleway.LoadbalancerBackend("bkd01", new() + /// { + /// LbId = lb01.Id, + /// ForwardProtocol = "tcp", + /// ForwardPort = 80, + /// ProxyProtocol = "none", + /// }); + /// + /// var frt01 = new Scaleway.LoadbalancerFrontend("frt01", new() + /// { + /// LbId = lb01.Id, + /// BackendId = bkd01.Id, + /// InboundPort = 80, + /// }); + /// + /// var rt01 = new Scaleway.LoadbalancerRoute("rt01", new() + /// { + /// FrontendId = frt01.Id, + /// BackendId = bkd01.Id, + /// MatchSni = "sni.scaleway.com", + /// }); + /// + /// var byID = Scaleway.GetLbRoute.Invoke(new() + /// { + /// RouteId = rt01.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbRouteInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbRoute:getLbRoute", args ?? new GetLbRouteInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbRoutes.cs b/sdk/dotnet/GetLbRoutes.cs index c8aeb846..36550c22 100644 --- a/sdk/dotnet/GetLbRoutes.cs +++ b/sdk/dotnet/GetLbRoutes.cs @@ -79,6 +79,40 @@ public static Task InvokeAsync(GetLbRoutesArgs? args = null, /// public static Output Invoke(GetLbRoutesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbRoutes:getLbRoutes", args ?? new GetLbRoutesInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancer routes. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-routes/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-route). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Find routes that share the same frontend ID + /// var byFrontendID = Scaleway.GetLbRoutes.Invoke(new() + /// { + /// FrontendId = frt01.Id, + /// }); + /// + /// // Find routes by frontend ID and zone + /// var myKey = Scaleway.GetLbRoutes.Invoke(new() + /// { + /// FrontendId = "11111111-1111-1111-1111-111111111111", + /// Zone = "fr-par-2", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLbRoutesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbRoutes:getLbRoutes", args ?? new GetLbRoutesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLbs.cs b/sdk/dotnet/GetLbs.cs index abc32e1f..9f931304 100644 --- a/sdk/dotnet/GetLbs.cs +++ b/sdk/dotnet/GetLbs.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetLbsArgs? args = null, InvokeOpti /// public static Output Invoke(GetLbsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbs:getLbs", args ?? new GetLbsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Load Balancers. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers). + /// + public static Output Invoke(GetLbsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLbs:getLbs", args ?? new GetLbsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLoadbalancer.cs b/sdk/dotnet/GetLoadbalancer.cs index 06aa6af3..05015e05 100644 --- a/sdk/dotnet/GetLoadbalancer.cs +++ b/sdk/dotnet/GetLoadbalancer.cs @@ -77,6 +77,39 @@ public static Task InvokeAsync(GetLoadbalancerArgs? args /// public static Output Invoke(GetLoadbalancerInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancer:getLoadbalancer", args ?? new GetLoadbalancerInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Load Balancer. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by name + /// var byName = Scaleway.GetLoadbalancer.Invoke(new() + /// { + /// Name = "foobar", + /// }); + /// + /// // Get info by ID + /// var byId = Scaleway.GetLoadbalancer.Invoke(new() + /// { + /// LbId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLoadbalancerInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancer:getLoadbalancer", args ?? new GetLoadbalancerInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLoadbalancerCertificate.cs b/sdk/dotnet/GetLoadbalancerCertificate.cs index d1345e9c..a8ef0fc2 100644 --- a/sdk/dotnet/GetLoadbalancerCertificate.cs +++ b/sdk/dotnet/GetLoadbalancerCertificate.cs @@ -35,6 +35,18 @@ public static Task InvokeAsync(GetLoadbalancer /// public static Output Invoke(GetLoadbalancerCertificateInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate", args ?? new GetLoadbalancerCertificateInvokeArgs(), options.WithDefaults()); + + /// + /// Get information about Scaleway Load Balancer certificates. + /// + /// This data source can prove useful when a module accepts a Load Balancer certificate as an input variable and needs to, for example, determine the security of a certificate for the frontend associated with your domain. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/add-certificate/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-certificate). + /// + /// ## Examples + /// + public static Output Invoke(GetLoadbalancerCertificateInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate", args ?? new GetLoadbalancerCertificateInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetLoadbalancerIp.cs b/sdk/dotnet/GetLoadbalancerIp.cs index 15b79a8c..a8e6f0c5 100644 --- a/sdk/dotnet/GetLoadbalancerIp.cs +++ b/sdk/dotnet/GetLoadbalancerIp.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetLoadbalancerIpArgs? a /// public static Output Invoke(GetLoadbalancerIpInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancerIp:getLoadbalancerIp", args ?? new GetLoadbalancerIpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Load Balancer IP address. + /// + /// For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-flex-ips/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-ip-addresses-list-ip-addresses). + /// + public static Output Invoke(GetLoadbalancerIpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getLoadbalancerIp:getLoadbalancerIp", args ?? new GetLoadbalancerIpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetMarketplaceImage.cs b/sdk/dotnet/GetMarketplaceImage.cs index 6f96fa05..89e58332 100644 --- a/sdk/dotnet/GetMarketplaceImage.cs +++ b/sdk/dotnet/GetMarketplaceImage.cs @@ -59,6 +59,30 @@ public static Task InvokeAsync(GetMarketplaceImageArg /// public static Output Invoke(GetMarketplaceImageInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMarketplaceImage:getMarketplaceImage", args ?? new GetMarketplaceImageInvokeArgs(), options.WithDefaults()); + + /// + /// Gets local image ID of an image from its label name. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var myImage = Scaleway.GetMarketplaceImage.Invoke(new() + /// { + /// Label = "ubuntu_jammy", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetMarketplaceImageInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMarketplaceImage:getMarketplaceImage", args ?? new GetMarketplaceImageInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetMnqSns.cs b/sdk/dotnet/GetMnqSns.cs index f6b6823f..7a42dd9e 100644 --- a/sdk/dotnet/GetMnqSns.cs +++ b/sdk/dotnet/GetMnqSns.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetMnqSnsArgs? args = null, Invo /// public static Output Invoke(GetMnqSnsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMnqSns:getMnqSns", args ?? new GetMnqSnsInvokeArgs(), 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, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMnqSns:getMnqSns", args ?? new GetMnqSnsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetMnqSqs.cs b/sdk/dotnet/GetMnqSqs.cs index 5bc54f77..b57be777 100644 --- a/sdk/dotnet/GetMnqSqs.cs +++ b/sdk/dotnet/GetMnqSqs.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetMnqSqsArgs? args = null, Invo /// public static Output Invoke(GetMnqSqsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMnqSqs:getMnqSqs", args ?? new GetMnqSqsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about SQS 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.GetMnqSqs.Invoke(); + /// + /// // For specific project + /// var forProject = Scaleway.GetMnqSqs.Invoke(new() + /// { + /// ProjectId = mainScalewayAccountProject.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetMnqSqsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMnqSqs:getMnqSqs", args ?? new GetMnqSqsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetMongoDbInstance.cs b/sdk/dotnet/GetMongoDbInstance.cs index 1ae745db..13841245 100644 --- a/sdk/dotnet/GetMongoDbInstance.cs +++ b/sdk/dotnet/GetMongoDbInstance.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetMongoDbInstanceArgs? /// public static Output Invoke(GetMongoDbInstanceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMongoDbInstance:getMongoDbInstance", args ?? new GetMongoDbInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a MongoDB® Instance. + /// + /// For further information refer to the Managed Databases for MongoDB® [API documentation](https://developers.scaleway.com/en/products/mongodb/api/) + /// + public static Output Invoke(GetMongoDbInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getMongoDbInstance:getMongoDbInstance", args ?? new GetMongoDbInstanceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetObjectBucket.cs b/sdk/dotnet/GetObjectBucket.cs index b299d473..559fe994 100644 --- a/sdk/dotnet/GetObjectBucket.cs +++ b/sdk/dotnet/GetObjectBucket.cs @@ -131,6 +131,66 @@ public static Task InvokeAsync(GetObjectBucketArgs? args /// public static Output Invoke(GetObjectBucketInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getObjectBucket:getObjectBucket", args ?? new GetObjectBucketInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.ObjectBucket` data source is used to retrieve information about an Object Storage bucket. + /// + /// Refer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/how-to/create-a-bucket/) for more information. + /// + /// ## Retrieve an Object Storage bucket + /// + /// The following commands allow you to: + /// + /// - retrieve a bucket by its name + /// - retrieve a bucket by its ID + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.ObjectBucket("main", new() + /// { + /// Name = "bucket.test.com", + /// Tags = + /// { + /// { "foo", "bar" }, + /// }, + /// }); + /// + /// var selected = Scaleway.GetObjectBucket.Invoke(new() + /// { + /// Name = main.Id, + /// }); + /// + /// }); + /// ``` + /// + /// ## Retrieve a bucket from a specific project + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var selected = Scaleway.GetObjectBucket.Invoke(new() + /// { + /// Name = "bucket.test.com", + /// ProjectId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetObjectBucketInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getObjectBucket:getObjectBucket", args ?? new GetObjectBucketInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetObjectBucketPolicy.cs b/sdk/dotnet/GetObjectBucketPolicy.cs index a11c9a51..c1d39d13 100644 --- a/sdk/dotnet/GetObjectBucketPolicy.cs +++ b/sdk/dotnet/GetObjectBucketPolicy.cs @@ -67,6 +67,34 @@ public static Task InvokeAsync(GetObjectBucketPolic /// public static Output Invoke(GetObjectBucketPolicyInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy", args ?? new GetObjectBucketPolicyInvokeArgs(), options.WithDefaults()); + + /// + /// The `scaleway.ObjectBucketPolicy` data source is used to retrieve information about the bucket policy of an Object Storage bucket. + /// + /// Refer to the Object Storage [documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/) for more information. + /// + /// ## Retrieve the bucket policy of a bucket + /// + /// The following command allows you to retrieve a bucket policy by its bucket. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = Scaleway.GetObjectBucketPolicy.Invoke(new() + /// { + /// Bucket = "bucket.test.com", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetObjectBucketPolicyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy", args ?? new GetObjectBucketPolicyInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRedisCluster.cs b/sdk/dotnet/GetRedisCluster.cs index afbe693d..125d9cc9 100644 --- a/sdk/dotnet/GetRedisCluster.cs +++ b/sdk/dotnet/GetRedisCluster.cs @@ -27,6 +27,14 @@ public static Task InvokeAsync(GetRedisClusterArgs? args /// public static Output Invoke(GetRedisClusterInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRedisCluster:getRedisCluster", args ?? new GetRedisClusterInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Redis™ cluster. + /// + /// For further information refer to the Managed Database for Redis™ [API documentation](https://developers.scaleway.com/en/products/redis/api/v1alpha1/#clusters-a85816). + /// + public static Output Invoke(GetRedisClusterInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRedisCluster:getRedisCluster", args ?? new GetRedisClusterInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRegistryImage.cs b/sdk/dotnet/GetRegistryImage.cs index 96df0f86..25f56349 100644 --- a/sdk/dotnet/GetRegistryImage.cs +++ b/sdk/dotnet/GetRegistryImage.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetRegistryImageArgs? arg /// public static Output Invoke(GetRegistryImageInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryImage:getRegistryImage", args ?? new GetRegistryImageInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Container Registry image. + /// + public static Output Invoke(GetRegistryImageInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryImage:getRegistryImage", args ?? new GetRegistryImageInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRegistryImageTag.cs b/sdk/dotnet/GetRegistryImageTag.cs index 4ffed3d8..dc59a62a 100644 --- a/sdk/dotnet/GetRegistryImageTag.cs +++ b/sdk/dotnet/GetRegistryImageTag.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetRegistryImageTagArg /// public static Output Invoke(GetRegistryImageTagInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryImageTag:getRegistryImageTag", args ?? new GetRegistryImageTagInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a specific tag of a Container Registry image. + /// + public static Output Invoke(GetRegistryImageTagInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryImageTag:getRegistryImageTag", args ?? new GetRegistryImageTagInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetRegistryNamespace.cs b/sdk/dotnet/GetRegistryNamespace.cs index 5f4009b7..803bc051 100644 --- a/sdk/dotnet/GetRegistryNamespace.cs +++ b/sdk/dotnet/GetRegistryNamespace.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetRegistryNamespaceA /// public static Output Invoke(GetRegistryNamespaceInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryNamespace:getRegistryNamespace", args ?? new GetRegistryNamespaceInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a registry namespace. + /// + public static Output Invoke(GetRegistryNamespaceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryNamespace:getRegistryNamespace", args ?? new GetRegistryNamespaceInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSecret.cs b/sdk/dotnet/GetSecret.cs index f551a055..a5a91ce9 100644 --- a/sdk/dotnet/GetSecret.cs +++ b/sdk/dotnet/GetSecret.cs @@ -109,6 +109,55 @@ public static Task InvokeAsync(GetSecretArgs? args = null, Invo /// public static Output Invoke(GetSecretInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getSecret:getSecret", args ?? new GetSecretInvokeArgs(), options.WithDefaults()); + + /// + /// 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 + /// + /// 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; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Create a secret + /// var main = new Scaleway.Secret("main", new() + /// { + /// Name = "foo", + /// Description = "barr", + /// }); + /// + /// // Get the secret information specified by the secret ID + /// var mySecret = Scaleway.GetSecret.Invoke(new() + /// { + /// SecretId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// // Get the secret information specified by the secret name + /// var byName = Scaleway.GetSecret.Invoke(new() + /// { + /// Name = "your_secret_name", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetSecretInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getSecret:getSecret", args ?? new GetSecretInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetSecretVersion.cs b/sdk/dotnet/GetSecretVersion.cs index 5736090c..ce9a1aaf 100644 --- a/sdk/dotnet/GetSecretVersion.cs +++ b/sdk/dotnet/GetSecretVersion.cs @@ -167,6 +167,84 @@ public static Task InvokeAsync(GetSecretVersionArgs? arg /// public static Output Invoke(GetSecretVersionInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getSecretVersion:getSecretVersion", args ?? new GetSecretVersionInvokeArgs(), options.WithDefaults()); + + /// + /// 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: + /// + /// - 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. + /// + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// 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", + /// SecretId = main.Id, + /// 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, + /// Revision = "1", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["scalewaySecretAccessPayload"] = dataBySecretName.Apply(getSecretVersionResult => getSecretVersionResult.Data), + /// ["scalewaySecretAccessPayloadById"] = dataBySecretId.Apply(getSecretVersionResult => getSecretVersionResult.Data), + /// }; + /// }); + /// ``` + /// + /// ## Data information + /// + /// Note: This data source provides you with access to the secret payload, which is encoded in base64. + /// + /// 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 pulumi preview, for security reasons. + /// + public static Output Invoke(GetSecretVersionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getSecretVersion:getSecretVersion", args ?? new GetSecretVersionInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetTemDomain.cs b/sdk/dotnet/GetTemDomain.cs index d1ae3b74..d766965b 100644 --- a/sdk/dotnet/GetTemDomain.cs +++ b/sdk/dotnet/GetTemDomain.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetTemDomainArgs? args = null /// public static Output Invoke(GetTemDomainInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getTemDomain:getTemDomain", args ?? new GetTemDomainInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a transactional email domain. + /// + public static Output Invoke(GetTemDomainInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getTemDomain:getTemDomain", args ?? new GetTemDomainInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpc.cs b/sdk/dotnet/GetVpc.cs index 17721b46..2f4fc1f0 100644 --- a/sdk/dotnet/GetVpc.cs +++ b/sdk/dotnet/GetVpc.cs @@ -85,6 +85,43 @@ public static Task InvokeAsync(GetVpcArgs? args = null, InvokeOpti /// public static Output Invoke(GetVpcInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpc:getVpc", args ?? new GetVpcInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Scaleway Virtual Private Cloud. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by name + /// var byName = Scaleway.GetVpc.Invoke(new() + /// { + /// Name = "foobar", + /// }); + /// + /// // Get info by ID + /// var byId = Scaleway.GetVpc.Invoke(new() + /// { + /// VpcId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// // Get default VPC info + /// var @default = Scaleway.GetVpc.Invoke(new() + /// { + /// IsDefault = true, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpc:getVpc", args ?? new GetVpcInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcGatewayNetwork.cs b/sdk/dotnet/GetVpcGatewayNetwork.cs index 48261613..c95107f7 100644 --- a/sdk/dotnet/GetVpcGatewayNetwork.cs +++ b/sdk/dotnet/GetVpcGatewayNetwork.cs @@ -91,6 +91,46 @@ public static Task InvokeAsync(GetVpcGatewayNetworkA /// public static Output Invoke(GetVpcGatewayNetworkInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork", args ?? new GetVpcGatewayNetworkInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a GatewayNetwork (a connection between a Public Gateway and a Private Network). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcGatewayNetwork("main", new() + /// { + /// GatewayId = pg01.Id, + /// PrivateNetworkId = pn01.Id, + /// DhcpId = dhcp01.Id, + /// CleanupDhcp = true, + /// EnableMasquerade = true, + /// }); + /// + /// var byId = Scaleway.GetVpcGatewayNetwork.Invoke(new() + /// { + /// GatewayNetworkId = main.Id, + /// }); + /// + /// var byGatewayAndPn = Scaleway.GetVpcGatewayNetwork.Invoke(new() + /// { + /// GatewayId = pg01.Id, + /// PrivateNetworkId = pn01.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcGatewayNetworkInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork", args ?? new GetVpcGatewayNetworkInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPrivateNetwork.cs b/sdk/dotnet/GetVpcPrivateNetwork.cs index c0a39025..6b7af8d4 100644 --- a/sdk/dotnet/GetVpcPrivateNetwork.cs +++ b/sdk/dotnet/GetVpcPrivateNetwork.cs @@ -87,6 +87,44 @@ public static Task InvokeAsync(GetVpcPrivateNetworkA /// public static Output Invoke(GetVpcPrivateNetworkInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork", args ?? new GetVpcPrivateNetworkInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Private Network. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by name + /// var myName = Scaleway.GetVpcPrivateNetwork.Invoke(new() + /// { + /// Name = "foobar", + /// }); + /// + /// // Get info by name and VPC ID + /// var myNameAndVpcId = Scaleway.GetVpcPrivateNetwork.Invoke(new() + /// { + /// Name = "foobar", + /// VpcId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// // Get info by IP ID + /// var myId = Scaleway.GetVpcPrivateNetwork.Invoke(new() + /// { + /// PrivateNetworkId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPrivateNetworkInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork", args ?? new GetVpcPrivateNetworkInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPublicGateway.cs b/sdk/dotnet/GetVpcPublicGateway.cs index 853b5735..a2c96402 100644 --- a/sdk/dotnet/GetVpcPublicGateway.cs +++ b/sdk/dotnet/GetVpcPublicGateway.cs @@ -87,6 +87,44 @@ public static Task InvokeAsync(GetVpcPublicGatewayArg /// public static Output Invoke(GetVpcPublicGatewayInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGateway:getVpcPublicGateway", args ?? new GetVpcPublicGatewayInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Public Gateway. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcPublicGateway("main", new() + /// { + /// Name = "demo", + /// Type = "VPC-GW-S", + /// Zone = "nl-ams-1", + /// }); + /// + /// var pgTestByName = Scaleway.GetVpcPublicGateway.Invoke(new() + /// { + /// Name = main.Name, + /// Zone = "nl-ams-1", + /// }); + /// + /// var pgTestById = Scaleway.GetVpcPublicGateway.Invoke(new() + /// { + /// PublicGatewayId = main.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPublicGatewayInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGateway:getVpcPublicGateway", args ?? new GetVpcPublicGatewayInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPublicGatewayDhcp.cs b/sdk/dotnet/GetVpcPublicGatewayDhcp.cs index 617b82be..f2e75acb 100644 --- a/sdk/dotnet/GetVpcPublicGatewayDhcp.cs +++ b/sdk/dotnet/GetVpcPublicGatewayDhcp.cs @@ -71,6 +71,36 @@ public static Task InvokeAsync(GetVpcPublicGatewa /// public static Output Invoke(GetVpcPublicGatewayDhcpInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp", args ?? new GetVpcPublicGatewayDhcpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Public Gateway DHCP configuration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcPublicGatewayDhcp("main", new() + /// { + /// Subnet = "192.168.0.0/24", + /// }); + /// + /// var dhcpById = Scaleway.GetVpcPublicGatewayDhcp.Invoke(new() + /// { + /// DhcpId = main.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPublicGatewayDhcpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp", args ?? new GetVpcPublicGatewayDhcpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPublicGatewayDhcpReservation.cs b/sdk/dotnet/GetVpcPublicGatewayDhcpReservation.cs index 44f2bfef..39add45d 100644 --- a/sdk/dotnet/GetVpcPublicGatewayDhcpReservation.cs +++ b/sdk/dotnet/GetVpcPublicGatewayDhcpReservation.cs @@ -321,6 +321,161 @@ public static Task InvokeAsync(GetVpcP /// public static Output Invoke(GetVpcPublicGatewayDhcpReservationInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation", args ?? new GetVpcPublicGatewayDhcpReservationInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a DHCP entry. For further information, please see the + /// API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries)/ + /// + /// ## Example Dynamic + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcPrivateNetwork("main"); + /// + /// var mainInstanceServer = new Scaleway.InstanceServer("main", new() + /// { + /// Image = "ubuntu_jammy", + /// Type = "DEV1-S", + /// Zone = "fr-par-1", + /// }); + /// + /// var mainInstancePrivateNic = new Scaleway.InstancePrivateNic("main", new() + /// { + /// ServerId = mainInstanceServer.Id, + /// PrivateNetworkId = main.Id, + /// }); + /// + /// var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp("main"); + /// + /// var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp("main", new() + /// { + /// Subnet = "192.168.1.0/24", + /// }); + /// + /// var mainVpcPublicGateway = new Scaleway.VpcPublicGateway("main", new() + /// { + /// Name = "foobar", + /// Type = "VPC-GW-S", + /// IpId = mainVpcPublicGatewayIp.Id, + /// }); + /// + /// var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork("main", new() + /// { + /// GatewayId = mainVpcPublicGateway.Id, + /// PrivateNetworkId = main.Id, + /// DhcpId = mainVpcPublicGatewayDhcp.Id, + /// CleanupDhcp = true, + /// EnableMasquerade = true, + /// }); + /// + /// //# Retrieve the dynamic entries generated by mac address & gateway network + /// var byMacAddressAndGwNetwork = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new() + /// { + /// MacAddress = mainInstancePrivateNic.MacAddress, + /// GatewayNetworkId = mainVpcGatewayNetwork.Id, + /// }); + /// + /// }); + /// ``` + /// + /// ## Example Static and PAT Rule + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcPrivateNetwork("main"); + /// + /// var mainInstanceSecurityGroup = new Scaleway.InstanceSecurityGroup("main", new() + /// { + /// InboundDefaultPolicy = "drop", + /// OutboundDefaultPolicy = "accept", + /// InboundRules = new[] + /// { + /// new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs + /// { + /// Action = "accept", + /// Port = 22, + /// }, + /// }, + /// }); + /// + /// var mainInstanceServer = new Scaleway.InstanceServer("main", new() + /// { + /// Image = "ubuntu_jammy", + /// Type = "DEV1-S", + /// Zone = "fr-par-1", + /// SecurityGroupId = mainInstanceSecurityGroup.Id, + /// }); + /// + /// var mainInstancePrivateNic = new Scaleway.InstancePrivateNic("main", new() + /// { + /// ServerId = mainInstanceServer.Id, + /// PrivateNetworkId = main.Id, + /// }); + /// + /// var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp("main"); + /// + /// var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp("main", new() + /// { + /// Subnet = "192.168.1.0/24", + /// }); + /// + /// var mainVpcPublicGateway = new Scaleway.VpcPublicGateway("main", new() + /// { + /// Name = "foobar", + /// Type = "VPC-GW-S", + /// IpId = mainVpcPublicGatewayIp.Id, + /// }); + /// + /// var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork("main", new() + /// { + /// GatewayId = mainVpcPublicGateway.Id, + /// PrivateNetworkId = main.Id, + /// DhcpId = mainVpcPublicGatewayDhcp.Id, + /// CleanupDhcp = true, + /// EnableMasquerade = true, + /// }); + /// + /// var mainVpcPublicGatewayDhcpReservation = new Scaleway.VpcPublicGatewayDhcpReservation("main", new() + /// { + /// GatewayNetworkId = mainVpcGatewayNetwork.Id, + /// MacAddress = mainInstancePrivateNic.MacAddress, + /// IpAddress = "192.168.1.4", + /// }); + /// + /// //## VPC PAT RULE + /// var mainVpcPublicGatewayPatRule = new Scaleway.VpcPublicGatewayPatRule("main", new() + /// { + /// GatewayId = mainVpcPublicGateway.Id, + /// PrivateIp = mainVpcPublicGatewayDhcpReservation.IpAddress, + /// PrivatePort = 22, + /// PublicPort = 2222, + /// Protocol = "tcp", + /// }); + /// + /// var byId = Scaleway.GetVpcPublicGatewayDhcpReservation.Invoke(new() + /// { + /// ReservationId = mainVpcPublicGatewayDhcpReservation.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPublicGatewayDhcpReservationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation", args ?? new GetVpcPublicGatewayDhcpReservationInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPublicGatewayIp.cs b/sdk/dotnet/GetVpcPublicGatewayIp.cs index 2b4e3638..f632a2de 100644 --- a/sdk/dotnet/GetVpcPublicGatewayIp.cs +++ b/sdk/dotnet/GetVpcPublicGatewayIp.cs @@ -69,6 +69,35 @@ public static Task InvokeAsync(GetVpcPublicGatewayI /// public static Output Invoke(GetVpcPublicGatewayIpInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp", args ?? new GetVpcPublicGatewayIpInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Public Gateway public flexible IP address. + /// + /// For further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-ips-list-ips). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var main = new Scaleway.VpcPublicGatewayIp("main"); + /// + /// var ipById = Scaleway.GetVpcPublicGatewayIp.Invoke(new() + /// { + /// IpId = main.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPublicGatewayIpInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp", args ?? new GetVpcPublicGatewayIpInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcPublicPatRule.cs b/sdk/dotnet/GetVpcPublicPatRule.cs index a42590dc..cade5e55 100644 --- a/sdk/dotnet/GetVpcPublicPatRule.cs +++ b/sdk/dotnet/GetVpcPublicPatRule.cs @@ -209,6 +209,105 @@ public static Task InvokeAsync(GetVpcPublicPatRuleArg /// public static Output Invoke(GetVpcPublicPatRuleInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule", args ?? new GetVpcPublicPatRuleInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a Public Gateway PAT rule. For further information, please see the + /// API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var sg01 = new Scaleway.InstanceSecurityGroup("sg01", new() + /// { + /// InboundDefaultPolicy = "drop", + /// OutboundDefaultPolicy = "accept", + /// InboundRules = new[] + /// { + /// new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs + /// { + /// Action = "accept", + /// Port = 22, + /// Protocol = "TCP", + /// }, + /// }, + /// }); + /// + /// var srv01 = new Scaleway.InstanceServer("srv01", new() + /// { + /// Name = "my-server", + /// Type = "PLAY2-NANO", + /// Image = "ubuntu_jammy", + /// SecurityGroupId = sg01.Id, + /// }); + /// + /// var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new() + /// { + /// Name = "my-pn", + /// }); + /// + /// var pnic01 = new Scaleway.InstancePrivateNic("pnic01", new() + /// { + /// ServerId = srv01.Id, + /// PrivateNetworkId = pn01.Id, + /// }); + /// + /// var dhcp01 = new Scaleway.VpcPublicGatewayDhcp("dhcp01", new() + /// { + /// Subnet = "192.168.0.0/24", + /// }); + /// + /// var ip01 = new Scaleway.VpcPublicGatewayIp("ip01"); + /// + /// var pg01 = new Scaleway.VpcPublicGateway("pg01", new() + /// { + /// Name = "my-pg", + /// Type = "VPC-GW-S", + /// IpId = ip01.Id, + /// }); + /// + /// var gn01 = new Scaleway.VpcGatewayNetwork("gn01", new() + /// { + /// GatewayId = pg01.Id, + /// PrivateNetworkId = pn01.Id, + /// DhcpId = dhcp01.Id, + /// CleanupDhcp = true, + /// EnableMasquerade = true, + /// }); + /// + /// var rsv01 = new Scaleway.VpcPublicGatewayDhcpReservation("rsv01", new() + /// { + /// GatewayNetworkId = gn01.Id, + /// MacAddress = pnic01.MacAddress, + /// IpAddress = "192.168.0.7", + /// }); + /// + /// var pat01 = new Scaleway.VpcPublicGatewayPatRule("pat01", new() + /// { + /// GatewayId = pg01.Id, + /// PrivateIp = rsv01.IpAddress, + /// PrivatePort = 22, + /// PublicPort = 2202, + /// Protocol = "tcp", + /// }); + /// + /// var main = Scaleway.GetVpcPublicPatRule.Invoke(new() + /// { + /// PatRuleId = pat01.Id, + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVpcPublicPatRuleInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule", args ?? new GetVpcPublicPatRuleInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcRoutes.cs b/sdk/dotnet/GetVpcRoutes.cs index 84dcf033..1712dd78 100644 --- a/sdk/dotnet/GetVpcRoutes.cs +++ b/sdk/dotnet/GetVpcRoutes.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetVpcRoutesArgs? args = null /// public static Output Invoke(GetVpcRoutesInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcRoutes:getVpcRoutes", args ?? new GetVpcRoutesInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple VPC routes. + /// + public static Output Invoke(GetVpcRoutesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcRoutes:getVpcRoutes", args ?? new GetVpcRoutesInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetVpcs.cs b/sdk/dotnet/GetVpcs.cs index eefe48f3..bc7de99a 100644 --- a/sdk/dotnet/GetVpcs.cs +++ b/sdk/dotnet/GetVpcs.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetVpcsArgs? args = null, InvokeOp /// public static Output Invoke(GetVpcsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcs:getVpcs", args ?? new GetVpcsInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about multiple Virtual Private Clouds. + /// + public static Output Invoke(GetVpcsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getVpcs:getVpcs", args ?? new GetVpcsInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetWebHostOffer.cs b/sdk/dotnet/GetWebHostOffer.cs index 606bf099..27f0a428 100644 --- a/sdk/dotnet/GetWebHostOffer.cs +++ b/sdk/dotnet/GetWebHostOffer.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetWebHostOfferArgs? args /// public static Output Invoke(GetWebHostOfferInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getWebHostOffer:getWebHostOffer", args ?? new GetWebHostOfferInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a webhosting offer. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by offer name + /// var byName = Scaleway.GetWebHostOffer.Invoke(new() + /// { + /// Name = "performance", + /// }); + /// + /// // Get info by offer id + /// var byId = Scaleway.GetWebHostOffer.Invoke(new() + /// { + /// OfferId = "de2426b4-a9e9-11ec-b909-0242ac120002", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetWebHostOfferInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getWebHostOffer:getWebHostOffer", args ?? new GetWebHostOfferInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/GetWebhosting.cs b/sdk/dotnet/GetWebhosting.cs index 1904b107..747f078f 100644 --- a/sdk/dotnet/GetWebhosting.cs +++ b/sdk/dotnet/GetWebhosting.cs @@ -73,6 +73,37 @@ public static Task InvokeAsync(GetWebhostingArgs? args = nu /// public static Output Invoke(GetWebhostingInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getWebhosting:getWebhosting", args ?? new GetWebhostingInvokeArgs(), options.WithDefaults()); + + /// + /// Gets information about a webhosting. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumi.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // Get info by offer domain + /// var byDomain = Scaleway.GetWebhosting.Invoke(new() + /// { + /// Domain = "foobar.com", + /// }); + /// + /// // Get info by id + /// var byId = Scaleway.GetWebhosting.Invoke(new() + /// { + /// WebhostingId = "11111111-1111-1111-1111-111111111111", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetWebhostingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getWebhosting:getWebhosting", args ?? new GetWebhostingInvokeArgs(), options.WithDefaults()); } diff --git a/sdk/dotnet/Inputs/InstanceServerRootVolumeArgs.cs b/sdk/dotnet/Inputs/InstanceServerRootVolumeArgs.cs index 2f85f43e..0fce4c1e 100644 --- a/sdk/dotnet/Inputs/InstanceServerRootVolumeArgs.cs +++ b/sdk/dotnet/Inputs/InstanceServerRootVolumeArgs.cs @@ -43,7 +43,7 @@ public sealed class InstanceServerRootVolumeArgs : global::Pulumi.ResourceArgs /// Size of the root volume in gigabytes. /// To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and /// check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - /// Updates to this field will recreate a new resource. + /// Depending on `volume_type`, updates to this field may recreate a new resource. /// [Input("sizeInGb")] public Input? SizeInGb { get; set; } diff --git a/sdk/dotnet/Inputs/InstanceServerRootVolumeGetArgs.cs b/sdk/dotnet/Inputs/InstanceServerRootVolumeGetArgs.cs index 9b9771c3..ab80f765 100644 --- a/sdk/dotnet/Inputs/InstanceServerRootVolumeGetArgs.cs +++ b/sdk/dotnet/Inputs/InstanceServerRootVolumeGetArgs.cs @@ -43,7 +43,7 @@ public sealed class InstanceServerRootVolumeGetArgs : global::Pulumi.ResourceArg /// Size of the root volume in gigabytes. /// To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and /// check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - /// Updates to this field will recreate a new resource. + /// Depending on `volume_type`, updates to this field may recreate a new resource. /// [Input("sizeInGb")] public Input? SizeInGb { get; set; } diff --git a/sdk/dotnet/InstanceServer.cs b/sdk/dotnet/InstanceServer.cs index 16968629..dcc1d920 100644 --- a/sdk/dotnet/InstanceServer.cs +++ b/sdk/dotnet/InstanceServer.cs @@ -414,7 +414,7 @@ public partial class InstanceServer : global::Pulumi.CustomResource public Output PlacementGroupPolicyRespected { get; private set; } = null!; /// - /// The Scaleway internal IP address of the server. + /// The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). /// [Output("privateIp")] public Output PrivateIp { get; private set; } = null!; @@ -896,7 +896,7 @@ public InputList IpIds public Input? PlacementGroupPolicyRespected { get; set; } /// - /// The Scaleway internal IP address of the server. + /// The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). /// [Input("privateIp")] public Input? PrivateIp { get; set; } diff --git a/sdk/dotnet/ObjectItem.cs b/sdk/dotnet/ObjectItem.cs index 9e56f8e3..93f1e6f7 100644 --- a/sdk/dotnet/ObjectItem.cs +++ b/sdk/dotnet/ObjectItem.cs @@ -94,6 +94,12 @@ public partial class ObjectItem : global::Pulumi.CustomResource [Output("region")] public Output Region { get; private set; } = null!; + /// + /// Customer's encryption keys to encrypt data (SSE-C) + /// + [Output("sseCustomerKey")] + public Output SseCustomerKey { get; private set; } = null!; + /// /// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. /// @@ -136,6 +142,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { Version = Utilities.Version, PluginDownloadURL = "github://api.github.com/pulumiverse", + AdditionalSecretOutputs = + { + "sseCustomerKey", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -221,6 +231,22 @@ public InputMap Metadata [Input("region")] public Input? Region { get; set; } + [Input("sseCustomerKey")] + private Input? _sseCustomerKey; + + /// + /// Customer's encryption keys to encrypt data (SSE-C) + /// + public Input? SseCustomerKey + { + get => _sseCustomerKey; + set + { + var emptySecret = Output.CreateSecret(0); + _sseCustomerKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// /// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. /// @@ -315,6 +341,22 @@ public InputMap Metadata [Input("region")] public Input? Region { get; set; } + [Input("sseCustomerKey")] + private Input? _sseCustomerKey; + + /// + /// Customer's encryption keys to encrypt data (SSE-C) + /// + public Input? SseCustomerKey + { + get => _sseCustomerKey; + set + { + var emptySecret = Output.CreateSecret(0); + _sseCustomerKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// /// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. /// diff --git a/sdk/dotnet/Outputs/InstanceServerRootVolume.cs b/sdk/dotnet/Outputs/InstanceServerRootVolume.cs index d69140ee..1c347e88 100644 --- a/sdk/dotnet/Outputs/InstanceServerRootVolume.cs +++ b/sdk/dotnet/Outputs/InstanceServerRootVolume.cs @@ -36,7 +36,7 @@ public sealed class InstanceServerRootVolume /// Size of the root volume in gigabytes. /// To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and /// check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - /// Updates to this field will recreate a new resource. + /// Depending on `volume_type`, updates to this field may recreate a new resource. /// public readonly int? SizeInGb; /// diff --git a/sdk/dotnet/RedisCluster.cs b/sdk/dotnet/RedisCluster.cs index fe0c1b5f..6a64113b 100644 --- a/sdk/dotnet/RedisCluster.cs +++ b/sdk/dotnet/RedisCluster.cs @@ -153,8 +153,13 @@ public partial class RedisCluster : global::Pulumi.CustomResource /// /// The number of nodes in the Redis™ cluster. /// - /// > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - /// which is minimum 3 (1 main node + 2 secondary nodes) + /// > **Important:** + /// + /// - Cluster_size = 1 for Standalone mode (single node). + /// + /// - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + /// + /// - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. /// /// > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially /// did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -329,8 +334,13 @@ public InputList Acls /// /// The number of nodes in the Redis™ cluster. /// - /// > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - /// which is minimum 3 (1 main node + 2 secondary nodes) + /// > **Important:** + /// + /// - Cluster_size = 1 for Standalone mode (single node). + /// + /// - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + /// + /// - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. /// /// > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially /// did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -484,8 +494,13 @@ public InputList Acls /// /// The number of nodes in the Redis™ cluster. /// - /// > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - /// which is minimum 3 (1 main node + 2 secondary nodes) + /// > **Important:** + /// + /// - Cluster_size = 1 for Standalone mode (single node). + /// + /// - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + /// + /// - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. /// /// > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially /// did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs index 6b17ef33..f35f23eb 100644 --- a/sdk/dotnet/Utilities.cs +++ b/sdk/dotnet/Utilities.cs @@ -57,6 +57,14 @@ static class Utilities return dst; } + public static global::Pulumi.InvokeOutputOptions WithDefaults(this global::Pulumi.InvokeOutputOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOutputOptions{}; + dst.Version = src?.Version ?? Version; + dst.PluginDownloadURL = src?.PluginDownloadURL ?? "github://api.github.com/pulumiverse"; + return dst; + } + private readonly static string version; public static string Version => version; diff --git a/sdk/dotnet/VpcGatewayNetwork.cs b/sdk/dotnet/VpcGatewayNetwork.cs index 5f1eaa2a..a7a0ee8d 100644 --- a/sdk/dotnet/VpcGatewayNetwork.cs +++ b/sdk/dotnet/VpcGatewayNetwork.cs @@ -234,7 +234,7 @@ public partial class VpcGatewayNetwork : global::Pulumi.CustomResource public Output DhcpId { get; private set; } = null!; /// - /// WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + /// Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. /// [Output("enableDhcp")] public Output EnableDhcp { get; private set; } = null!; @@ -353,7 +353,7 @@ public sealed class VpcGatewayNetworkArgs : global::Pulumi.ResourceArgs public Input? DhcpId { get; set; } /// - /// WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + /// Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. /// [Input("enableDhcp")] public Input? EnableDhcp { get; set; } @@ -427,7 +427,7 @@ public sealed class VpcGatewayNetworkState : global::Pulumi.ResourceArgs public Input? DhcpId { get; set; } /// - /// WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + /// Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. /// [Input("enableDhcp")] public Input? EnableDhcp { get; set; } diff --git a/sdk/go.mod b/sdk/go.mod index 45eed806..f2d1814b 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.4 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.140.0 + github.com/pulumi/pulumi/sdk/v3 v3.143.0 ) require ( @@ -75,14 +75,14 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zclconf/go-cty v1.13.2 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.26.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.22.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/grpc v1.63.2 // indirect diff --git a/sdk/go.sum b/sdk/go.sum index 22da94d1..e8db5bab 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.140.0 h1:+Z/RBvdYg7tBNkBwk4p/FzlV7niBT3TbLAICq/Y0LDU= -github.com/pulumi/pulumi/sdk/v3 v3.140.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/sdk/v3 v3.143.0 h1:z1m8Fc6l723eU2J/bP7UHE5t6WbBu4iIDAl1WaalQk4= +github.com/pulumi/pulumi/sdk/v3 v3.143.0/go.mod h1:OFpZabILGxrFqzcABFpMCksrHGVp4ymRM2BkKjlazDY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -205,8 +205,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -235,8 +235,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/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.1.0/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.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.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-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -257,15 +257,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -273,8 +273,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -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.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= diff --git a/sdk/go/scaleway/baremetalServer.go b/sdk/go/scaleway/baremetalServer.go index 15f48a65..59312766 100644 --- a/sdk/go/scaleway/baremetalServer.go +++ b/sdk/go/scaleway/baremetalServer.go @@ -337,6 +337,65 @@ import ( // // ``` // +// ### With custom partitioning +// +// ```go +// package main +// +// import ( +// +// "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, "") +// configCustomPartitioning := "{\"disks\":[{\"device\":\"/dev/nvme0n1\",\"partitions\":[{\"label\":\"uefi\",\"number\":1,\"size\":536870912},{\"label\":\"swap\",\"number\":2,\"size\":4294967296},{\"label\":\"boot\",\"number\":3,\"size\":1073741824},{\"label\":\"root\",\"number\":4,\"size\":1017827045376}]},{\"device\":\"/dev/nvme1n1\",\"partitions\":[{\"label\":\"swap\",\"number\":1,\"size\":4294967296},{\"label\":\"boot\",\"number\":2,\"size\":1073741824},{\"label\":\"root\",\"number\":3,\"size\":1017827045376}]}],\"filesystems\":[{\"device\":\"/dev/nvme0n1p1\",\"format\":\"fat32\",\"mountpoint\":\"/boot/efi\"},{\"device\":\"/dev/md0\",\"format\":\"ext4\",\"mountpoint\":\"/boot\"},{\"device\":\"/dev/md1\",\"format\":\"ext4\",\"mountpoint\":\"/\"}],\"raids\":[{\"devices\":[\"/dev/nvme0n1p3\",\"/dev/nvme1n1p2\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md0\"},{\"devices\":[\"/dev/nvme0n1p4\",\"/dev/nvme1n1p3\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md1\"}],\"zfs\":{\"pools\":[]}}" +// if param := cfg.Get("configCustomPartitioning"); param != "" { +// configCustomPartitioning = param +// } +// myOs, err := scaleway.GetBaremetalOs(ctx, &scaleway.GetBaremetalOsArgs{ +// Zone: pulumi.StringRef("fr-par-1"), +// Name: pulumi.StringRef("Ubuntu"), +// Version: pulumi.StringRef("22.04 LTS (Jammy Jellyfish)"), +// }, nil) +// if err != nil { +// return err +// } +// main, err := scaleway.NewIamSshKey(ctx, "main", &scaleway.IamSshKeyArgs{ +// Name: pulumi.String("main"), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewBaremetalServer(ctx, "base", &scaleway.BaremetalServerArgs{ +// Name: pulumi.String("%s"), +// Zone: pulumi.String("fr-par-1"), +// Description: pulumi.String("test a description"), +// Offer: pulumi.String("EM-B220E-NVME"), +// Os: pulumi.String(myOs.OsId), +// Partitioning: pulumi.String(configCustomPartitioning), +// Tags: pulumi.StringArray{ +// pulumi.String("terraform-test"), +// pulumi.String("scaleway_baremetal_server"), +// pulumi.String("minimal"), +// }, +// SshKeyIds: pulumi.StringArray{ +// main.ID(), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Baremetal servers can be imported using the `{zone}/{id}`, e.g. @@ -385,7 +444,7 @@ type BaremetalServer struct { Os pulumi.StringPtrOutput `pulumi:"os"` // The name of the os. OsName pulumi.StringOutput `pulumi:"osName"` - // The partitioning schema in json format + // The partitioning schema in JSON format Partitioning pulumi.StringPtrOutput `pulumi:"partitioning"` // Password used for the installation. May be required depending on used os. Password pulumi.StringPtrOutput `pulumi:"password"` @@ -490,7 +549,7 @@ type baremetalServerState struct { Os *string `pulumi:"os"` // The name of the os. OsName *string `pulumi:"osName"` - // The partitioning schema in json format + // The partitioning schema in JSON format Partitioning *string `pulumi:"partitioning"` // Password used for the installation. May be required depending on used os. Password *string `pulumi:"password"` @@ -552,7 +611,7 @@ type BaremetalServerState struct { Os pulumi.StringPtrInput // The name of the os. OsName pulumi.StringPtrInput - // The partitioning schema in json format + // The partitioning schema in JSON format Partitioning pulumi.StringPtrInput // Password used for the installation. May be required depending on used os. Password pulumi.StringPtrInput @@ -602,7 +661,7 @@ type baremetalServerArgs struct { // Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. // > **Important:** Updates to `os` will reinstall the server. Os *string `pulumi:"os"` - // The partitioning schema in json format + // The partitioning schema in JSON format Partitioning *string `pulumi:"partitioning"` // Password used for the installation. May be required depending on used os. Password *string `pulumi:"password"` @@ -649,7 +708,7 @@ type BaremetalServerArgs struct { // Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. // > **Important:** Updates to `os` will reinstall the server. Os pulumi.StringPtrInput - // The partitioning schema in json format + // The partitioning schema in JSON format Partitioning pulumi.StringPtrInput // Password used for the installation. May be required depending on used os. Password pulumi.StringPtrInput @@ -842,7 +901,7 @@ func (o BaremetalServerOutput) OsName() pulumi.StringOutput { return o.ApplyT(func(v *BaremetalServer) pulumi.StringOutput { return v.OsName }).(pulumi.StringOutput) } -// The partitioning schema in json format +// The partitioning schema in JSON format func (o BaremetalServerOutput) Partitioning() pulumi.StringPtrOutput { return o.ApplyT(func(v *BaremetalServer) pulumi.StringPtrOutput { return v.Partitioning }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/scaleway/cockpitGrafanaUser.go b/sdk/go/scaleway/cockpitGrafanaUser.go index 68e79742..13c4c707 100644 --- a/sdk/go/scaleway/cockpitGrafanaUser.go +++ b/sdk/go/scaleway/cockpitGrafanaUser.go @@ -66,6 +66,8 @@ import ( type CockpitGrafanaUser struct { pulumi.CustomResourceState + // URL for Grafana. + GrafanaUrl pulumi.StringOutput `pulumi:"grafanaUrl"` // 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. @@ -116,6 +118,8 @@ func GetCockpitGrafanaUser(ctx *pulumi.Context, // Input properties used for looking up and filtering CockpitGrafanaUser resources. type cockpitGrafanaUserState struct { + // URL for Grafana. + GrafanaUrl *string `pulumi:"grafanaUrl"` // 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. @@ -127,6 +131,8 @@ type cockpitGrafanaUserState struct { } type CockpitGrafanaUserState struct { + // URL for Grafana. + GrafanaUrl pulumi.StringPtrInput // 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. @@ -247,6 +253,11 @@ func (o CockpitGrafanaUserOutput) ToCockpitGrafanaUserOutputWithContext(ctx cont return o } +// URL for Grafana. +func (o CockpitGrafanaUserOutput) GrafanaUrl() pulumi.StringOutput { + return o.ApplyT(func(v *CockpitGrafanaUser) pulumi.StringOutput { return v.GrafanaUrl }).(pulumi.StringOutput) +} + // 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) diff --git a/sdk/go/scaleway/cockpitSource.go b/sdk/go/scaleway/cockpitSource.go index 07660cab..c4145453 100644 --- a/sdk/go/scaleway/cockpitSource.go +++ b/sdk/go/scaleway/cockpitSource.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "errors" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" ) @@ -40,9 +41,10 @@ import ( // return err // } // _, err = scaleway.NewCockpitSource(ctx, "main", &scaleway.CockpitSourceArgs{ -// ProjectId: project.ID(), -// Name: pulumi.String("my-data-source"), -// Type: pulumi.String("metrics"), +// ProjectId: project.ID(), +// Name: pulumi.String("my-data-source"), +// Type: pulumi.String("metrics"), +// RetentionDays: pulumi.Int(6), // }) // if err != nil { // return err @@ -77,6 +79,8 @@ type CockpitSource struct { PushUrl pulumi.StringOutput `pulumi:"pushUrl"` // ) The region where the data source is located. Region pulumi.StringOutput `pulumi:"region"` + // The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + RetentionDays pulumi.IntOutput `pulumi:"retentionDays"` // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana pulumi.BoolOutput `pulumi:"synchronizedWithGrafana"` // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. @@ -91,9 +95,12 @@ type CockpitSource struct { func NewCockpitSource(ctx *pulumi.Context, name string, args *CockpitSourceArgs, opts ...pulumi.ResourceOption) (*CockpitSource, error) { if args == nil { - args = &CockpitSourceArgs{} + return nil, errors.New("missing one or more required arguments") } + if args.RetentionDays == nil { + return nil, errors.New("invalid value for required argument 'RetentionDays'") + } opts = internal.PkgResourceDefaultOpts(opts) var resource CockpitSource err := ctx.RegisterResource("scaleway:index/cockpitSource:CockpitSource", name, args, &resource, opts...) @@ -129,6 +136,8 @@ type cockpitSourceState struct { PushUrl *string `pulumi:"pushUrl"` // ) The region where the data source is located. Region *string `pulumi:"region"` + // The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + RetentionDays *int `pulumi:"retentionDays"` // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana *bool `pulumi:"synchronizedWithGrafana"` // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. @@ -152,6 +161,8 @@ type CockpitSourceState struct { PushUrl pulumi.StringPtrInput // ) The region where the data source is located. Region pulumi.StringPtrInput + // The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + RetentionDays pulumi.IntPtrInput // Indicates whether the data source is synchronized with Grafana. SynchronizedWithGrafana pulumi.BoolPtrInput // The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. @@ -173,6 +184,8 @@ type cockpitSourceArgs struct { ProjectId *string `pulumi:"projectId"` // ) The region where the data source is located. Region *string `pulumi:"region"` + // The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + RetentionDays int `pulumi:"retentionDays"` // 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"` } @@ -185,6 +198,8 @@ type CockpitSourceArgs struct { ProjectId pulumi.StringPtrInput // ) The region where the data source is located. Region pulumi.StringPtrInput + // The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + RetentionDays pulumi.IntInput // 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 } @@ -306,6 +321,11 @@ func (o CockpitSourceOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *CockpitSource) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. +func (o CockpitSourceOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v *CockpitSource) pulumi.IntOutput { return v.RetentionDays }).(pulumi.IntOutput) +} + // Indicates whether the data source is synchronized with Grafana. func (o CockpitSourceOutput) SynchronizedWithGrafana() pulumi.BoolOutput { return o.ApplyT(func(v *CockpitSource) pulumi.BoolOutput { return v.SynchronizedWithGrafana }).(pulumi.BoolOutput) diff --git a/sdk/go/scaleway/getAccountProject.go b/sdk/go/scaleway/getAccountProject.go index 8fa42740..35de2486 100644 --- a/sdk/go/scaleway/getAccountProject.go +++ b/sdk/go/scaleway/getAccountProject.go @@ -51,21 +51,11 @@ type LookupAccountProjectResult struct { } func LookupAccountProjectOutput(ctx *pulumi.Context, args LookupAccountProjectOutputArgs, opts ...pulumi.InvokeOption) LookupAccountProjectResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAccountProjectResultOutput, error) { args := v.(LookupAccountProjectArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAccountProjectResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getAccountProject:getAccountProject", args, &rv, "", opts...) - if err != nil { - return LookupAccountProjectResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAccountProjectResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAccountProjectResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getAccountProject:getAccountProject", args, LookupAccountProjectResultOutput{}, options).(LookupAccountProjectResultOutput), nil }).(LookupAccountProjectResultOutput) } diff --git a/sdk/go/scaleway/getAccountSshKey.go b/sdk/go/scaleway/getAccountSshKey.go index c3250d7e..797c52fb 100644 --- a/sdk/go/scaleway/getAccountSshKey.go +++ b/sdk/go/scaleway/getAccountSshKey.go @@ -54,21 +54,11 @@ type LookupAccountSshKeyResult struct { } func LookupAccountSshKeyOutput(ctx *pulumi.Context, args LookupAccountSshKeyOutputArgs, opts ...pulumi.InvokeOption) LookupAccountSshKeyResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupAccountSshKeyResultOutput, error) { args := v.(LookupAccountSshKeyArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupAccountSshKeyResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getAccountSshKey:getAccountSshKey", args, &rv, "", opts...) - if err != nil { - return LookupAccountSshKeyResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupAccountSshKeyResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupAccountSshKeyResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getAccountSshKey:getAccountSshKey", args, LookupAccountSshKeyResultOutput{}, options).(LookupAccountSshKeyResultOutput), nil }).(LookupAccountSshKeyResultOutput) } diff --git a/sdk/go/scaleway/getAvailabilityZones.go b/sdk/go/scaleway/getAvailabilityZones.go index 5102e756..dd055de8 100644 --- a/sdk/go/scaleway/getAvailabilityZones.go +++ b/sdk/go/scaleway/getAvailabilityZones.go @@ -72,21 +72,11 @@ type GetAvailabilityZonesResult struct { } func GetAvailabilityZonesOutput(ctx *pulumi.Context, args GetAvailabilityZonesOutputArgs, opts ...pulumi.InvokeOption) GetAvailabilityZonesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetAvailabilityZonesResultOutput, error) { args := v.(GetAvailabilityZonesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetAvailabilityZonesResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getAvailabilityZones:getAvailabilityZones", args, &rv, "", opts...) - if err != nil { - return GetAvailabilityZonesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetAvailabilityZonesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetAvailabilityZonesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getAvailabilityZones:getAvailabilityZones", args, GetAvailabilityZonesResultOutput{}, options).(GetAvailabilityZonesResultOutput), nil }).(GetAvailabilityZonesResultOutput) } diff --git a/sdk/go/scaleway/getBaremetalOffer.go b/sdk/go/scaleway/getBaremetalOffer.go index c2d5bffe..713849d1 100644 --- a/sdk/go/scaleway/getBaremetalOffer.go +++ b/sdk/go/scaleway/getBaremetalOffer.go @@ -60,21 +60,11 @@ type GetBaremetalOfferResult struct { } func GetBaremetalOfferOutput(ctx *pulumi.Context, args GetBaremetalOfferOutputArgs, opts ...pulumi.InvokeOption) GetBaremetalOfferResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetBaremetalOfferResultOutput, error) { args := v.(GetBaremetalOfferArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetBaremetalOfferResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBaremetalOffer:getBaremetalOffer", args, &rv, "", opts...) - if err != nil { - return GetBaremetalOfferResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetBaremetalOfferResultOutput) - if secret { - return pulumi.ToSecret(output).(GetBaremetalOfferResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBaremetalOffer:getBaremetalOffer", args, GetBaremetalOfferResultOutput{}, options).(GetBaremetalOfferResultOutput), nil }).(GetBaremetalOfferResultOutput) } diff --git a/sdk/go/scaleway/getBaremetalOption.go b/sdk/go/scaleway/getBaremetalOption.go index 9da1fcaf..368e3826 100644 --- a/sdk/go/scaleway/getBaremetalOption.go +++ b/sdk/go/scaleway/getBaremetalOption.go @@ -80,21 +80,11 @@ type GetBaremetalOptionResult struct { } func GetBaremetalOptionOutput(ctx *pulumi.Context, args GetBaremetalOptionOutputArgs, opts ...pulumi.InvokeOption) GetBaremetalOptionResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetBaremetalOptionResultOutput, error) { args := v.(GetBaremetalOptionArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetBaremetalOptionResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBaremetalOption:getBaremetalOption", args, &rv, "", opts...) - if err != nil { - return GetBaremetalOptionResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetBaremetalOptionResultOutput) - if secret { - return pulumi.ToSecret(output).(GetBaremetalOptionResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBaremetalOption:getBaremetalOption", args, GetBaremetalOptionResultOutput{}, options).(GetBaremetalOptionResultOutput), nil }).(GetBaremetalOptionResultOutput) } diff --git a/sdk/go/scaleway/getBaremetalOs.go b/sdk/go/scaleway/getBaremetalOs.go index 1bc6dda7..847e0c90 100644 --- a/sdk/go/scaleway/getBaremetalOs.go +++ b/sdk/go/scaleway/getBaremetalOs.go @@ -83,21 +83,11 @@ type GetBaremetalOsResult struct { } func GetBaremetalOsOutput(ctx *pulumi.Context, args GetBaremetalOsOutputArgs, opts ...pulumi.InvokeOption) GetBaremetalOsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetBaremetalOsResultOutput, error) { args := v.(GetBaremetalOsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetBaremetalOsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBaremetalOs:getBaremetalOs", args, &rv, "", opts...) - if err != nil { - return GetBaremetalOsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetBaremetalOsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetBaremetalOsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBaremetalOs:getBaremetalOs", args, GetBaremetalOsResultOutput{}, options).(GetBaremetalOsResultOutput), nil }).(GetBaremetalOsResultOutput) } diff --git a/sdk/go/scaleway/getBaremetalServer.go b/sdk/go/scaleway/getBaremetalServer.go index aaa5b922..5a27a64c 100644 --- a/sdk/go/scaleway/getBaremetalServer.go +++ b/sdk/go/scaleway/getBaremetalServer.go @@ -103,21 +103,11 @@ type LookupBaremetalServerResult struct { } func LookupBaremetalServerOutput(ctx *pulumi.Context, args LookupBaremetalServerOutputArgs, opts ...pulumi.InvokeOption) LookupBaremetalServerResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupBaremetalServerResultOutput, error) { args := v.(LookupBaremetalServerArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupBaremetalServerResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBaremetalServer:getBaremetalServer", args, &rv, "", opts...) - if err != nil { - return LookupBaremetalServerResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupBaremetalServerResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupBaremetalServerResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBaremetalServer:getBaremetalServer", args, LookupBaremetalServerResultOutput{}, options).(LookupBaremetalServerResultOutput), nil }).(LookupBaremetalServerResultOutput) } diff --git a/sdk/go/scaleway/getBillingConsumptions.go b/sdk/go/scaleway/getBillingConsumptions.go index e39cf926..5fede31f 100644 --- a/sdk/go/scaleway/getBillingConsumptions.go +++ b/sdk/go/scaleway/getBillingConsumptions.go @@ -42,21 +42,11 @@ type GetBillingConsumptionsResult struct { } func GetBillingConsumptionsOutput(ctx *pulumi.Context, args GetBillingConsumptionsOutputArgs, opts ...pulumi.InvokeOption) GetBillingConsumptionsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetBillingConsumptionsResultOutput, error) { args := v.(GetBillingConsumptionsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetBillingConsumptionsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBillingConsumptions:getBillingConsumptions", args, &rv, "", opts...) - if err != nil { - return GetBillingConsumptionsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetBillingConsumptionsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetBillingConsumptionsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBillingConsumptions:getBillingConsumptions", args, GetBillingConsumptionsResultOutput{}, options).(GetBillingConsumptionsResultOutput), nil }).(GetBillingConsumptionsResultOutput) } diff --git a/sdk/go/scaleway/getBillingInvoices.go b/sdk/go/scaleway/getBillingInvoices.go index c18a2df6..4100e68f 100644 --- a/sdk/go/scaleway/getBillingInvoices.go +++ b/sdk/go/scaleway/getBillingInvoices.go @@ -46,21 +46,11 @@ type GetBillingInvoicesResult struct { } func GetBillingInvoicesOutput(ctx *pulumi.Context, args GetBillingInvoicesOutputArgs, opts ...pulumi.InvokeOption) GetBillingInvoicesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetBillingInvoicesResultOutput, error) { args := v.(GetBillingInvoicesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetBillingInvoicesResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBillingInvoices:getBillingInvoices", args, &rv, "", opts...) - if err != nil { - return GetBillingInvoicesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetBillingInvoicesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetBillingInvoicesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBillingInvoices:getBillingInvoices", args, GetBillingInvoicesResultOutput{}, options).(GetBillingInvoicesResultOutput), nil }).(GetBillingInvoicesResultOutput) } diff --git a/sdk/go/scaleway/getBlockSnapshot.go b/sdk/go/scaleway/getBlockSnapshot.go index 4e923a72..6acc9af5 100644 --- a/sdk/go/scaleway/getBlockSnapshot.go +++ b/sdk/go/scaleway/getBlockSnapshot.go @@ -51,21 +51,11 @@ type LookupBlockSnapshotResult struct { } func LookupBlockSnapshotOutput(ctx *pulumi.Context, args LookupBlockSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupBlockSnapshotResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupBlockSnapshotResultOutput, error) { args := v.(LookupBlockSnapshotArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupBlockSnapshotResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBlockSnapshot:getBlockSnapshot", args, &rv, "", opts...) - if err != nil { - return LookupBlockSnapshotResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupBlockSnapshotResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupBlockSnapshotResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBlockSnapshot:getBlockSnapshot", args, LookupBlockSnapshotResultOutput{}, options).(LookupBlockSnapshotResultOutput), nil }).(LookupBlockSnapshotResultOutput) } diff --git a/sdk/go/scaleway/getBlockVolume.go b/sdk/go/scaleway/getBlockVolume.go index 3702ef62..1cf40718 100644 --- a/sdk/go/scaleway/getBlockVolume.go +++ b/sdk/go/scaleway/getBlockVolume.go @@ -50,21 +50,11 @@ type LookupBlockVolumeResult struct { } func LookupBlockVolumeOutput(ctx *pulumi.Context, args LookupBlockVolumeOutputArgs, opts ...pulumi.InvokeOption) LookupBlockVolumeResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupBlockVolumeResultOutput, error) { args := v.(LookupBlockVolumeArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupBlockVolumeResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getBlockVolume:getBlockVolume", args, &rv, "", opts...) - if err != nil { - return LookupBlockVolumeResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupBlockVolumeResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupBlockVolumeResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getBlockVolume:getBlockVolume", args, LookupBlockVolumeResultOutput{}, options).(LookupBlockVolumeResultOutput), nil }).(LookupBlockVolumeResultOutput) } diff --git a/sdk/go/scaleway/getCockpit.go b/sdk/go/scaleway/getCockpit.go index 02ef3c13..d557114f 100644 --- a/sdk/go/scaleway/getCockpit.go +++ b/sdk/go/scaleway/getCockpit.go @@ -105,21 +105,11 @@ type LookupCockpitResult struct { } func LookupCockpitOutput(ctx *pulumi.Context, args LookupCockpitOutputArgs, opts ...pulumi.InvokeOption) LookupCockpitResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupCockpitResultOutput, error) { args := v.(LookupCockpitArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupCockpitResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getCockpit:getCockpit", args, &rv, "", opts...) - if err != nil { - return LookupCockpitResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupCockpitResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupCockpitResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getCockpit:getCockpit", args, LookupCockpitResultOutput{}, options).(LookupCockpitResultOutput), nil }).(LookupCockpitResultOutput) } diff --git a/sdk/go/scaleway/getCockpitPlan.go b/sdk/go/scaleway/getCockpitPlan.go index 8e7acaf3..1ac7f856 100644 --- a/sdk/go/scaleway/getCockpitPlan.go +++ b/sdk/go/scaleway/getCockpitPlan.go @@ -74,21 +74,11 @@ type GetCockpitPlanResult struct { } func GetCockpitPlanOutput(ctx *pulumi.Context, args GetCockpitPlanOutputArgs, opts ...pulumi.InvokeOption) GetCockpitPlanResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetCockpitPlanResultOutput, error) { args := v.(GetCockpitPlanArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetCockpitPlanResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getCockpitPlan:getCockpitPlan", args, &rv, "", opts...) - if err != nil { - return GetCockpitPlanResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetCockpitPlanResultOutput) - if secret { - return pulumi.ToSecret(output).(GetCockpitPlanResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getCockpitPlan:getCockpitPlan", args, GetCockpitPlanResultOutput{}, options).(GetCockpitPlanResultOutput), nil }).(GetCockpitPlanResultOutput) } diff --git a/sdk/go/scaleway/getCockpitSource.go b/sdk/go/scaleway/getCockpitSource.go new file mode 100644 index 00000000..729609d2 --- /dev/null +++ b/sdk/go/scaleway/getCockpitSource.go @@ -0,0 +1,188 @@ +// 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" +) + +// The `CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. +// +// ## Example Usage +// +// ### Retrieve a specific data source by ID +// +// The following example retrieves a Cockpit data source by its unique ID. +// +// ```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.LookupCockpitSource(ctx, &scaleway.LookupCockpitSourceArgs{ +// Id: pulumi.StringRef("fr-par/11111111-1111-1111-1111-111111111111"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupCockpitSource(ctx *pulumi.Context, args *LookupCockpitSourceArgs, opts ...pulumi.InvokeOption) (*LookupCockpitSourceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCockpitSourceResult + err := ctx.Invoke("scaleway:index/getCockpitSource:getCockpitSource", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCockpitSource. +type LookupCockpitSourceArgs struct { + // The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + Id *string `pulumi:"id"` + // The name of the data source. + Name *string `pulumi:"name"` + // The origin of the data source. Possible values are: + Origin *string `pulumi:"origin"` + // The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + ProjectId *string `pulumi:"projectId"` + // 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"` +} + +// A collection of values returned by getCockpitSource. +type LookupCockpitSourceResult struct { + // The date and time the data source was created (in RFC 3339 format). + CreatedAt string `pulumi:"createdAt"` + // The unique identifier of the data source in the `{region}/{id}` format. + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // The origin of the data source. + Origin string `pulumi:"origin"` + ProjectId string `pulumi:"projectId"` + Region string `pulumi:"region"` + // The number of days the data is retained in the data source. + RetentionDays int `pulumi:"retentionDays"` + // Indicates whether the data source is synchronized with Grafana. + SynchronizedWithGrafana bool `pulumi:"synchronizedWithGrafana"` + Type string `pulumi:"type"` + // 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. + Url string `pulumi:"url"` +} + +func LookupCockpitSourceOutput(ctx *pulumi.Context, args LookupCockpitSourceOutputArgs, opts ...pulumi.InvokeOption) LookupCockpitSourceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCockpitSourceResultOutput, error) { + args := v.(LookupCockpitSourceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getCockpitSource:getCockpitSource", args, LookupCockpitSourceResultOutput{}, options).(LookupCockpitSourceResultOutput), nil + }).(LookupCockpitSourceResultOutput) +} + +// A collection of arguments for invoking getCockpitSource. +type LookupCockpitSourceOutputArgs struct { + // The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name of the data source. + Name pulumi.StringPtrInput `pulumi:"name"` + // The origin of the data source. Possible values are: + Origin pulumi.StringPtrInput `pulumi:"origin"` + // The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + ProjectId pulumi.StringPtrInput `pulumi:"projectId"` + // 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 `pulumi:"type"` +} + +func (LookupCockpitSourceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCockpitSourceArgs)(nil)).Elem() +} + +// A collection of values returned by getCockpitSource. +type LookupCockpitSourceResultOutput struct{ *pulumi.OutputState } + +func (LookupCockpitSourceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCockpitSourceResult)(nil)).Elem() +} + +func (o LookupCockpitSourceResultOutput) ToLookupCockpitSourceResultOutput() LookupCockpitSourceResultOutput { + return o +} + +func (o LookupCockpitSourceResultOutput) ToLookupCockpitSourceResultOutputWithContext(ctx context.Context) LookupCockpitSourceResultOutput { + return o +} + +// The date and time the data source was created (in RFC 3339 format). +func (o LookupCockpitSourceResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The unique identifier of the data source in the `{region}/{id}` format. +func (o LookupCockpitSourceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupCockpitSourceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The origin of the data source. +func (o LookupCockpitSourceResultOutput) Origin() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Origin }).(pulumi.StringOutput) +} + +func (o LookupCockpitSourceResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o LookupCockpitSourceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The number of days the data is retained in the data source. +func (o LookupCockpitSourceResultOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) int { return v.RetentionDays }).(pulumi.IntOutput) +} + +// Indicates whether the data source is synchronized with Grafana. +func (o LookupCockpitSourceResultOutput) SynchronizedWithGrafana() pulumi.BoolOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) bool { return v.SynchronizedWithGrafana }).(pulumi.BoolOutput) +} + +func (o LookupCockpitSourceResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Type }).(pulumi.StringOutput) +} + +// The date and time the data source was last updated (in RFC 3339 format). +func (o LookupCockpitSourceResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +// The URL of the Cockpit data source. +func (o LookupCockpitSourceResultOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v LookupCockpitSourceResult) string { return v.Url }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCockpitSourceResultOutput{}) +} diff --git a/sdk/go/scaleway/getConfig.go b/sdk/go/scaleway/getConfig.go index 3f4e7e0d..ec68d685 100644 --- a/sdk/go/scaleway/getConfig.go +++ b/sdk/go/scaleway/getConfig.go @@ -39,18 +39,8 @@ type GetConfigResult struct { func GetConfigOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetConfigResultOutput { return pulumi.ToOutput(0).ApplyT(func(int) (GetConfigResultOutput, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetConfigResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getConfig:getConfig", nil, &rv, "", opts...) - if err != nil { - return GetConfigResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetConfigResultOutput) - if secret { - return pulumi.ToSecret(output).(GetConfigResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getConfig:getConfig", nil, GetConfigResultOutput{}, options).(GetConfigResultOutput), nil }).(GetConfigResultOutput) } diff --git a/sdk/go/scaleway/getContainer.go b/sdk/go/scaleway/getContainer.go index 85d3fbd5..424ac15d 100644 --- a/sdk/go/scaleway/getContainer.go +++ b/sdk/go/scaleway/getContainer.go @@ -147,21 +147,11 @@ type LookupContainerResult struct { } func LookupContainerOutput(ctx *pulumi.Context, args LookupContainerOutputArgs, opts ...pulumi.InvokeOption) LookupContainerResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupContainerResultOutput, error) { args := v.(LookupContainerArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupContainerResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getContainer:getContainer", args, &rv, "", opts...) - if err != nil { - return LookupContainerResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupContainerResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupContainerResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getContainer:getContainer", args, LookupContainerResultOutput{}, options).(LookupContainerResultOutput), nil }).(LookupContainerResultOutput) } diff --git a/sdk/go/scaleway/getContainerNamespace.go b/sdk/go/scaleway/getContainerNamespace.go index b67ef794..f91a6100 100644 --- a/sdk/go/scaleway/getContainerNamespace.go +++ b/sdk/go/scaleway/getContainerNamespace.go @@ -99,21 +99,11 @@ type LookupContainerNamespaceResult struct { } func LookupContainerNamespaceOutput(ctx *pulumi.Context, args LookupContainerNamespaceOutputArgs, opts ...pulumi.InvokeOption) LookupContainerNamespaceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupContainerNamespaceResultOutput, error) { args := v.(LookupContainerNamespaceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupContainerNamespaceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getContainerNamespace:getContainerNamespace", args, &rv, "", opts...) - if err != nil { - return LookupContainerNamespaceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupContainerNamespaceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupContainerNamespaceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getContainerNamespace:getContainerNamespace", args, LookupContainerNamespaceResultOutput{}, options).(LookupContainerNamespaceResultOutput), nil }).(LookupContainerNamespaceResultOutput) } diff --git a/sdk/go/scaleway/getDatabase.go b/sdk/go/scaleway/getDatabase.go index 5197f0cb..388b3312 100644 --- a/sdk/go/scaleway/getDatabase.go +++ b/sdk/go/scaleway/getDatabase.go @@ -75,21 +75,11 @@ type LookupDatabaseResult struct { } func LookupDatabaseOutput(ctx *pulumi.Context, args LookupDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDatabaseResultOutput, error) { args := v.(LookupDatabaseArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDatabaseResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDatabase:getDatabase", args, &rv, "", opts...) - if err != nil { - return LookupDatabaseResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDatabaseResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDatabaseResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDatabase:getDatabase", args, LookupDatabaseResultOutput{}, options).(LookupDatabaseResultOutput), nil }).(LookupDatabaseResultOutput) } diff --git a/sdk/go/scaleway/getDatabaseAcl.go b/sdk/go/scaleway/getDatabaseAcl.go index cf680671..8e356349 100644 --- a/sdk/go/scaleway/getDatabaseAcl.go +++ b/sdk/go/scaleway/getDatabaseAcl.go @@ -68,21 +68,11 @@ type LookupDatabaseAclResult struct { } func LookupDatabaseAclOutput(ctx *pulumi.Context, args LookupDatabaseAclOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseAclResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDatabaseAclResultOutput, error) { args := v.(LookupDatabaseAclArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDatabaseAclResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDatabaseAcl:getDatabaseAcl", args, &rv, "", opts...) - if err != nil { - return LookupDatabaseAclResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDatabaseAclResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDatabaseAclResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDatabaseAcl:getDatabaseAcl", args, LookupDatabaseAclResultOutput{}, options).(LookupDatabaseAclResultOutput), nil }).(LookupDatabaseAclResultOutput) } diff --git a/sdk/go/scaleway/getDatabaseBackup.go b/sdk/go/scaleway/getDatabaseBackup.go index 18351d92..c4e1f1b2 100644 --- a/sdk/go/scaleway/getDatabaseBackup.go +++ b/sdk/go/scaleway/getDatabaseBackup.go @@ -95,21 +95,11 @@ type LookupDatabaseBackupResult struct { } func LookupDatabaseBackupOutput(ctx *pulumi.Context, args LookupDatabaseBackupOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseBackupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDatabaseBackupResultOutput, error) { args := v.(LookupDatabaseBackupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDatabaseBackupResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDatabaseBackup:getDatabaseBackup", args, &rv, "", opts...) - if err != nil { - return LookupDatabaseBackupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDatabaseBackupResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDatabaseBackupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDatabaseBackup:getDatabaseBackup", args, LookupDatabaseBackupResultOutput{}, options).(LookupDatabaseBackupResultOutput), nil }).(LookupDatabaseBackupResultOutput) } diff --git a/sdk/go/scaleway/getDatabaseInstance.go b/sdk/go/scaleway/getDatabaseInstance.go index 72a8ccfc..9cd2dff7 100644 --- a/sdk/go/scaleway/getDatabaseInstance.go +++ b/sdk/go/scaleway/getDatabaseInstance.go @@ -72,21 +72,11 @@ type LookupDatabaseInstanceResult struct { } func LookupDatabaseInstanceOutput(ctx *pulumi.Context, args LookupDatabaseInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseInstanceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDatabaseInstanceResultOutput, error) { args := v.(LookupDatabaseInstanceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDatabaseInstanceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDatabaseInstance:getDatabaseInstance", args, &rv, "", opts...) - if err != nil { - return LookupDatabaseInstanceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDatabaseInstanceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDatabaseInstanceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDatabaseInstance:getDatabaseInstance", args, LookupDatabaseInstanceResultOutput{}, options).(LookupDatabaseInstanceResultOutput), nil }).(LookupDatabaseInstanceResultOutput) } diff --git a/sdk/go/scaleway/getDatabasePrivilege.go b/sdk/go/scaleway/getDatabasePrivilege.go index 4ac72a78..32f0fdc7 100644 --- a/sdk/go/scaleway/getDatabasePrivilege.go +++ b/sdk/go/scaleway/getDatabasePrivilege.go @@ -77,21 +77,11 @@ type LookupDatabasePrivilegeResult struct { } func LookupDatabasePrivilegeOutput(ctx *pulumi.Context, args LookupDatabasePrivilegeOutputArgs, opts ...pulumi.InvokeOption) LookupDatabasePrivilegeResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDatabasePrivilegeResultOutput, error) { args := v.(LookupDatabasePrivilegeArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDatabasePrivilegeResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDatabasePrivilege:getDatabasePrivilege", args, &rv, "", opts...) - if err != nil { - return LookupDatabasePrivilegeResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDatabasePrivilegeResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDatabasePrivilegeResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDatabasePrivilege:getDatabasePrivilege", args, LookupDatabasePrivilegeResultOutput{}, options).(LookupDatabasePrivilegeResultOutput), nil }).(LookupDatabasePrivilegeResultOutput) } diff --git a/sdk/go/scaleway/getDomainRecord.go b/sdk/go/scaleway/getDomainRecord.go index c3e6a130..76c43ddb 100644 --- a/sdk/go/scaleway/getDomainRecord.go +++ b/sdk/go/scaleway/getDomainRecord.go @@ -111,21 +111,11 @@ type LookupDomainRecordResult struct { } func LookupDomainRecordOutput(ctx *pulumi.Context, args LookupDomainRecordOutputArgs, opts ...pulumi.InvokeOption) LookupDomainRecordResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDomainRecordResultOutput, error) { args := v.(LookupDomainRecordArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDomainRecordResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDomainRecord:getDomainRecord", args, &rv, "", opts...) - if err != nil { - return LookupDomainRecordResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDomainRecordResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDomainRecordResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDomainRecord:getDomainRecord", args, LookupDomainRecordResultOutput{}, options).(LookupDomainRecordResultOutput), nil }).(LookupDomainRecordResultOutput) } diff --git a/sdk/go/scaleway/getDomainZone.go b/sdk/go/scaleway/getDomainZone.go index 835a399e..68bb5e91 100644 --- a/sdk/go/scaleway/getDomainZone.go +++ b/sdk/go/scaleway/getDomainZone.go @@ -51,21 +51,11 @@ type LookupDomainZoneResult struct { } func LookupDomainZoneOutput(ctx *pulumi.Context, args LookupDomainZoneOutputArgs, opts ...pulumi.InvokeOption) LookupDomainZoneResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupDomainZoneResultOutput, error) { args := v.(LookupDomainZoneArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDomainZoneResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDomainZone:getDomainZone", args, &rv, "", opts...) - if err != nil { - return LookupDomainZoneResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDomainZoneResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDomainZoneResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getDomainZone:getDomainZone", args, LookupDomainZoneResultOutput{}, options).(LookupDomainZoneResultOutput), nil }).(LookupDomainZoneResultOutput) } diff --git a/sdk/go/scaleway/getFlexibleIp.go b/sdk/go/scaleway/getFlexibleIp.go index cb3eb4e5..52ded692 100644 --- a/sdk/go/scaleway/getFlexibleIp.go +++ b/sdk/go/scaleway/getFlexibleIp.go @@ -56,21 +56,11 @@ type LookupFlexibleIpResult struct { } func LookupFlexibleIpOutput(ctx *pulumi.Context, args LookupFlexibleIpOutputArgs, opts ...pulumi.InvokeOption) LookupFlexibleIpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupFlexibleIpResultOutput, error) { args := v.(LookupFlexibleIpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupFlexibleIpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getFlexibleIp:getFlexibleIp", args, &rv, "", opts...) - if err != nil { - return LookupFlexibleIpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupFlexibleIpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupFlexibleIpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getFlexibleIp:getFlexibleIp", args, LookupFlexibleIpResultOutput{}, options).(LookupFlexibleIpResultOutput), nil }).(LookupFlexibleIpResultOutput) } diff --git a/sdk/go/scaleway/getFlexibleIps.go b/sdk/go/scaleway/getFlexibleIps.go index 9a7993c7..5debee96 100644 --- a/sdk/go/scaleway/getFlexibleIps.go +++ b/sdk/go/scaleway/getFlexibleIps.go @@ -121,21 +121,11 @@ type GetFlexibleIpsResult struct { } func GetFlexibleIpsOutput(ctx *pulumi.Context, args GetFlexibleIpsOutputArgs, opts ...pulumi.InvokeOption) GetFlexibleIpsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetFlexibleIpsResultOutput, error) { args := v.(GetFlexibleIpsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetFlexibleIpsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getFlexibleIps:getFlexibleIps", args, &rv, "", opts...) - if err != nil { - return GetFlexibleIpsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetFlexibleIpsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetFlexibleIpsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getFlexibleIps:getFlexibleIps", args, GetFlexibleIpsResultOutput{}, options).(GetFlexibleIpsResultOutput), nil }).(GetFlexibleIpsResultOutput) } diff --git a/sdk/go/scaleway/getFunction.go b/sdk/go/scaleway/getFunction.go index db934f00..5b4e41f3 100644 --- a/sdk/go/scaleway/getFunction.go +++ b/sdk/go/scaleway/getFunction.go @@ -70,21 +70,11 @@ type LookupFunctionResult struct { } func LookupFunctionOutput(ctx *pulumi.Context, args LookupFunctionOutputArgs, opts ...pulumi.InvokeOption) LookupFunctionResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupFunctionResultOutput, error) { args := v.(LookupFunctionArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupFunctionResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getFunction:getFunction", args, &rv, "", opts...) - if err != nil { - return LookupFunctionResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupFunctionResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupFunctionResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getFunction:getFunction", args, LookupFunctionResultOutput{}, options).(LookupFunctionResultOutput), nil }).(LookupFunctionResultOutput) } diff --git a/sdk/go/scaleway/getFunctionNamespace.go b/sdk/go/scaleway/getFunctionNamespace.go index 4650fc87..3a85d33e 100644 --- a/sdk/go/scaleway/getFunctionNamespace.go +++ b/sdk/go/scaleway/getFunctionNamespace.go @@ -59,21 +59,11 @@ type LookupFunctionNamespaceResult struct { } func LookupFunctionNamespaceOutput(ctx *pulumi.Context, args LookupFunctionNamespaceOutputArgs, opts ...pulumi.InvokeOption) LookupFunctionNamespaceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupFunctionNamespaceResultOutput, error) { args := v.(LookupFunctionNamespaceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupFunctionNamespaceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getFunctionNamespace:getFunctionNamespace", args, &rv, "", opts...) - if err != nil { - return LookupFunctionNamespaceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupFunctionNamespaceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupFunctionNamespaceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getFunctionNamespace:getFunctionNamespace", args, LookupFunctionNamespaceResultOutput{}, options).(LookupFunctionNamespaceResultOutput), nil }).(LookupFunctionNamespaceResultOutput) } diff --git a/sdk/go/scaleway/getIamApiKey.go b/sdk/go/scaleway/getIamApiKey.go index bb3d1370..901f7e7b 100644 --- a/sdk/go/scaleway/getIamApiKey.go +++ b/sdk/go/scaleway/getIamApiKey.go @@ -72,21 +72,11 @@ type LookupIamApiKeyResult struct { } func LookupIamApiKeyOutput(ctx *pulumi.Context, args LookupIamApiKeyOutputArgs, opts ...pulumi.InvokeOption) LookupIamApiKeyResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamApiKeyResultOutput, error) { args := v.(LookupIamApiKeyArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamApiKeyResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIamApiKey:getIamApiKey", args, &rv, "", opts...) - if err != nil { - return LookupIamApiKeyResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamApiKeyResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamApiKeyResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIamApiKey:getIamApiKey", args, LookupIamApiKeyResultOutput{}, options).(LookupIamApiKeyResultOutput), nil }).(LookupIamApiKeyResultOutput) } diff --git a/sdk/go/scaleway/getIamApplication.go b/sdk/go/scaleway/getIamApplication.go index 43058a02..fd281052 100644 --- a/sdk/go/scaleway/getIamApplication.go +++ b/sdk/go/scaleway/getIamApplication.go @@ -84,21 +84,11 @@ type LookupIamApplicationResult struct { } func LookupIamApplicationOutput(ctx *pulumi.Context, args LookupIamApplicationOutputArgs, opts ...pulumi.InvokeOption) LookupIamApplicationResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamApplicationResultOutput, error) { args := v.(LookupIamApplicationArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamApplicationResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIamApplication:getIamApplication", args, &rv, "", opts...) - if err != nil { - return LookupIamApplicationResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamApplicationResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamApplicationResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIamApplication:getIamApplication", args, LookupIamApplicationResultOutput{}, options).(LookupIamApplicationResultOutput), nil }).(LookupIamApplicationResultOutput) } diff --git a/sdk/go/scaleway/getIamGroup.go b/sdk/go/scaleway/getIamGroup.go index e7f06120..675e8264 100644 --- a/sdk/go/scaleway/getIamGroup.go +++ b/sdk/go/scaleway/getIamGroup.go @@ -88,21 +88,11 @@ type LookupIamGroupResult struct { } func LookupIamGroupOutput(ctx *pulumi.Context, args LookupIamGroupOutputArgs, opts ...pulumi.InvokeOption) LookupIamGroupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamGroupResultOutput, error) { args := v.(LookupIamGroupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamGroupResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIamGroup:getIamGroup", args, &rv, "", opts...) - if err != nil { - return LookupIamGroupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamGroupResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamGroupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIamGroup:getIamGroup", args, LookupIamGroupResultOutput{}, options).(LookupIamGroupResultOutput), nil }).(LookupIamGroupResultOutput) } diff --git a/sdk/go/scaleway/getIamSshKey.go b/sdk/go/scaleway/getIamSshKey.go index 0dc54b08..faa7a892 100644 --- a/sdk/go/scaleway/getIamSshKey.go +++ b/sdk/go/scaleway/getIamSshKey.go @@ -56,21 +56,11 @@ type LookupIamSshKeyResult struct { } func LookupIamSshKeyOutput(ctx *pulumi.Context, args LookupIamSshKeyOutputArgs, opts ...pulumi.InvokeOption) LookupIamSshKeyResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamSshKeyResultOutput, error) { args := v.(LookupIamSshKeyArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamSshKeyResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIamSshKey:getIamSshKey", args, &rv, "", opts...) - if err != nil { - return LookupIamSshKeyResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamSshKeyResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamSshKeyResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIamSshKey:getIamSshKey", args, LookupIamSshKeyResultOutput{}, options).(LookupIamSshKeyResultOutput), nil }).(LookupIamSshKeyResultOutput) } diff --git a/sdk/go/scaleway/getIamUser.go b/sdk/go/scaleway/getIamUser.go index f0ecfbc9..e1f2d512 100644 --- a/sdk/go/scaleway/getIamUser.go +++ b/sdk/go/scaleway/getIamUser.go @@ -84,21 +84,11 @@ type LookupIamUserResult struct { } func LookupIamUserOutput(ctx *pulumi.Context, args LookupIamUserOutputArgs, opts ...pulumi.InvokeOption) LookupIamUserResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIamUserResultOutput, error) { args := v.(LookupIamUserArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIamUserResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIamUser:getIamUser", args, &rv, "", opts...) - if err != nil { - return LookupIamUserResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIamUserResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIamUserResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIamUser:getIamUser", args, LookupIamUserResultOutput{}, options).(LookupIamUserResultOutput), nil }).(LookupIamUserResultOutput) } diff --git a/sdk/go/scaleway/getInstanceImage.go b/sdk/go/scaleway/getInstanceImage.go index c51100d0..f83090d6 100644 --- a/sdk/go/scaleway/getInstanceImage.go +++ b/sdk/go/scaleway/getInstanceImage.go @@ -70,21 +70,11 @@ type LookupInstanceImageResult struct { } func LookupInstanceImageOutput(ctx *pulumi.Context, args LookupInstanceImageOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceImageResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceImageResultOutput, error) { args := v.(LookupInstanceImageArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceImageResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceImage:getInstanceImage", args, &rv, "", opts...) - if err != nil { - return LookupInstanceImageResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceImageResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceImageResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceImage:getInstanceImage", args, LookupInstanceImageResultOutput{}, options).(LookupInstanceImageResultOutput), nil }).(LookupInstanceImageResultOutput) } diff --git a/sdk/go/scaleway/getInstanceIp.go b/sdk/go/scaleway/getInstanceIp.go index fb9e5c92..2f69d449 100644 --- a/sdk/go/scaleway/getInstanceIp.go +++ b/sdk/go/scaleway/getInstanceIp.go @@ -53,21 +53,11 @@ type LookupInstanceIpResult struct { } func LookupInstanceIpOutput(ctx *pulumi.Context, args LookupInstanceIpOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceIpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceIpResultOutput, error) { args := v.(LookupInstanceIpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceIpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceIp:getInstanceIp", args, &rv, "", opts...) - if err != nil { - return LookupInstanceIpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceIpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceIpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceIp:getInstanceIp", args, LookupInstanceIpResultOutput{}, options).(LookupInstanceIpResultOutput), nil }).(LookupInstanceIpResultOutput) } diff --git a/sdk/go/scaleway/getInstancePlacementGroup.go b/sdk/go/scaleway/getInstancePlacementGroup.go index b48401a3..3c0dcb90 100644 --- a/sdk/go/scaleway/getInstancePlacementGroup.go +++ b/sdk/go/scaleway/getInstancePlacementGroup.go @@ -55,21 +55,11 @@ type LookupInstancePlacementGroupResult struct { } func LookupInstancePlacementGroupOutput(ctx *pulumi.Context, args LookupInstancePlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupInstancePlacementGroupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstancePlacementGroupResultOutput, error) { args := v.(LookupInstancePlacementGroupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstancePlacementGroupResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup", args, &rv, "", opts...) - if err != nil { - return LookupInstancePlacementGroupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstancePlacementGroupResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstancePlacementGroupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup", args, LookupInstancePlacementGroupResultOutput{}, options).(LookupInstancePlacementGroupResultOutput), nil }).(LookupInstancePlacementGroupResultOutput) } diff --git a/sdk/go/scaleway/getInstancePrivateNic.go b/sdk/go/scaleway/getInstancePrivateNic.go index 349eb2e8..f14c2ffe 100644 --- a/sdk/go/scaleway/getInstancePrivateNic.go +++ b/sdk/go/scaleway/getInstancePrivateNic.go @@ -97,21 +97,11 @@ type LookupInstancePrivateNicResult struct { } func LookupInstancePrivateNicOutput(ctx *pulumi.Context, args LookupInstancePrivateNicOutputArgs, opts ...pulumi.InvokeOption) LookupInstancePrivateNicResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstancePrivateNicResultOutput, error) { args := v.(LookupInstancePrivateNicArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstancePrivateNicResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstancePrivateNic:getInstancePrivateNic", args, &rv, "", opts...) - if err != nil { - return LookupInstancePrivateNicResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstancePrivateNicResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstancePrivateNicResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstancePrivateNic:getInstancePrivateNic", args, LookupInstancePrivateNicResultOutput{}, options).(LookupInstancePrivateNicResultOutput), nil }).(LookupInstancePrivateNicResultOutput) } diff --git a/sdk/go/scaleway/getInstanceSecurityGroup.go b/sdk/go/scaleway/getInstanceSecurityGroup.go index db58137d..1f63562e 100644 --- a/sdk/go/scaleway/getInstanceSecurityGroup.go +++ b/sdk/go/scaleway/getInstanceSecurityGroup.go @@ -60,21 +60,11 @@ type LookupInstanceSecurityGroupResult struct { } func LookupInstanceSecurityGroupOutput(ctx *pulumi.Context, args LookupInstanceSecurityGroupOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceSecurityGroupResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceSecurityGroupResultOutput, error) { args := v.(LookupInstanceSecurityGroupArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceSecurityGroupResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup", args, &rv, "", opts...) - if err != nil { - return LookupInstanceSecurityGroupResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceSecurityGroupResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceSecurityGroupResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup", args, LookupInstanceSecurityGroupResultOutput{}, options).(LookupInstanceSecurityGroupResultOutput), nil }).(LookupInstanceSecurityGroupResultOutput) } diff --git a/sdk/go/scaleway/getInstanceServer.go b/sdk/go/scaleway/getInstanceServer.go index 9813717c..3f8365ce 100644 --- a/sdk/go/scaleway/getInstanceServer.go +++ b/sdk/go/scaleway/getInstanceServer.go @@ -94,21 +94,11 @@ type LookupInstanceServerResult struct { } func LookupInstanceServerOutput(ctx *pulumi.Context, args LookupInstanceServerOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceServerResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceServerResultOutput, error) { args := v.(LookupInstanceServerArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceServerResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceServer:getInstanceServer", args, &rv, "", opts...) - if err != nil { - return LookupInstanceServerResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceServerResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceServerResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceServer:getInstanceServer", args, LookupInstanceServerResultOutput{}, options).(LookupInstanceServerResultOutput), nil }).(LookupInstanceServerResultOutput) } diff --git a/sdk/go/scaleway/getInstanceServers.go b/sdk/go/scaleway/getInstanceServers.go index 0616643f..3a1480be 100644 --- a/sdk/go/scaleway/getInstanceServers.go +++ b/sdk/go/scaleway/getInstanceServers.go @@ -55,21 +55,11 @@ type GetInstanceServersResult struct { } func GetInstanceServersOutput(ctx *pulumi.Context, args GetInstanceServersOutputArgs, opts ...pulumi.InvokeOption) GetInstanceServersResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetInstanceServersResultOutput, error) { args := v.(GetInstanceServersArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetInstanceServersResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceServers:getInstanceServers", args, &rv, "", opts...) - if err != nil { - return GetInstanceServersResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetInstanceServersResultOutput) - if secret { - return pulumi.ToSecret(output).(GetInstanceServersResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceServers:getInstanceServers", args, GetInstanceServersResultOutput{}, options).(GetInstanceServersResultOutput), nil }).(GetInstanceServersResultOutput) } diff --git a/sdk/go/scaleway/getInstanceSnapshot.go b/sdk/go/scaleway/getInstanceSnapshot.go index 0f377cc4..21d41e4d 100644 --- a/sdk/go/scaleway/getInstanceSnapshot.go +++ b/sdk/go/scaleway/getInstanceSnapshot.go @@ -88,21 +88,11 @@ type LookupInstanceSnapshotResult struct { } func LookupInstanceSnapshotOutput(ctx *pulumi.Context, args LookupInstanceSnapshotOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceSnapshotResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceSnapshotResultOutput, error) { args := v.(LookupInstanceSnapshotArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceSnapshotResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceSnapshot:getInstanceSnapshot", args, &rv, "", opts...) - if err != nil { - return LookupInstanceSnapshotResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceSnapshotResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceSnapshotResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceSnapshot:getInstanceSnapshot", args, LookupInstanceSnapshotResultOutput{}, options).(LookupInstanceSnapshotResultOutput), nil }).(LookupInstanceSnapshotResultOutput) } diff --git a/sdk/go/scaleway/getInstanceVolume.go b/sdk/go/scaleway/getInstanceVolume.go index 49504922..e50b8cd6 100644 --- a/sdk/go/scaleway/getInstanceVolume.go +++ b/sdk/go/scaleway/getInstanceVolume.go @@ -54,21 +54,11 @@ type LookupInstanceVolumeResult struct { } func LookupInstanceVolumeOutput(ctx *pulumi.Context, args LookupInstanceVolumeOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceVolumeResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupInstanceVolumeResultOutput, error) { args := v.(LookupInstanceVolumeArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupInstanceVolumeResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getInstanceVolume:getInstanceVolume", args, &rv, "", opts...) - if err != nil { - return LookupInstanceVolumeResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupInstanceVolumeResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupInstanceVolumeResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getInstanceVolume:getInstanceVolume", args, LookupInstanceVolumeResultOutput{}, options).(LookupInstanceVolumeResultOutput), nil }).(LookupInstanceVolumeResultOutput) } diff --git a/sdk/go/scaleway/getIotDevice.go b/sdk/go/scaleway/getIotDevice.go index c943f025..b0277326 100644 --- a/sdk/go/scaleway/getIotDevice.go +++ b/sdk/go/scaleway/getIotDevice.go @@ -57,21 +57,11 @@ type LookupIotDeviceResult struct { } func LookupIotDeviceOutput(ctx *pulumi.Context, args LookupIotDeviceOutputArgs, opts ...pulumi.InvokeOption) LookupIotDeviceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIotDeviceResultOutput, error) { args := v.(LookupIotDeviceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIotDeviceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIotDevice:getIotDevice", args, &rv, "", opts...) - if err != nil { - return LookupIotDeviceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIotDeviceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIotDeviceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIotDevice:getIotDevice", args, LookupIotDeviceResultOutput{}, options).(LookupIotDeviceResultOutput), nil }).(LookupIotDeviceResultOutput) } diff --git a/sdk/go/scaleway/getIotHub.go b/sdk/go/scaleway/getIotHub.go index 364f0540..85133fc1 100644 --- a/sdk/go/scaleway/getIotHub.go +++ b/sdk/go/scaleway/getIotHub.go @@ -63,21 +63,11 @@ type LookupIotHubResult struct { } func LookupIotHubOutput(ctx *pulumi.Context, args LookupIotHubOutputArgs, opts ...pulumi.InvokeOption) LookupIotHubResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIotHubResultOutput, error) { args := v.(LookupIotHubArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIotHubResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIotHub:getIotHub", args, &rv, "", opts...) - if err != nil { - return LookupIotHubResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIotHubResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIotHubResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIotHub:getIotHub", args, LookupIotHubResultOutput{}, options).(LookupIotHubResultOutput), nil }).(LookupIotHubResultOutput) } diff --git a/sdk/go/scaleway/getIpamIp.go b/sdk/go/scaleway/getIpamIp.go index be4576e9..a316013c 100644 --- a/sdk/go/scaleway/getIpamIp.go +++ b/sdk/go/scaleway/getIpamIp.go @@ -191,21 +191,11 @@ type LookupIpamIpResult struct { } func LookupIpamIpOutput(ctx *pulumi.Context, args LookupIpamIpOutputArgs, opts ...pulumi.InvokeOption) LookupIpamIpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupIpamIpResultOutput, error) { args := v.(LookupIpamIpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupIpamIpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIpamIp:getIpamIp", args, &rv, "", opts...) - if err != nil { - return LookupIpamIpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupIpamIpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupIpamIpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIpamIp:getIpamIp", args, LookupIpamIpResultOutput{}, options).(LookupIpamIpResultOutput), nil }).(LookupIpamIpResultOutput) } diff --git a/sdk/go/scaleway/getIpamIps.go b/sdk/go/scaleway/getIpamIps.go index 2fd2294b..f80befaa 100644 --- a/sdk/go/scaleway/getIpamIps.go +++ b/sdk/go/scaleway/getIpamIps.go @@ -159,21 +159,11 @@ type GetIpamIpsResult struct { } func GetIpamIpsOutput(ctx *pulumi.Context, args GetIpamIpsOutputArgs, opts ...pulumi.InvokeOption) GetIpamIpsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetIpamIpsResultOutput, error) { args := v.(GetIpamIpsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetIpamIpsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getIpamIps:getIpamIps", args, &rv, "", opts...) - if err != nil { - return GetIpamIpsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetIpamIpsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetIpamIpsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getIpamIps:getIpamIps", args, GetIpamIpsResultOutput{}, options).(GetIpamIpsResultOutput), nil }).(GetIpamIpsResultOutput) } diff --git a/sdk/go/scaleway/getK8sVersion.go b/sdk/go/scaleway/getK8sVersion.go index 90cfdf27..252ce7b2 100644 --- a/sdk/go/scaleway/getK8sVersion.go +++ b/sdk/go/scaleway/getK8sVersion.go @@ -102,21 +102,11 @@ type GetK8sVersionResult struct { } func GetK8sVersionOutput(ctx *pulumi.Context, args GetK8sVersionOutputArgs, opts ...pulumi.InvokeOption) GetK8sVersionResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetK8sVersionResultOutput, error) { args := v.(GetK8sVersionArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetK8sVersionResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getK8sVersion:getK8sVersion", args, &rv, "", opts...) - if err != nil { - return GetK8sVersionResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetK8sVersionResultOutput) - if secret { - return pulumi.ToSecret(output).(GetK8sVersionResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getK8sVersion:getK8sVersion", args, GetK8sVersionResultOutput{}, options).(GetK8sVersionResultOutput), nil }).(GetK8sVersionResultOutput) } diff --git a/sdk/go/scaleway/getKubernetesCluster.go b/sdk/go/scaleway/getKubernetesCluster.go index 7b92680c..ce1397f9 100644 --- a/sdk/go/scaleway/getKubernetesCluster.go +++ b/sdk/go/scaleway/getKubernetesCluster.go @@ -83,21 +83,11 @@ type LookupKubernetesClusterResult struct { } func LookupKubernetesClusterOutput(ctx *pulumi.Context, args LookupKubernetesClusterOutputArgs, opts ...pulumi.InvokeOption) LookupKubernetesClusterResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupKubernetesClusterResultOutput, error) { args := v.(LookupKubernetesClusterArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupKubernetesClusterResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getKubernetesCluster:getKubernetesCluster", args, &rv, "", opts...) - if err != nil { - return LookupKubernetesClusterResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupKubernetesClusterResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupKubernetesClusterResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getKubernetesCluster:getKubernetesCluster", args, LookupKubernetesClusterResultOutput{}, options).(LookupKubernetesClusterResultOutput), nil }).(LookupKubernetesClusterResultOutput) } diff --git a/sdk/go/scaleway/getKubernetesNodePool.go b/sdk/go/scaleway/getKubernetesNodePool.go index 3f437aca..223b531e 100644 --- a/sdk/go/scaleway/getKubernetesNodePool.go +++ b/sdk/go/scaleway/getKubernetesNodePool.go @@ -84,21 +84,11 @@ type LookupKubernetesNodePoolResult struct { } func LookupKubernetesNodePoolOutput(ctx *pulumi.Context, args LookupKubernetesNodePoolOutputArgs, opts ...pulumi.InvokeOption) LookupKubernetesNodePoolResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupKubernetesNodePoolResultOutput, error) { args := v.(LookupKubernetesNodePoolArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupKubernetesNodePoolResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getKubernetesNodePool:getKubernetesNodePool", args, &rv, "", opts...) - if err != nil { - return LookupKubernetesNodePoolResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupKubernetesNodePoolResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupKubernetesNodePoolResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getKubernetesNodePool:getKubernetesNodePool", args, LookupKubernetesNodePoolResultOutput{}, options).(LookupKubernetesNodePoolResultOutput), nil }).(LookupKubernetesNodePoolResultOutput) } diff --git a/sdk/go/scaleway/getLbAcls.go b/sdk/go/scaleway/getLbAcls.go index 158100f2..fecd91d8 100644 --- a/sdk/go/scaleway/getLbAcls.go +++ b/sdk/go/scaleway/getLbAcls.go @@ -85,21 +85,11 @@ type GetLbAclsResult struct { } func GetLbAclsOutput(ctx *pulumi.Context, args GetLbAclsOutputArgs, opts ...pulumi.InvokeOption) GetLbAclsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbAclsResultOutput, error) { args := v.(GetLbAclsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbAclsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbAcls:getLbAcls", args, &rv, "", opts...) - if err != nil { - return GetLbAclsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbAclsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbAclsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbAcls:getLbAcls", args, GetLbAclsResultOutput{}, options).(GetLbAclsResultOutput), nil }).(GetLbAclsResultOutput) } diff --git a/sdk/go/scaleway/getLbBackend.go b/sdk/go/scaleway/getLbBackend.go index a5b8327f..8d0306f0 100644 --- a/sdk/go/scaleway/getLbBackend.go +++ b/sdk/go/scaleway/getLbBackend.go @@ -122,21 +122,11 @@ type GetLbBackendResult struct { } func GetLbBackendOutput(ctx *pulumi.Context, args GetLbBackendOutputArgs, opts ...pulumi.InvokeOption) GetLbBackendResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbBackendResultOutput, error) { args := v.(GetLbBackendArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbBackendResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbBackend:getLbBackend", args, &rv, "", opts...) - if err != nil { - return GetLbBackendResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbBackendResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbBackendResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbBackend:getLbBackend", args, GetLbBackendResultOutput{}, options).(GetLbBackendResultOutput), nil }).(GetLbBackendResultOutput) } diff --git a/sdk/go/scaleway/getLbBackends.go b/sdk/go/scaleway/getLbBackends.go index c60712c4..c274791e 100644 --- a/sdk/go/scaleway/getLbBackends.go +++ b/sdk/go/scaleway/getLbBackends.go @@ -84,21 +84,11 @@ type GetLbBackendsResult struct { } func GetLbBackendsOutput(ctx *pulumi.Context, args GetLbBackendsOutputArgs, opts ...pulumi.InvokeOption) GetLbBackendsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbBackendsResultOutput, error) { args := v.(GetLbBackendsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbBackendsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbBackends:getLbBackends", args, &rv, "", opts...) - if err != nil { - return GetLbBackendsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbBackendsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbBackendsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbBackends:getLbBackends", args, GetLbBackendsResultOutput{}, options).(GetLbBackendsResultOutput), nil }).(GetLbBackendsResultOutput) } diff --git a/sdk/go/scaleway/getLbFrontend.go b/sdk/go/scaleway/getLbFrontend.go index 7b81c2c9..5693e3f5 100644 --- a/sdk/go/scaleway/getLbFrontend.go +++ b/sdk/go/scaleway/getLbFrontend.go @@ -110,21 +110,11 @@ type GetLbFrontendResult struct { } func GetLbFrontendOutput(ctx *pulumi.Context, args GetLbFrontendOutputArgs, opts ...pulumi.InvokeOption) GetLbFrontendResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbFrontendResultOutput, error) { args := v.(GetLbFrontendArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbFrontendResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbFrontend:getLbFrontend", args, &rv, "", opts...) - if err != nil { - return GetLbFrontendResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbFrontendResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbFrontendResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbFrontend:getLbFrontend", args, GetLbFrontendResultOutput{}, options).(GetLbFrontendResultOutput), nil }).(GetLbFrontendResultOutput) } diff --git a/sdk/go/scaleway/getLbFrontends.go b/sdk/go/scaleway/getLbFrontends.go index cad1fe7c..df416df9 100644 --- a/sdk/go/scaleway/getLbFrontends.go +++ b/sdk/go/scaleway/getLbFrontends.go @@ -84,21 +84,11 @@ type GetLbFrontendsResult struct { } func GetLbFrontendsOutput(ctx *pulumi.Context, args GetLbFrontendsOutputArgs, opts ...pulumi.InvokeOption) GetLbFrontendsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbFrontendsResultOutput, error) { args := v.(GetLbFrontendsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbFrontendsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbFrontends:getLbFrontends", args, &rv, "", opts...) - if err != nil { - return GetLbFrontendsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbFrontendsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbFrontendsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbFrontends:getLbFrontends", args, GetLbFrontendsResultOutput{}, options).(GetLbFrontendsResultOutput), nil }).(GetLbFrontendsResultOutput) } diff --git a/sdk/go/scaleway/getLbIps.go b/sdk/go/scaleway/getLbIps.go index 1b2148a5..87b41b30 100644 --- a/sdk/go/scaleway/getLbIps.go +++ b/sdk/go/scaleway/getLbIps.go @@ -56,21 +56,11 @@ type GetLbIpsResult struct { } func GetLbIpsOutput(ctx *pulumi.Context, args GetLbIpsOutputArgs, opts ...pulumi.InvokeOption) GetLbIpsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbIpsResultOutput, error) { args := v.(GetLbIpsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbIpsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbIps:getLbIps", args, &rv, "", opts...) - if err != nil { - return GetLbIpsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbIpsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbIpsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbIps:getLbIps", args, GetLbIpsResultOutput{}, options).(GetLbIpsResultOutput), nil }).(GetLbIpsResultOutput) } diff --git a/sdk/go/scaleway/getLbRoute.go b/sdk/go/scaleway/getLbRoute.go index 3bd6f47a..47bb60d3 100644 --- a/sdk/go/scaleway/getLbRoute.go +++ b/sdk/go/scaleway/getLbRoute.go @@ -104,21 +104,11 @@ type GetLbRouteResult struct { } func GetLbRouteOutput(ctx *pulumi.Context, args GetLbRouteOutputArgs, opts ...pulumi.InvokeOption) GetLbRouteResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbRouteResultOutput, error) { args := v.(GetLbRouteArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbRouteResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbRoute:getLbRoute", args, &rv, "", opts...) - if err != nil { - return GetLbRouteResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbRouteResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbRouteResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbRoute:getLbRoute", args, GetLbRouteResultOutput{}, options).(GetLbRouteResultOutput), nil }).(GetLbRouteResultOutput) } diff --git a/sdk/go/scaleway/getLbRoutes.go b/sdk/go/scaleway/getLbRoutes.go index a3cc0862..3cd456f7 100644 --- a/sdk/go/scaleway/getLbRoutes.go +++ b/sdk/go/scaleway/getLbRoutes.go @@ -81,21 +81,11 @@ type GetLbRoutesResult struct { } func GetLbRoutesOutput(ctx *pulumi.Context, args GetLbRoutesOutputArgs, opts ...pulumi.InvokeOption) GetLbRoutesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbRoutesResultOutput, error) { args := v.(GetLbRoutesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbRoutesResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbRoutes:getLbRoutes", args, &rv, "", opts...) - if err != nil { - return GetLbRoutesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbRoutesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbRoutesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbRoutes:getLbRoutes", args, GetLbRoutesResultOutput{}, options).(GetLbRoutesResultOutput), nil }).(GetLbRoutesResultOutput) } diff --git a/sdk/go/scaleway/getLbs.go b/sdk/go/scaleway/getLbs.go index 9f67f051..f6a0b484 100644 --- a/sdk/go/scaleway/getLbs.go +++ b/sdk/go/scaleway/getLbs.go @@ -55,21 +55,11 @@ type GetLbsResult struct { } func GetLbsOutput(ctx *pulumi.Context, args GetLbsOutputArgs, opts ...pulumi.InvokeOption) GetLbsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetLbsResultOutput, error) { args := v.(GetLbsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetLbsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLbs:getLbs", args, &rv, "", opts...) - if err != nil { - return GetLbsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetLbsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetLbsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLbs:getLbs", args, GetLbsResultOutput{}, options).(GetLbsResultOutput), nil }).(GetLbsResultOutput) } diff --git a/sdk/go/scaleway/getLoadbalancer.go b/sdk/go/scaleway/getLoadbalancer.go index 896d90b9..53f14b36 100644 --- a/sdk/go/scaleway/getLoadbalancer.go +++ b/sdk/go/scaleway/getLoadbalancer.go @@ -99,21 +99,11 @@ type LookupLoadbalancerResult struct { } func LookupLoadbalancerOutput(ctx *pulumi.Context, args LookupLoadbalancerOutputArgs, opts ...pulumi.InvokeOption) LookupLoadbalancerResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupLoadbalancerResultOutput, error) { args := v.(LookupLoadbalancerArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupLoadbalancerResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLoadbalancer:getLoadbalancer", args, &rv, "", opts...) - if err != nil { - return LookupLoadbalancerResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupLoadbalancerResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupLoadbalancerResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLoadbalancer:getLoadbalancer", args, LookupLoadbalancerResultOutput{}, options).(LookupLoadbalancerResultOutput), nil }).(LookupLoadbalancerResultOutput) } diff --git a/sdk/go/scaleway/getLoadbalancerCertificate.go b/sdk/go/scaleway/getLoadbalancerCertificate.go index 2440e61a..da71a501 100644 --- a/sdk/go/scaleway/getLoadbalancerCertificate.go +++ b/sdk/go/scaleway/getLoadbalancerCertificate.go @@ -58,21 +58,11 @@ type LookupLoadbalancerCertificateResult struct { } func LookupLoadbalancerCertificateOutput(ctx *pulumi.Context, args LookupLoadbalancerCertificateOutputArgs, opts ...pulumi.InvokeOption) LookupLoadbalancerCertificateResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupLoadbalancerCertificateResultOutput, error) { args := v.(LookupLoadbalancerCertificateArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupLoadbalancerCertificateResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate", args, &rv, "", opts...) - if err != nil { - return LookupLoadbalancerCertificateResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupLoadbalancerCertificateResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupLoadbalancerCertificateResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate", args, LookupLoadbalancerCertificateResultOutput{}, options).(LookupLoadbalancerCertificateResultOutput), nil }).(LookupLoadbalancerCertificateResultOutput) } diff --git a/sdk/go/scaleway/getLoadbalancerIp.go b/sdk/go/scaleway/getLoadbalancerIp.go index 2aed5344..96419c46 100644 --- a/sdk/go/scaleway/getLoadbalancerIp.go +++ b/sdk/go/scaleway/getLoadbalancerIp.go @@ -59,21 +59,11 @@ type LookupLoadbalancerIpResult struct { } func LookupLoadbalancerIpOutput(ctx *pulumi.Context, args LookupLoadbalancerIpOutputArgs, opts ...pulumi.InvokeOption) LookupLoadbalancerIpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupLoadbalancerIpResultOutput, error) { args := v.(LookupLoadbalancerIpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupLoadbalancerIpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getLoadbalancerIp:getLoadbalancerIp", args, &rv, "", opts...) - if err != nil { - return LookupLoadbalancerIpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupLoadbalancerIpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupLoadbalancerIpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getLoadbalancerIp:getLoadbalancerIp", args, LookupLoadbalancerIpResultOutput{}, options).(LookupLoadbalancerIpResultOutput), nil }).(LookupLoadbalancerIpResultOutput) } diff --git a/sdk/go/scaleway/getMarketplaceImage.go b/sdk/go/scaleway/getMarketplaceImage.go index e9b83ce2..46a74d13 100644 --- a/sdk/go/scaleway/getMarketplaceImage.go +++ b/sdk/go/scaleway/getMarketplaceImage.go @@ -70,21 +70,11 @@ type GetMarketplaceImageResult struct { } func GetMarketplaceImageOutput(ctx *pulumi.Context, args GetMarketplaceImageOutputArgs, opts ...pulumi.InvokeOption) GetMarketplaceImageResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetMarketplaceImageResultOutput, error) { args := v.(GetMarketplaceImageArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetMarketplaceImageResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getMarketplaceImage:getMarketplaceImage", args, &rv, "", opts...) - if err != nil { - return GetMarketplaceImageResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetMarketplaceImageResultOutput) - if secret { - return pulumi.ToSecret(output).(GetMarketplaceImageResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getMarketplaceImage:getMarketplaceImage", args, GetMarketplaceImageResultOutput{}, options).(GetMarketplaceImageResultOutput), nil }).(GetMarketplaceImageResultOutput) } diff --git a/sdk/go/scaleway/getMnqSns.go b/sdk/go/scaleway/getMnqSns.go index e407c857..ae32dcff 100644 --- a/sdk/go/scaleway/getMnqSns.go +++ b/sdk/go/scaleway/getMnqSns.go @@ -75,21 +75,11 @@ type LookupMnqSnsResult struct { } func LookupMnqSnsOutput(ctx *pulumi.Context, args LookupMnqSnsOutputArgs, opts ...pulumi.InvokeOption) LookupMnqSnsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), 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 + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getMnqSns:getMnqSns", args, LookupMnqSnsResultOutput{}, options).(LookupMnqSnsResultOutput), nil }).(LookupMnqSnsResultOutput) } diff --git a/sdk/go/scaleway/getMnqSqs.go b/sdk/go/scaleway/getMnqSqs.go index e808bdb3..979e96a8 100644 --- a/sdk/go/scaleway/getMnqSqs.go +++ b/sdk/go/scaleway/getMnqSqs.go @@ -75,21 +75,11 @@ type LookupMnqSqsResult struct { } func LookupMnqSqsOutput(ctx *pulumi.Context, args LookupMnqSqsOutputArgs, opts ...pulumi.InvokeOption) LookupMnqSqsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupMnqSqsResultOutput, error) { args := v.(LookupMnqSqsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupMnqSqsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getMnqSqs:getMnqSqs", args, &rv, "", opts...) - if err != nil { - return LookupMnqSqsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupMnqSqsResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupMnqSqsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getMnqSqs:getMnqSqs", args, LookupMnqSqsResultOutput{}, options).(LookupMnqSqsResultOutput), nil }).(LookupMnqSqsResultOutput) } diff --git a/sdk/go/scaleway/getMongoDbInstance.go b/sdk/go/scaleway/getMongoDbInstance.go index ce94ac36..ffa63078 100644 --- a/sdk/go/scaleway/getMongoDbInstance.go +++ b/sdk/go/scaleway/getMongoDbInstance.go @@ -72,21 +72,11 @@ type LookupMongoDbInstanceResult struct { } func LookupMongoDbInstanceOutput(ctx *pulumi.Context, args LookupMongoDbInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupMongoDbInstanceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupMongoDbInstanceResultOutput, error) { args := v.(LookupMongoDbInstanceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupMongoDbInstanceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getMongoDbInstance:getMongoDbInstance", args, &rv, "", opts...) - if err != nil { - return LookupMongoDbInstanceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupMongoDbInstanceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupMongoDbInstanceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getMongoDbInstance:getMongoDbInstance", args, LookupMongoDbInstanceResultOutput{}, options).(LookupMongoDbInstanceResultOutput), nil }).(LookupMongoDbInstanceResultOutput) } diff --git a/sdk/go/scaleway/getObjectBucket.go b/sdk/go/scaleway/getObjectBucket.go index f0ce3e19..0cb02a3b 100644 --- a/sdk/go/scaleway/getObjectBucket.go +++ b/sdk/go/scaleway/getObjectBucket.go @@ -117,21 +117,11 @@ type LookupObjectBucketResult struct { } func LookupObjectBucketOutput(ctx *pulumi.Context, args LookupObjectBucketOutputArgs, opts ...pulumi.InvokeOption) LookupObjectBucketResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupObjectBucketResultOutput, error) { args := v.(LookupObjectBucketArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupObjectBucketResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getObjectBucket:getObjectBucket", args, &rv, "", opts...) - if err != nil { - return LookupObjectBucketResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupObjectBucketResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupObjectBucketResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getObjectBucket:getObjectBucket", args, LookupObjectBucketResultOutput{}, options).(LookupObjectBucketResultOutput), nil }).(LookupObjectBucketResultOutput) } diff --git a/sdk/go/scaleway/getObjectBucketPolicy.go b/sdk/go/scaleway/getObjectBucketPolicy.go index 35bb96b0..f55dc3b9 100644 --- a/sdk/go/scaleway/getObjectBucketPolicy.go +++ b/sdk/go/scaleway/getObjectBucketPolicy.go @@ -73,21 +73,11 @@ type LookupObjectBucketPolicyResult struct { } func LookupObjectBucketPolicyOutput(ctx *pulumi.Context, args LookupObjectBucketPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupObjectBucketPolicyResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupObjectBucketPolicyResultOutput, error) { args := v.(LookupObjectBucketPolicyArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupObjectBucketPolicyResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy", args, &rv, "", opts...) - if err != nil { - return LookupObjectBucketPolicyResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupObjectBucketPolicyResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupObjectBucketPolicyResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy", args, LookupObjectBucketPolicyResultOutput{}, options).(LookupObjectBucketPolicyResultOutput), nil }).(LookupObjectBucketPolicyResultOutput) } diff --git a/sdk/go/scaleway/getRedisCluster.go b/sdk/go/scaleway/getRedisCluster.go index 5f91d0ff..a37432ec 100644 --- a/sdk/go/scaleway/getRedisCluster.go +++ b/sdk/go/scaleway/getRedisCluster.go @@ -77,21 +77,11 @@ type LookupRedisClusterResult struct { } func LookupRedisClusterOutput(ctx *pulumi.Context, args LookupRedisClusterOutputArgs, opts ...pulumi.InvokeOption) LookupRedisClusterResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupRedisClusterResultOutput, error) { args := v.(LookupRedisClusterArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupRedisClusterResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getRedisCluster:getRedisCluster", args, &rv, "", opts...) - if err != nil { - return LookupRedisClusterResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupRedisClusterResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupRedisClusterResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getRedisCluster:getRedisCluster", args, LookupRedisClusterResultOutput{}, options).(LookupRedisClusterResultOutput), nil }).(LookupRedisClusterResultOutput) } diff --git a/sdk/go/scaleway/getRegistryImage.go b/sdk/go/scaleway/getRegistryImage.go index 787acbf6..9fe986d1 100644 --- a/sdk/go/scaleway/getRegistryImage.go +++ b/sdk/go/scaleway/getRegistryImage.go @@ -62,21 +62,11 @@ type GetRegistryImageResult struct { } func GetRegistryImageOutput(ctx *pulumi.Context, args GetRegistryImageOutputArgs, opts ...pulumi.InvokeOption) GetRegistryImageResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetRegistryImageResultOutput, error) { args := v.(GetRegistryImageArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetRegistryImageResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getRegistryImage:getRegistryImage", args, &rv, "", opts...) - if err != nil { - return GetRegistryImageResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetRegistryImageResultOutput) - if secret { - return pulumi.ToSecret(output).(GetRegistryImageResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getRegistryImage:getRegistryImage", args, GetRegistryImageResultOutput{}, options).(GetRegistryImageResultOutput), nil }).(GetRegistryImageResultOutput) } diff --git a/sdk/go/scaleway/getRegistryImageTag.go b/sdk/go/scaleway/getRegistryImageTag.go index f088ff61..0156b97a 100644 --- a/sdk/go/scaleway/getRegistryImageTag.go +++ b/sdk/go/scaleway/getRegistryImageTag.go @@ -58,21 +58,11 @@ type GetRegistryImageTagResult struct { } func GetRegistryImageTagOutput(ctx *pulumi.Context, args GetRegistryImageTagOutputArgs, opts ...pulumi.InvokeOption) GetRegistryImageTagResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetRegistryImageTagResultOutput, error) { args := v.(GetRegistryImageTagArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetRegistryImageTagResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getRegistryImageTag:getRegistryImageTag", args, &rv, "", opts...) - if err != nil { - return GetRegistryImageTagResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetRegistryImageTagResultOutput) - if secret { - return pulumi.ToSecret(output).(GetRegistryImageTagResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getRegistryImageTag:getRegistryImageTag", args, GetRegistryImageTagResultOutput{}, options).(GetRegistryImageTagResultOutput), nil }).(GetRegistryImageTagResultOutput) } diff --git a/sdk/go/scaleway/getRegistryNamespace.go b/sdk/go/scaleway/getRegistryNamespace.go index 7814e7d1..a7e43ae9 100644 --- a/sdk/go/scaleway/getRegistryNamespace.go +++ b/sdk/go/scaleway/getRegistryNamespace.go @@ -54,21 +54,11 @@ type LookupRegistryNamespaceResult struct { } func LookupRegistryNamespaceOutput(ctx *pulumi.Context, args LookupRegistryNamespaceOutputArgs, opts ...pulumi.InvokeOption) LookupRegistryNamespaceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupRegistryNamespaceResultOutput, error) { args := v.(LookupRegistryNamespaceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupRegistryNamespaceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getRegistryNamespace:getRegistryNamespace", args, &rv, "", opts...) - if err != nil { - return LookupRegistryNamespaceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupRegistryNamespaceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupRegistryNamespaceResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getRegistryNamespace:getRegistryNamespace", args, LookupRegistryNamespaceResultOutput{}, options).(LookupRegistryNamespaceResultOutput), nil }).(LookupRegistryNamespaceResultOutput) } diff --git a/sdk/go/scaleway/getSecret.go b/sdk/go/scaleway/getSecret.go index 8c103b53..b3d33b18 100644 --- a/sdk/go/scaleway/getSecret.go +++ b/sdk/go/scaleway/getSecret.go @@ -116,21 +116,11 @@ type LookupSecretResult struct { } func LookupSecretOutput(ctx *pulumi.Context, args LookupSecretOutputArgs, opts ...pulumi.InvokeOption) LookupSecretResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupSecretResultOutput, error) { args := v.(LookupSecretArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupSecretResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getSecret:getSecret", args, &rv, "", opts...) - if err != nil { - return LookupSecretResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupSecretResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupSecretResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getSecret:getSecret", args, LookupSecretResultOutput{}, options).(LookupSecretResultOutput), nil }).(LookupSecretResultOutput) } diff --git a/sdk/go/scaleway/getSecretVersion.go b/sdk/go/scaleway/getSecretVersion.go index 56f17a37..600eb437 100644 --- a/sdk/go/scaleway/getSecretVersion.go +++ b/sdk/go/scaleway/getSecretVersion.go @@ -135,21 +135,11 @@ type LookupSecretVersionResult struct { } func LookupSecretVersionOutput(ctx *pulumi.Context, args LookupSecretVersionOutputArgs, opts ...pulumi.InvokeOption) LookupSecretVersionResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupSecretVersionResultOutput, error) { args := v.(LookupSecretVersionArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupSecretVersionResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getSecretVersion:getSecretVersion", args, &rv, "", opts...) - if err != nil { - return LookupSecretVersionResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupSecretVersionResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupSecretVersionResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getSecretVersion:getSecretVersion", args, LookupSecretVersionResultOutput{}, options).(LookupSecretVersionResultOutput), nil }).(LookupSecretVersionResultOutput) } diff --git a/sdk/go/scaleway/getTemDomain.go b/sdk/go/scaleway/getTemDomain.go index 3ae27f42..3f87186d 100644 --- a/sdk/go/scaleway/getTemDomain.go +++ b/sdk/go/scaleway/getTemDomain.go @@ -68,21 +68,11 @@ type LookupTemDomainResult struct { } func LookupTemDomainOutput(ctx *pulumi.Context, args LookupTemDomainOutputArgs, opts ...pulumi.InvokeOption) LookupTemDomainResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupTemDomainResultOutput, error) { args := v.(LookupTemDomainArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupTemDomainResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getTemDomain:getTemDomain", args, &rv, "", opts...) - if err != nil { - return LookupTemDomainResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupTemDomainResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupTemDomainResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getTemDomain:getTemDomain", args, LookupTemDomainResultOutput{}, options).(LookupTemDomainResultOutput), nil }).(LookupTemDomainResultOutput) } diff --git a/sdk/go/scaleway/getVpc.go b/sdk/go/scaleway/getVpc.go index 69d05d46..fdf04f3a 100644 --- a/sdk/go/scaleway/getVpc.go +++ b/sdk/go/scaleway/getVpc.go @@ -95,21 +95,11 @@ type LookupVpcResult struct { } func LookupVpcOutput(ctx *pulumi.Context, args LookupVpcOutputArgs, opts ...pulumi.InvokeOption) LookupVpcResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcResultOutput, error) { args := v.(LookupVpcArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpc:getVpc", args, &rv, "", opts...) - if err != nil { - return LookupVpcResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpc:getVpc", args, LookupVpcResultOutput{}, options).(LookupVpcResultOutput), nil }).(LookupVpcResultOutput) } diff --git a/sdk/go/scaleway/getVpcGatewayNetwork.go b/sdk/go/scaleway/getVpcGatewayNetwork.go index ac42c56c..f573f362 100644 --- a/sdk/go/scaleway/getVpcGatewayNetwork.go +++ b/sdk/go/scaleway/getVpcGatewayNetwork.go @@ -93,21 +93,11 @@ type LookupVpcGatewayNetworkResult struct { } func LookupVpcGatewayNetworkOutput(ctx *pulumi.Context, args LookupVpcGatewayNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupVpcGatewayNetworkResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcGatewayNetworkResultOutput, error) { args := v.(LookupVpcGatewayNetworkArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcGatewayNetworkResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork", args, &rv, "", opts...) - if err != nil { - return LookupVpcGatewayNetworkResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcGatewayNetworkResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcGatewayNetworkResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork", args, LookupVpcGatewayNetworkResultOutput{}, options).(LookupVpcGatewayNetworkResultOutput), nil }).(LookupVpcGatewayNetworkResultOutput) } diff --git a/sdk/go/scaleway/getVpcPrivateNetwork.go b/sdk/go/scaleway/getVpcPrivateNetwork.go index d4388504..290b76d9 100644 --- a/sdk/go/scaleway/getVpcPrivateNetwork.go +++ b/sdk/go/scaleway/getVpcPrivateNetwork.go @@ -99,21 +99,11 @@ type LookupVpcPrivateNetworkResult struct { } func LookupVpcPrivateNetworkOutput(ctx *pulumi.Context, args LookupVpcPrivateNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPrivateNetworkResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcPrivateNetworkResultOutput, error) { args := v.(LookupVpcPrivateNetworkArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcPrivateNetworkResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork", args, &rv, "", opts...) - if err != nil { - return LookupVpcPrivateNetworkResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcPrivateNetworkResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcPrivateNetworkResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork", args, LookupVpcPrivateNetworkResultOutput{}, options).(LookupVpcPrivateNetworkResultOutput), nil }).(LookupVpcPrivateNetworkResultOutput) } diff --git a/sdk/go/scaleway/getVpcPublicGateway.go b/sdk/go/scaleway/getVpcPublicGateway.go index d5b71e02..ed7d4b2d 100644 --- a/sdk/go/scaleway/getVpcPublicGateway.go +++ b/sdk/go/scaleway/getVpcPublicGateway.go @@ -91,21 +91,11 @@ type LookupVpcPublicGatewayResult struct { } func LookupVpcPublicGatewayOutput(ctx *pulumi.Context, args LookupVpcPublicGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPublicGatewayResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcPublicGatewayResultOutput, error) { args := v.(LookupVpcPublicGatewayArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcPublicGatewayResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPublicGateway:getVpcPublicGateway", args, &rv, "", opts...) - if err != nil { - return LookupVpcPublicGatewayResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcPublicGatewayResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcPublicGatewayResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPublicGateway:getVpcPublicGateway", args, LookupVpcPublicGatewayResultOutput{}, options).(LookupVpcPublicGatewayResultOutput), nil }).(LookupVpcPublicGatewayResultOutput) } diff --git a/sdk/go/scaleway/getVpcPublicGatewayDhcp.go b/sdk/go/scaleway/getVpcPublicGatewayDhcp.go index d7b1150c..4a277363 100644 --- a/sdk/go/scaleway/getVpcPublicGatewayDhcp.go +++ b/sdk/go/scaleway/getVpcPublicGatewayDhcp.go @@ -82,21 +82,11 @@ type LookupVpcPublicGatewayDhcpResult struct { } func LookupVpcPublicGatewayDhcpOutput(ctx *pulumi.Context, args LookupVpcPublicGatewayDhcpOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPublicGatewayDhcpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcPublicGatewayDhcpResultOutput, error) { args := v.(LookupVpcPublicGatewayDhcpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcPublicGatewayDhcpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp", args, &rv, "", opts...) - if err != nil { - return LookupVpcPublicGatewayDhcpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcPublicGatewayDhcpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcPublicGatewayDhcpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp", args, LookupVpcPublicGatewayDhcpResultOutput{}, options).(LookupVpcPublicGatewayDhcpResultOutput), nil }).(LookupVpcPublicGatewayDhcpResultOutput) } diff --git a/sdk/go/scaleway/getVpcPublicGatewayDhcpReservation.go b/sdk/go/scaleway/getVpcPublicGatewayDhcpReservation.go index f010e3c7..acc18210 100644 --- a/sdk/go/scaleway/getVpcPublicGatewayDhcpReservation.go +++ b/sdk/go/scaleway/getVpcPublicGatewayDhcpReservation.go @@ -231,21 +231,11 @@ type LookupVpcPublicGatewayDhcpReservationResult struct { } func LookupVpcPublicGatewayDhcpReservationOutput(ctx *pulumi.Context, args LookupVpcPublicGatewayDhcpReservationOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPublicGatewayDhcpReservationResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcPublicGatewayDhcpReservationResultOutput, error) { args := v.(LookupVpcPublicGatewayDhcpReservationArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcPublicGatewayDhcpReservationResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation", args, &rv, "", opts...) - if err != nil { - return LookupVpcPublicGatewayDhcpReservationResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcPublicGatewayDhcpReservationResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcPublicGatewayDhcpReservationResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation", args, LookupVpcPublicGatewayDhcpReservationResultOutput{}, options).(LookupVpcPublicGatewayDhcpReservationResultOutput), nil }).(LookupVpcPublicGatewayDhcpReservationResultOutput) } diff --git a/sdk/go/scaleway/getVpcPublicGatewayIp.go b/sdk/go/scaleway/getVpcPublicGatewayIp.go index 53cc3241..ceee82d2 100644 --- a/sdk/go/scaleway/getVpcPublicGatewayIp.go +++ b/sdk/go/scaleway/getVpcPublicGatewayIp.go @@ -72,21 +72,11 @@ type LookupVpcPublicGatewayIpResult struct { } func LookupVpcPublicGatewayIpOutput(ctx *pulumi.Context, args LookupVpcPublicGatewayIpOutputArgs, opts ...pulumi.InvokeOption) LookupVpcPublicGatewayIpResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupVpcPublicGatewayIpResultOutput, error) { args := v.(LookupVpcPublicGatewayIpArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupVpcPublicGatewayIpResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp", args, &rv, "", opts...) - if err != nil { - return LookupVpcPublicGatewayIpResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupVpcPublicGatewayIpResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupVpcPublicGatewayIpResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp", args, LookupVpcPublicGatewayIpResultOutput{}, options).(LookupVpcPublicGatewayIpResultOutput), nil }).(LookupVpcPublicGatewayIpResultOutput) } diff --git a/sdk/go/scaleway/getVpcPublicPatRule.go b/sdk/go/scaleway/getVpcPublicPatRule.go index 513ef3b2..1df1c56a 100644 --- a/sdk/go/scaleway/getVpcPublicPatRule.go +++ b/sdk/go/scaleway/getVpcPublicPatRule.go @@ -159,21 +159,11 @@ type GetVpcPublicPatRuleResult struct { } func GetVpcPublicPatRuleOutput(ctx *pulumi.Context, args GetVpcPublicPatRuleOutputArgs, opts ...pulumi.InvokeOption) GetVpcPublicPatRuleResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetVpcPublicPatRuleResultOutput, error) { args := v.(GetVpcPublicPatRuleArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetVpcPublicPatRuleResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule", args, &rv, "", opts...) - if err != nil { - return GetVpcPublicPatRuleResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetVpcPublicPatRuleResultOutput) - if secret { - return pulumi.ToSecret(output).(GetVpcPublicPatRuleResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule", args, GetVpcPublicPatRuleResultOutput{}, options).(GetVpcPublicPatRuleResultOutput), nil }).(GetVpcPublicPatRuleResultOutput) } diff --git a/sdk/go/scaleway/getVpcRoutes.go b/sdk/go/scaleway/getVpcRoutes.go index 414f8381..3b8cb02a 100644 --- a/sdk/go/scaleway/getVpcRoutes.go +++ b/sdk/go/scaleway/getVpcRoutes.go @@ -56,21 +56,11 @@ type GetVpcRoutesResult struct { } func GetVpcRoutesOutput(ctx *pulumi.Context, args GetVpcRoutesOutputArgs, opts ...pulumi.InvokeOption) GetVpcRoutesResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetVpcRoutesResultOutput, error) { args := v.(GetVpcRoutesArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetVpcRoutesResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcRoutes:getVpcRoutes", args, &rv, "", opts...) - if err != nil { - return GetVpcRoutesResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetVpcRoutesResultOutput) - if secret { - return pulumi.ToSecret(output).(GetVpcRoutesResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcRoutes:getVpcRoutes", args, GetVpcRoutesResultOutput{}, options).(GetVpcRoutesResultOutput), nil }).(GetVpcRoutesResultOutput) } diff --git a/sdk/go/scaleway/getVpcs.go b/sdk/go/scaleway/getVpcs.go index ca9b03eb..4d8bb71a 100644 --- a/sdk/go/scaleway/getVpcs.go +++ b/sdk/go/scaleway/getVpcs.go @@ -50,21 +50,11 @@ type GetVpcsResult struct { } func GetVpcsOutput(ctx *pulumi.Context, args GetVpcsOutputArgs, opts ...pulumi.InvokeOption) GetVpcsResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetVpcsResultOutput, error) { args := v.(GetVpcsArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetVpcsResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getVpcs:getVpcs", args, &rv, "", opts...) - if err != nil { - return GetVpcsResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetVpcsResultOutput) - if secret { - return pulumi.ToSecret(output).(GetVpcsResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getVpcs:getVpcs", args, GetVpcsResultOutput{}, options).(GetVpcsResultOutput), nil }).(GetVpcsResultOutput) } diff --git a/sdk/go/scaleway/getWebHostOffer.go b/sdk/go/scaleway/getWebHostOffer.go index 03dc68c0..bcc26d96 100644 --- a/sdk/go/scaleway/getWebHostOffer.go +++ b/sdk/go/scaleway/getWebHostOffer.go @@ -82,21 +82,11 @@ type GetWebHostOfferResult struct { } func GetWebHostOfferOutput(ctx *pulumi.Context, args GetWebHostOfferOutputArgs, opts ...pulumi.InvokeOption) GetWebHostOfferResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetWebHostOfferResultOutput, error) { args := v.(GetWebHostOfferArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetWebHostOfferResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getWebHostOffer:getWebHostOffer", args, &rv, "", opts...) - if err != nil { - return GetWebHostOfferResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetWebHostOfferResultOutput) - if secret { - return pulumi.ToSecret(output).(GetWebHostOfferResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getWebHostOffer:getWebHostOffer", args, GetWebHostOfferResultOutput{}, options).(GetWebHostOfferResultOutput), nil }).(GetWebHostOfferResultOutput) } diff --git a/sdk/go/scaleway/getWebhosting.go b/sdk/go/scaleway/getWebhosting.go index 993d5b46..59987df0 100644 --- a/sdk/go/scaleway/getWebhosting.go +++ b/sdk/go/scaleway/getWebhosting.go @@ -94,21 +94,11 @@ type LookupWebhostingResult struct { } func LookupWebhostingOutput(ctx *pulumi.Context, args LookupWebhostingOutputArgs, opts ...pulumi.InvokeOption) LookupWebhostingResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (LookupWebhostingResultOutput, error) { args := v.(LookupWebhostingArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupWebhostingResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getWebhosting:getWebhosting", args, &rv, "", opts...) - if err != nil { - return LookupWebhostingResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupWebhostingResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupWebhostingResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("scaleway:index/getWebhosting:getWebhosting", args, LookupWebhostingResultOutput{}, options).(LookupWebhostingResultOutput), nil }).(LookupWebhostingResultOutput) } diff --git a/sdk/go/scaleway/instanceServer.go b/sdk/go/scaleway/instanceServer.go index 1b4eee52..ef3d8176 100644 --- a/sdk/go/scaleway/instanceServer.go +++ b/sdk/go/scaleway/instanceServer.go @@ -415,7 +415,9 @@ type InstanceServer struct { PlacementGroupId pulumi.StringPtrOutput `pulumi:"placementGroupId"` // True when the placement group policy is respected. PlacementGroupPolicyRespected pulumi.BoolOutput `pulumi:"placementGroupPolicyRespected"` - // The Scaleway internal IP address of the server. + // The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). + // + // Deprecated: Use ipamIp datasource instead to fetch your server's IP in your private network. PrivateIp pulumi.StringOutput `pulumi:"privateIp"` // The private network associated with the server. // Use the `pnId` key to attach a [privateNetwork](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance. @@ -555,7 +557,9 @@ type instanceServerState struct { PlacementGroupId *string `pulumi:"placementGroupId"` // True when the placement group policy is respected. PlacementGroupPolicyRespected *bool `pulumi:"placementGroupPolicyRespected"` - // The Scaleway internal IP address of the server. + // The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). + // + // Deprecated: Use ipamIp datasource instead to fetch your server's IP in your private network. PrivateIp *string `pulumi:"privateIp"` // The private network associated with the server. // Use the `pnId` key to attach a [privateNetwork](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance. @@ -663,7 +667,9 @@ type InstanceServerState struct { PlacementGroupId pulumi.StringPtrInput // True when the placement group policy is respected. PlacementGroupPolicyRespected pulumi.BoolPtrInput - // The Scaleway internal IP address of the server. + // The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). + // + // Deprecated: Use ipamIp datasource instead to fetch your server's IP in your private network. PrivateIp pulumi.StringPtrInput // The private network associated with the server. // Use the `pnId` key to attach a [privateNetwork](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance. @@ -1076,7 +1082,9 @@ func (o InstanceServerOutput) PlacementGroupPolicyRespected() pulumi.BoolOutput return o.ApplyT(func(v *InstanceServer) pulumi.BoolOutput { return v.PlacementGroupPolicyRespected }).(pulumi.BoolOutput) } -// The Scaleway internal IP address of the server. +// The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). +// +// Deprecated: Use ipamIp datasource instead to fetch your server's IP in your private network. func (o InstanceServerOutput) PrivateIp() pulumi.StringOutput { return o.ApplyT(func(v *InstanceServer) pulumi.StringOutput { return v.PrivateIp }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/objectItem.go b/sdk/go/scaleway/objectItem.go index 90677aad..b5826026 100644 --- a/sdk/go/scaleway/objectItem.go +++ b/sdk/go/scaleway/objectItem.go @@ -58,6 +58,8 @@ type ObjectItem struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The Scaleway region the bucket resides in. Region pulumi.StringOutput `pulumi:"region"` + // Customer's encryption keys to encrypt data (SSE-C) + SseCustomerKey pulumi.StringPtrOutput `pulumi:"sseCustomerKey"` // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. StorageClass pulumi.StringPtrOutput `pulumi:"storageClass"` // Map of tags. @@ -79,6 +81,13 @@ func NewObjectItem(ctx *pulumi.Context, if args.Key == nil { return nil, errors.New("invalid value for required argument 'Key'") } + if args.SseCustomerKey != nil { + args.SseCustomerKey = pulumi.ToSecret(args.SseCustomerKey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "sseCustomerKey", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource ObjectItem err := ctx.RegisterResource("scaleway:index/objectItem:ObjectItem", name, args, &resource, opts...) @@ -122,6 +131,8 @@ type objectItemState struct { ProjectId *string `pulumi:"projectId"` // The Scaleway region the bucket resides in. Region *string `pulumi:"region"` + // Customer's encryption keys to encrypt data (SSE-C) + SseCustomerKey *string `pulumi:"sseCustomerKey"` // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. StorageClass *string `pulumi:"storageClass"` // Map of tags. @@ -151,6 +162,8 @@ type ObjectItemState struct { ProjectId pulumi.StringPtrInput // The Scaleway region the bucket resides in. Region pulumi.StringPtrInput + // Customer's encryption keys to encrypt data (SSE-C) + SseCustomerKey pulumi.StringPtrInput // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. StorageClass pulumi.StringPtrInput // Map of tags. @@ -184,6 +197,8 @@ type objectItemArgs struct { ProjectId *string `pulumi:"projectId"` // The Scaleway region the bucket resides in. Region *string `pulumi:"region"` + // Customer's encryption keys to encrypt data (SSE-C) + SseCustomerKey *string `pulumi:"sseCustomerKey"` // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. StorageClass *string `pulumi:"storageClass"` // Map of tags. @@ -214,6 +229,8 @@ type ObjectItemArgs struct { ProjectId pulumi.StringPtrInput // The Scaleway region the bucket resides in. Region pulumi.StringPtrInput + // Customer's encryption keys to encrypt data (SSE-C) + SseCustomerKey pulumi.StringPtrInput // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. StorageClass pulumi.StringPtrInput // Map of tags. @@ -356,6 +373,11 @@ func (o ObjectItemOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *ObjectItem) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// Customer's encryption keys to encrypt data (SSE-C) +func (o ObjectItemOutput) SseCustomerKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObjectItem) pulumi.StringPtrOutput { return v.SseCustomerKey }).(pulumi.StringPtrOutput) +} + // Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. func (o ObjectItemOutput) StorageClass() pulumi.StringPtrOutput { return o.ApplyT(func(v *ObjectItem) pulumi.StringPtrOutput { return v.StorageClass }).(pulumi.StringPtrOutput) diff --git a/sdk/go/scaleway/pulumiTypes.go b/sdk/go/scaleway/pulumiTypes.go index 3af5ef42..6bede0b1 100644 --- a/sdk/go/scaleway/pulumiTypes.go +++ b/sdk/go/scaleway/pulumiTypes.go @@ -5619,7 +5619,7 @@ type InstanceServerRootVolume struct { // Size of the root volume in gigabytes. // To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and // check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. - // Updates to this field will recreate a new resource. + // Depending on `volumeType`, updates to this field may recreate a new resource. SizeInGb *int `pulumi:"sizeInGb"` // The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID. VolumeId *string `pulumi:"volumeId"` @@ -5652,7 +5652,7 @@ type InstanceServerRootVolumeArgs struct { // Size of the root volume in gigabytes. // To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and // check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. - // Updates to this field will recreate a new resource. + // Depending on `volumeType`, updates to this field may recreate a new resource. SizeInGb pulumi.IntPtrInput `pulumi:"sizeInGb"` // The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID. VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` @@ -5762,7 +5762,7 @@ func (o InstanceServerRootVolumeOutput) SbsIops() pulumi.IntPtrOutput { // Size of the root volume in gigabytes. // To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and // check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. -// Updates to this field will recreate a new resource. +// Depending on `volumeType`, updates to this field may recreate a new resource. func (o InstanceServerRootVolumeOutput) SizeInGb() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceServerRootVolume) *int { return v.SizeInGb }).(pulumi.IntPtrOutput) } @@ -5846,7 +5846,7 @@ func (o InstanceServerRootVolumePtrOutput) SbsIops() pulumi.IntPtrOutput { // Size of the root volume in gigabytes. // To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and // check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. -// Updates to this field will recreate a new resource. +// Depending on `volumeType`, updates to this field may recreate a new resource. func (o InstanceServerRootVolumePtrOutput) SizeInGb() pulumi.IntPtrOutput { return o.ApplyT(func(v *InstanceServerRootVolume) *int { if v == nil { diff --git a/sdk/go/scaleway/redisCluster.go b/sdk/go/scaleway/redisCluster.go index 18b2e848..f2975961 100644 --- a/sdk/go/scaleway/redisCluster.go +++ b/sdk/go/scaleway/redisCluster.go @@ -158,8 +158,13 @@ type RedisCluster struct { Certificate pulumi.StringOutput `pulumi:"certificate"` // The number of nodes in the Redis™ cluster. // - // > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - // which is minimum 3 (1 main node + 2 secondary nodes) + // > **Important:** + // + // - Cluster_size = 1 for Standalone mode (single node). + // + // - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + // + // - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -266,8 +271,13 @@ type redisClusterState struct { Certificate *string `pulumi:"certificate"` // The number of nodes in the Redis™ cluster. // - // > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - // which is minimum 3 (1 main node + 2 secondary nodes) + // > **Important:** + // + // - Cluster_size = 1 for Standalone mode (single node). + // + // - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + // + // - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -326,8 +336,13 @@ type RedisClusterState struct { Certificate pulumi.StringPtrInput // The number of nodes in the Redis™ cluster. // - // > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - // which is minimum 3 (1 main node + 2 secondary nodes) + // > **Important:** + // + // - Cluster_size = 1 for Standalone mode (single node). + // + // - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + // + // - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -388,8 +403,13 @@ type redisClusterArgs struct { Acls []RedisClusterAcl `pulumi:"acls"` // The number of nodes in the Redis™ cluster. // - // > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - // which is minimum 3 (1 main node + 2 secondary nodes) + // > **Important:** + // + // - Cluster_size = 1 for Standalone mode (single node). + // + // - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + // + // - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -443,8 +463,13 @@ type RedisClusterArgs struct { Acls RedisClusterAclArrayInput // The number of nodes in the Redis™ cluster. // - // > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - // which is minimum 3 (1 main node + 2 secondary nodes) + // > **Important:** + // + // - Cluster_size = 1 for Standalone mode (single node). + // + // - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + // + // - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -591,8 +616,13 @@ func (o RedisClusterOutput) Certificate() pulumi.StringOutput { // The number of nodes in the Redis™ cluster. // -// > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode -// which is minimum 3 (1 main node + 2 secondary nodes) +// > **Important:** +// +// - Cluster_size = 1 for Standalone mode (single node). +// +// - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. +// +// - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. // // > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially // did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller diff --git a/sdk/go/scaleway/vpcGatewayNetwork.go b/sdk/go/scaleway/vpcGatewayNetwork.go index 60df8636..9a319ff4 100644 --- a/sdk/go/scaleway/vpcGatewayNetwork.go +++ b/sdk/go/scaleway/vpcGatewayNetwork.go @@ -259,7 +259,7 @@ type VpcGatewayNetwork struct { CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // The ID of the Public Gateway DHCP configuration. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified. DhcpId pulumi.StringPtrOutput `pulumi:"dhcpId"` - // WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + // Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. EnableDhcp pulumi.BoolPtrOutput `pulumi:"enableDhcp"` // Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork EnableMasquerade pulumi.BoolPtrOutput `pulumi:"enableMasquerade"` @@ -323,7 +323,7 @@ type vpcGatewayNetworkState struct { CreatedAt *string `pulumi:"createdAt"` // The ID of the Public Gateway DHCP configuration. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified. DhcpId *string `pulumi:"dhcpId"` - // WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + // Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. EnableDhcp *bool `pulumi:"enableDhcp"` // Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork EnableMasquerade *bool `pulumi:"enableMasquerade"` @@ -352,7 +352,7 @@ type VpcGatewayNetworkState struct { CreatedAt pulumi.StringPtrInput // The ID of the Public Gateway DHCP configuration. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified. DhcpId pulumi.StringPtrInput - // WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + // Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. EnableDhcp pulumi.BoolPtrInput // Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork EnableMasquerade pulumi.BoolPtrInput @@ -383,7 +383,7 @@ type vpcGatewayNetworkArgs struct { CleanupDhcp *bool `pulumi:"cleanupDhcp"` // The ID of the Public Gateway DHCP configuration. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified. DhcpId *string `pulumi:"dhcpId"` - // WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + // Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. EnableDhcp *bool `pulumi:"enableDhcp"` // Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork EnableMasquerade *bool `pulumi:"enableMasquerade"` @@ -405,7 +405,7 @@ type VpcGatewayNetworkArgs struct { CleanupDhcp pulumi.BoolPtrInput // The ID of the Public Gateway DHCP configuration. Only one of `dhcpId`, `staticAddress` and `ipamConfig` should be specified. DhcpId pulumi.StringPtrInput - // WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + // Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. EnableDhcp pulumi.BoolPtrInput // Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork EnableMasquerade pulumi.BoolPtrInput @@ -523,7 +523,7 @@ func (o VpcGatewayNetworkOutput) DhcpId() pulumi.StringPtrOutput { return o.ApplyT(func(v *VpcGatewayNetwork) pulumi.StringPtrOutput { return v.DhcpId }).(pulumi.StringPtrOutput) } -// WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. +// Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. func (o VpcGatewayNetworkOutput) EnableDhcp() pulumi.BoolPtrOutput { return o.ApplyT(func(v *VpcGatewayNetwork) pulumi.BoolPtrOutput { return v.EnableDhcp }).(pulumi.BoolPtrOutput) } diff --git a/sdk/nodejs/baremetalServer.ts b/sdk/nodejs/baremetalServer.ts index d2614912..d44275f3 100644 --- a/sdk/nodejs/baremetalServer.ts +++ b/sdk/nodejs/baremetalServer.ts @@ -183,6 +183,37 @@ import * as utilities from "./utilities"; * }); * ``` * + * ### With custom partitioning + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumi/scaleway"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const config = new pulumi.Config(); + * const configCustomPartitioning = config.get("configCustomPartitioning") || "{\"disks\":[{\"device\":\"/dev/nvme0n1\",\"partitions\":[{\"label\":\"uefi\",\"number\":1,\"size\":536870912},{\"label\":\"swap\",\"number\":2,\"size\":4294967296},{\"label\":\"boot\",\"number\":3,\"size\":1073741824},{\"label\":\"root\",\"number\":4,\"size\":1017827045376}]},{\"device\":\"/dev/nvme1n1\",\"partitions\":[{\"label\":\"swap\",\"number\":1,\"size\":4294967296},{\"label\":\"boot\",\"number\":2,\"size\":1073741824},{\"label\":\"root\",\"number\":3,\"size\":1017827045376}]}],\"filesystems\":[{\"device\":\"/dev/nvme0n1p1\",\"format\":\"fat32\",\"mountpoint\":\"/boot/efi\"},{\"device\":\"/dev/md0\",\"format\":\"ext4\",\"mountpoint\":\"/boot\"},{\"device\":\"/dev/md1\",\"format\":\"ext4\",\"mountpoint\":\"/\"}],\"raids\":[{\"devices\":[\"/dev/nvme0n1p3\",\"/dev/nvme1n1p2\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md0\"},{\"devices\":[\"/dev/nvme0n1p4\",\"/dev/nvme1n1p3\"],\"level\":\"raid_level_1\",\"name\":\"/dev/md1\"}],\"zfs\":{\"pools\":[]}}"; + * const myOs = scaleway.getBaremetalOs({ + * zone: "fr-par-1", + * name: "Ubuntu", + * version: "22.04 LTS (Jammy Jellyfish)", + * }); + * const main = new scaleway.IamSshKey("main", {name: "main"}); + * const base = new scaleway.BaremetalServer("base", { + * name: "%s", + * zone: "fr-par-1", + * description: "test a description", + * offer: "EM-B220E-NVME", + * os: myOs.then(myOs => myOs.osId), + * partitioning: configCustomPartitioning, + * tags: [ + * "terraform-test", + * "scaleway_baremetal_server", + * "minimal", + * ], + * sshKeyIds: [main.id], + * }); + * ``` + * * ## Import * * Baremetal servers can be imported using the `{zone}/{id}`, e.g. @@ -288,7 +319,7 @@ export class BaremetalServer extends pulumi.CustomResource { */ public /*out*/ readonly osName!: pulumi.Output; /** - * The partitioning schema in json format + * The partitioning schema in JSON format */ public readonly partitioning!: pulumi.Output; /** @@ -482,7 +513,7 @@ export interface BaremetalServerState { */ osName?: pulumi.Input; /** - * The partitioning schema in json format + * The partitioning schema in JSON format */ partitioning?: pulumi.Input; /** @@ -567,7 +598,7 @@ export interface BaremetalServerArgs { */ os?: pulumi.Input; /** - * The partitioning schema in json format + * The partitioning schema in JSON format */ partitioning?: pulumi.Input; /** diff --git a/sdk/nodejs/cockpitGrafanaUser.ts b/sdk/nodejs/cockpitGrafanaUser.ts index 59ea71ca..7430bffa 100644 --- a/sdk/nodejs/cockpitGrafanaUser.ts +++ b/sdk/nodejs/cockpitGrafanaUser.ts @@ -65,6 +65,10 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { return obj['__pulumiType'] === CockpitGrafanaUser.__pulumiType; } + /** + * URL for Grafana. + */ + public /*out*/ readonly grafanaUrl!: pulumi.Output; /** * 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. */ @@ -95,6 +99,7 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as CockpitGrafanaUserState | undefined; + resourceInputs["grafanaUrl"] = state ? state.grafanaUrl : undefined; resourceInputs["login"] = state ? state.login : undefined; resourceInputs["password"] = state ? state.password : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; @@ -110,6 +115,7 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { resourceInputs["login"] = args ? args.login : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["role"] = args ? args.role : undefined; + resourceInputs["grafanaUrl"] = undefined /*out*/; resourceInputs["password"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -123,6 +129,10 @@ export class CockpitGrafanaUser extends pulumi.CustomResource { * Input properties used for looking up and filtering CockpitGrafanaUser resources. */ export interface CockpitGrafanaUserState { + /** + * URL for Grafana. + */ + grafanaUrl?: pulumi.Input; /** * 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. */ diff --git a/sdk/nodejs/cockpitSource.ts b/sdk/nodejs/cockpitSource.ts index 124706e4..777f164c 100644 --- a/sdk/nodejs/cockpitSource.ts +++ b/sdk/nodejs/cockpitSource.ts @@ -24,6 +24,7 @@ import * as utilities from "./utilities"; * projectId: project.id, * name: "my-data-source", * type: "metrics", + * retentionDays: 6, * }); * ``` * @@ -89,6 +90,10 @@ export class CockpitSource extends pulumi.CustomResource { * ) The region where the data source is located. */ public readonly region!: pulumi.Output; + /** + * The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + */ + public readonly retentionDays!: pulumi.Output; /** * Indicates whether the data source is synchronized with Grafana. */ @@ -113,7 +118,7 @@ export class CockpitSource extends pulumi.CustomResource { * @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?: CockpitSourceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args: CockpitSourceArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: CockpitSourceArgs | CockpitSourceState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -125,15 +130,20 @@ export class CockpitSource extends pulumi.CustomResource { resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["pushUrl"] = state ? state.pushUrl : undefined; resourceInputs["region"] = state ? state.region : undefined; + resourceInputs["retentionDays"] = state ? state.retentionDays : undefined; resourceInputs["synchronizedWithGrafana"] = state ? state.synchronizedWithGrafana : undefined; resourceInputs["type"] = state ? state.type : undefined; resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; resourceInputs["url"] = state ? state.url : undefined; } else { const args = argsOrState as CockpitSourceArgs | undefined; + if ((!args || args.retentionDays === undefined) && !opts.urn) { + throw new Error("Missing required property 'retentionDays'"); + } resourceInputs["name"] = args ? args.name : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["retentionDays"] = args ? args.retentionDays : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["origin"] = undefined /*out*/; @@ -175,6 +185,10 @@ export interface CockpitSourceState { * ) The region where the data source is located. */ region?: pulumi.Input; + /** + * The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + */ + retentionDays?: pulumi.Input; /** * Indicates whether the data source is synchronized with Grafana. */ @@ -209,6 +223,10 @@ export interface CockpitSourceArgs { * ) The region where the data source is located. */ region?: pulumi.Input; + /** + * The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + */ + retentionDays: pulumi.Input; /** * The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`. */ diff --git a/sdk/nodejs/getAccountProject.ts b/sdk/nodejs/getAccountProject.ts index a7104b61..d8151a75 100644 --- a/sdk/nodejs/getAccountProject.ts +++ b/sdk/nodejs/getAccountProject.ts @@ -61,7 +61,7 @@ export interface GetAccountProjectResult { * * Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/identity-and-access-management/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information. */ -export function getAccountProjectOutput(args?: GetAccountProjectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAccountProjectOutput(args?: GetAccountProjectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getAccountProject:getAccountProject", { diff --git a/sdk/nodejs/getAccountSshKey.ts b/sdk/nodejs/getAccountSshKey.ts index 55251af2..d0dd3991 100644 --- a/sdk/nodejs/getAccountSshKey.ts +++ b/sdk/nodejs/getAccountSshKey.ts @@ -68,7 +68,7 @@ export interface GetAccountSshKeyResult { * * Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/identity-and-access-management/organizations-and-projects/how-to/create-ssh-key/) and [API documentation](https://www.scaleway.com/en/developers/api/iam/#path-ssh-keys) for more information. */ -export function getAccountSshKeyOutput(args?: GetAccountSshKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAccountSshKeyOutput(args?: GetAccountSshKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getAccountSshKey:getAccountSshKey", { diff --git a/sdk/nodejs/getAvailabilityZones.ts b/sdk/nodejs/getAvailabilityZones.ts index 225877d8..a671bfdd 100644 --- a/sdk/nodejs/getAvailabilityZones.ts +++ b/sdk/nodejs/getAvailabilityZones.ts @@ -80,7 +80,7 @@ export interface GetAvailabilityZonesResult { * }); * ``` */ -export function getAvailabilityZonesOutput(args?: GetAvailabilityZonesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getAvailabilityZonesOutput(args?: GetAvailabilityZonesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getAvailabilityZones:getAvailabilityZones", { diff --git a/sdk/nodejs/getBaremetalOffer.ts b/sdk/nodejs/getBaremetalOffer.ts index 4d6d679b..c8e34ce6 100644 --- a/sdk/nodejs/getBaremetalOffer.ts +++ b/sdk/nodejs/getBaremetalOffer.ts @@ -88,7 +88,7 @@ export interface GetBaremetalOfferResult { /** * Gets information about a baremetal offer. For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). */ -export function getBaremetalOfferOutput(args?: GetBaremetalOfferOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBaremetalOfferOutput(args?: GetBaremetalOfferOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBaremetalOffer:getBaremetalOffer", { diff --git a/sdk/nodejs/getBaremetalOption.ts b/sdk/nodejs/getBaremetalOption.ts index 5f775c1a..17605c24 100644 --- a/sdk/nodejs/getBaremetalOption.ts +++ b/sdk/nodejs/getBaremetalOption.ts @@ -91,7 +91,7 @@ export interface GetBaremetalOptionResult { * }); * ``` */ -export function getBaremetalOptionOutput(args?: GetBaremetalOptionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBaremetalOptionOutput(args?: GetBaremetalOptionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBaremetalOption:getBaremetalOption", { diff --git a/sdk/nodejs/getBaremetalOs.ts b/sdk/nodejs/getBaremetalOs.ts index 957c744c..99099afe 100644 --- a/sdk/nodejs/getBaremetalOs.ts +++ b/sdk/nodejs/getBaremetalOs.ts @@ -96,7 +96,7 @@ export interface GetBaremetalOsResult { * }); * ``` */ -export function getBaremetalOsOutput(args?: GetBaremetalOsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBaremetalOsOutput(args?: GetBaremetalOsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBaremetalOs:getBaremetalOs", { diff --git a/sdk/nodejs/getBaremetalServer.ts b/sdk/nodejs/getBaremetalServer.ts index e4170cff..2bd58712 100644 --- a/sdk/nodejs/getBaremetalServer.ts +++ b/sdk/nodejs/getBaremetalServer.ts @@ -114,7 +114,7 @@ export interface GetBaremetalServerResult { * }); * ``` */ -export function getBaremetalServerOutput(args?: GetBaremetalServerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBaremetalServerOutput(args?: GetBaremetalServerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBaremetalServer:getBaremetalServer", { diff --git a/sdk/nodejs/getBillingConsumptions.ts b/sdk/nodejs/getBillingConsumptions.ts index c3417550..8e01de44 100644 --- a/sdk/nodejs/getBillingConsumptions.ts +++ b/sdk/nodejs/getBillingConsumptions.ts @@ -52,7 +52,7 @@ export interface GetBillingConsumptionsResult { /** * Gets information about your Consumptions. */ -export function getBillingConsumptionsOutput(args?: GetBillingConsumptionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBillingConsumptionsOutput(args?: GetBillingConsumptionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBillingConsumptions:getBillingConsumptions", { diff --git a/sdk/nodejs/getBillingInvoices.ts b/sdk/nodejs/getBillingInvoices.ts index 371f652b..a2d135b9 100644 --- a/sdk/nodejs/getBillingInvoices.ts +++ b/sdk/nodejs/getBillingInvoices.ts @@ -60,7 +60,7 @@ export interface GetBillingInvoicesResult { /** * Gets information about your Scaleway invoices. */ -export function getBillingInvoicesOutput(args?: GetBillingInvoicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getBillingInvoicesOutput(args?: GetBillingInvoicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBillingInvoices:getBillingInvoices", { diff --git a/sdk/nodejs/getBlockSnapshot.ts b/sdk/nodejs/getBlockSnapshot.ts index a4dfc9d2..1a616a1d 100644 --- a/sdk/nodejs/getBlockSnapshot.ts +++ b/sdk/nodejs/getBlockSnapshot.ts @@ -67,7 +67,7 @@ export interface GetBlockSnapshotResult { * * 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 { +export function getBlockSnapshotOutput(args?: GetBlockSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBlockSnapshot:getBlockSnapshot", { diff --git a/sdk/nodejs/getBlockVolume.ts b/sdk/nodejs/getBlockVolume.ts index 188b8b35..2f8fe8d5 100644 --- a/sdk/nodejs/getBlockVolume.ts +++ b/sdk/nodejs/getBlockVolume.ts @@ -62,7 +62,7 @@ export interface GetBlockVolumeResult { * 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 { +export function getBlockVolumeOutput(args?: GetBlockVolumeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getBlockVolume:getBlockVolume", { diff --git a/sdk/nodejs/getCockpit.ts b/sdk/nodejs/getCockpit.ts index d0885b60..6abcf460 100644 --- a/sdk/nodejs/getCockpit.ts +++ b/sdk/nodejs/getCockpit.ts @@ -116,7 +116,7 @@ export interface GetCockpitResult { * }); * ``` */ -export function getCockpitOutput(args?: GetCockpitOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getCockpitOutput(args?: GetCockpitOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getCockpit:getCockpit", { diff --git a/sdk/nodejs/getCockpitPlan.ts b/sdk/nodejs/getCockpitPlan.ts index e1d3cc2f..45269e69 100644 --- a/sdk/nodejs/getCockpitPlan.ts +++ b/sdk/nodejs/getCockpitPlan.ts @@ -75,7 +75,7 @@ export interface GetCockpitPlanResult { * const main = new scaleway.Cockpit("main", {plan: premium.then(premium => premium.id)}); * ``` */ -export function getCockpitPlanOutput(args: GetCockpitPlanOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getCockpitPlanOutput(args: GetCockpitPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getCockpitPlan:getCockpitPlan", { "name": args.name, diff --git a/sdk/nodejs/getCockpitSource.ts b/sdk/nodejs/getCockpitSource.ts new file mode 100644 index 00000000..cff5f678 --- /dev/null +++ b/sdk/nodejs/getCockpitSource.ts @@ -0,0 +1,158 @@ +// *** 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"; + +/** + * The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + * + * ## Example Usage + * + * ### Retrieve a specific data source by ID + * + * The following example retrieves a Cockpit data source by its unique ID. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumi/scaleway"; + * + * const example = scaleway.getCockpitSource({ + * id: "fr-par/11111111-1111-1111-1111-111111111111", + * }); + * ``` + */ +export function getCockpitSource(args?: GetCockpitSourceArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("scaleway:index/getCockpitSource:getCockpitSource", { + "id": args.id, + "name": args.name, + "origin": args.origin, + "projectId": args.projectId, + "type": args.type, + }, opts); +} + +/** + * A collection of arguments for invoking getCockpitSource. + */ +export interface GetCockpitSourceArgs { + /** + * The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + */ + id?: string; + /** + * The name of the data source. + */ + name?: string; + /** + * The origin of the data source. Possible values are: + */ + origin?: string; + /** + * The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + */ + projectId?: string; + /** + * 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; +} + +/** + * A collection of values returned by getCockpitSource. + */ +export interface GetCockpitSourceResult { + /** + * The date and time the data source was created (in RFC 3339 format). + */ + readonly createdAt: string; + /** + * The unique identifier of the data source in the `{region}/{id}` format. + */ + readonly id: string; + readonly name: string; + /** + * The origin of the data source. + */ + readonly origin: string; + readonly projectId: string; + readonly region: string; + /** + * The number of days the data is retained in the data source. + */ + readonly retentionDays: number; + /** + * Indicates whether the data source is synchronized with Grafana. + */ + readonly synchronizedWithGrafana: boolean; + readonly type: string; + /** + * The date and time the data source was last updated (in RFC 3339 format). + */ + readonly updatedAt: string; + /** + * The URL of the Cockpit data source. + */ + readonly url: string; +} +/** + * The `scaleway.CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + * + * ## Example Usage + * + * ### Retrieve a specific data source by ID + * + * The following example retrieves a Cockpit data source by its unique ID. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumi/scaleway"; + * + * const example = scaleway.getCockpitSource({ + * id: "fr-par/11111111-1111-1111-1111-111111111111", + * }); + * ``` + */ +export function getCockpitSourceOutput(args?: GetCockpitSourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("scaleway:index/getCockpitSource:getCockpitSource", { + "id": args.id, + "name": args.name, + "origin": args.origin, + "projectId": args.projectId, + "type": args.type, + }, opts); +} + +/** + * A collection of arguments for invoking getCockpitSource. + */ +export interface GetCockpitSourceOutputArgs { + /** + * The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + */ + id?: pulumi.Input; + /** + * The name of the data source. + */ + name?: pulumi.Input; + /** + * The origin of the data source. Possible values are: + */ + origin?: pulumi.Input; + /** + * The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + */ + projectId?: pulumi.Input; + /** + * 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/getConfig.ts b/sdk/nodejs/getConfig.ts index ed20a67d..5aa34943 100644 --- a/sdk/nodejs/getConfig.ts +++ b/sdk/nodejs/getConfig.ts @@ -29,7 +29,7 @@ export interface GetConfigResult { readonly zone: string; readonly zoneSource: string; } -export function getConfigOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getConfigOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getConfig:getConfig", { }, opts); diff --git a/sdk/nodejs/getContainer.ts b/sdk/nodejs/getContainer.ts index 2020f364..4611489c 100644 --- a/sdk/nodejs/getContainer.ts +++ b/sdk/nodejs/getContainer.ts @@ -220,7 +220,7 @@ export interface GetContainerResult { * * > **Important** Updating the `name` argument will recreate the container. */ -export function getContainerOutput(args: GetContainerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getContainerOutput(args: GetContainerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getContainer:getContainer", { "containerId": args.containerId, diff --git a/sdk/nodejs/getContainerNamespace.ts b/sdk/nodejs/getContainerNamespace.ts index 12400e1e..1706bbfb 100644 --- a/sdk/nodejs/getContainerNamespace.ts +++ b/sdk/nodejs/getContainerNamespace.ts @@ -125,7 +125,7 @@ export interface GetContainerNamespaceResult { * }); * ``` */ -export function getContainerNamespaceOutput(args?: GetContainerNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getContainerNamespaceOutput(args?: GetContainerNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getContainerNamespace:getContainerNamespace", { diff --git a/sdk/nodejs/getDatabase.ts b/sdk/nodejs/getDatabase.ts index 7741549b..fa893152 100644 --- a/sdk/nodejs/getDatabase.ts +++ b/sdk/nodejs/getDatabase.ts @@ -84,7 +84,7 @@ export interface GetDatabaseResult { * }); * ``` */ -export function getDatabaseOutput(args: GetDatabaseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDatabaseOutput(args: GetDatabaseOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDatabase:getDatabase", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/getDatabaseAcl.ts b/sdk/nodejs/getDatabaseAcl.ts index 26f9e58a..8cd26b58 100644 --- a/sdk/nodejs/getDatabaseAcl.ts +++ b/sdk/nodejs/getDatabaseAcl.ts @@ -73,7 +73,7 @@ export interface GetDatabaseAclResult { * }); * ``` */ -export function getDatabaseAclOutput(args: GetDatabaseAclOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDatabaseAclOutput(args: GetDatabaseAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDatabaseAcl:getDatabaseAcl", { "instanceId": args.instanceId, diff --git a/sdk/nodejs/getDatabaseBackup.ts b/sdk/nodejs/getDatabaseBackup.ts index ffd0d1bb..90089b16 100644 --- a/sdk/nodejs/getDatabaseBackup.ts +++ b/sdk/nodejs/getDatabaseBackup.ts @@ -106,7 +106,7 @@ export interface GetDatabaseBackupResult { * }); * ``` */ -export function getDatabaseBackupOutput(args?: GetDatabaseBackupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDatabaseBackupOutput(args?: GetDatabaseBackupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDatabaseBackup:getDatabaseBackup", { diff --git a/sdk/nodejs/getDatabaseInstance.ts b/sdk/nodejs/getDatabaseInstance.ts index 1cc5df75..bf908012 100644 --- a/sdk/nodejs/getDatabaseInstance.ts +++ b/sdk/nodejs/getDatabaseInstance.ts @@ -87,7 +87,7 @@ export interface GetDatabaseInstanceResult { * * For further information refer the Managed Databases for PostgreSQL and MySQL [API documentation](https://developers.scaleway.com/en/products/rdb/api/#database-instance) */ -export function getDatabaseInstanceOutput(args?: GetDatabaseInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDatabaseInstanceOutput(args?: GetDatabaseInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDatabaseInstance:getDatabaseInstance", { diff --git a/sdk/nodejs/getDatabasePrivilege.ts b/sdk/nodejs/getDatabasePrivilege.ts index b978c683..e2d2bef6 100644 --- a/sdk/nodejs/getDatabasePrivilege.ts +++ b/sdk/nodejs/getDatabasePrivilege.ts @@ -88,7 +88,7 @@ export interface GetDatabasePrivilegeResult { * }); * ``` */ -export function getDatabasePrivilegeOutput(args: GetDatabasePrivilegeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDatabasePrivilegeOutput(args: GetDatabasePrivilegeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDatabasePrivilege:getDatabasePrivilege", { "databaseName": args.databaseName, diff --git a/sdk/nodejs/getDomainRecord.ts b/sdk/nodejs/getDomainRecord.ts index 125830cc..fff8f04e 100644 --- a/sdk/nodejs/getDomainRecord.ts +++ b/sdk/nodejs/getDomainRecord.ts @@ -151,7 +151,7 @@ export interface GetDomainRecordResult { * }); * ``` */ -export function getDomainRecordOutput(args?: GetDomainRecordOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDomainRecordOutput(args?: GetDomainRecordOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDomainRecord:getDomainRecord", { diff --git a/sdk/nodejs/getDomainZone.ts b/sdk/nodejs/getDomainZone.ts index 28362b2c..e85ffa1b 100644 --- a/sdk/nodejs/getDomainZone.ts +++ b/sdk/nodejs/getDomainZone.ts @@ -63,7 +63,7 @@ export interface GetDomainZoneResult { */ readonly updatedAt: string; } -export function getDomainZoneOutput(args?: GetDomainZoneOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDomainZoneOutput(args?: GetDomainZoneOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getDomainZone:getDomainZone", { diff --git a/sdk/nodejs/getFlexibleIp.ts b/sdk/nodejs/getFlexibleIp.ts index e16aa764..c99ae527 100644 --- a/sdk/nodejs/getFlexibleIp.ts +++ b/sdk/nodejs/getFlexibleIp.ts @@ -70,7 +70,7 @@ export interface GetFlexibleIpResult { /** * Gets information about a Flexible IP. */ -export function getFlexibleIpOutput(args?: GetFlexibleIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getFlexibleIpOutput(args?: GetFlexibleIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getFlexibleIp:getFlexibleIp", { diff --git a/sdk/nodejs/getFlexibleIps.ts b/sdk/nodejs/getFlexibleIps.ts index 0faa4286..b1a2c6d9 100644 --- a/sdk/nodejs/getFlexibleIps.ts +++ b/sdk/nodejs/getFlexibleIps.ts @@ -153,7 +153,7 @@ export interface GetFlexibleIpsResult { * }); * ``` */ -export function getFlexibleIpsOutput(args?: GetFlexibleIpsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getFlexibleIpsOutput(args?: GetFlexibleIpsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getFlexibleIps:getFlexibleIps", { diff --git a/sdk/nodejs/getFunction.ts b/sdk/nodejs/getFunction.ts index 1a000505..81258b36 100644 --- a/sdk/nodejs/getFunction.ts +++ b/sdk/nodejs/getFunction.ts @@ -87,7 +87,7 @@ export interface GetFunctionResult { * * For more information on the limitations of Serverless Functions, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/compute/functions/reference-content/functions-limitations/). */ -export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getFunctionOutput(args: GetFunctionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getFunction:getFunction", { "functionId": args.functionId, diff --git a/sdk/nodejs/getFunctionNamespace.ts b/sdk/nodejs/getFunctionNamespace.ts index 80125e22..04f853ee 100644 --- a/sdk/nodejs/getFunctionNamespace.ts +++ b/sdk/nodejs/getFunctionNamespace.ts @@ -82,7 +82,7 @@ export interface GetFunctionNamespaceResult { * * Refer to the Serverless Functions [product documentation](https://www.scaleway.com/en/docs/serverless/functions/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) for more information. */ -export function getFunctionNamespaceOutput(args?: GetFunctionNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getFunctionNamespaceOutput(args?: GetFunctionNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getFunctionNamespace:getFunctionNamespace", { diff --git a/sdk/nodejs/getIamApiKey.ts b/sdk/nodejs/getIamApiKey.ts index 22fa2478..82ae61bd 100644 --- a/sdk/nodejs/getIamApiKey.ts +++ b/sdk/nodejs/getIamApiKey.ts @@ -70,7 +70,7 @@ export interface GetIamApiKeyResult { * }); * ``` */ -export function getIamApiKeyOutput(args: GetIamApiKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamApiKeyOutput(args: GetIamApiKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIamApiKey:getIamApiKey", { "accessKey": args.accessKey, diff --git a/sdk/nodejs/getIamApplication.ts b/sdk/nodejs/getIamApplication.ts index 1c67d369..e17eaad7 100644 --- a/sdk/nodejs/getIamApplication.ts +++ b/sdk/nodejs/getIamApplication.ts @@ -90,7 +90,7 @@ export interface GetIamApplicationResult { * }); * ``` */ -export function getIamApplicationOutput(args?: GetIamApplicationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamApplicationOutput(args?: GetIamApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIamApplication:getIamApplication", { diff --git a/sdk/nodejs/getIamGroup.ts b/sdk/nodejs/getIamGroup.ts index 4a907d3c..48898de6 100644 --- a/sdk/nodejs/getIamGroup.ts +++ b/sdk/nodejs/getIamGroup.ts @@ -96,7 +96,7 @@ export interface GetIamGroupResult { * }); * ``` */ -export function getIamGroupOutput(args?: GetIamGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamGroupOutput(args?: GetIamGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIamGroup:getIamGroup", { diff --git a/sdk/nodejs/getIamSshKey.ts b/sdk/nodejs/getIamSshKey.ts index edd91717..f74f798d 100644 --- a/sdk/nodejs/getIamSshKey.ts +++ b/sdk/nodejs/getIamSshKey.ts @@ -74,7 +74,7 @@ export interface GetIamSshKeyResult { /** * Use this data source to get SSH key information based on its ID or name. */ -export function getIamSshKeyOutput(args?: GetIamSshKeyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamSshKeyOutput(args?: GetIamSshKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIamSshKey:getIamSshKey", { diff --git a/sdk/nodejs/getIamUser.ts b/sdk/nodejs/getIamUser.ts index 8597146f..dd8ebd14 100644 --- a/sdk/nodejs/getIamUser.ts +++ b/sdk/nodejs/getIamUser.ts @@ -96,7 +96,7 @@ export interface GetIamUserResult { * }); * ``` */ -export function getIamUserOutput(args?: GetIamUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIamUserOutput(args?: GetIamUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIamUser:getIamUser", { diff --git a/sdk/nodejs/getInstanceImage.ts b/sdk/nodejs/getInstanceImage.ts index 0acc1633..8e551be9 100644 --- a/sdk/nodejs/getInstanceImage.ts +++ b/sdk/nodejs/getInstanceImage.ts @@ -107,7 +107,7 @@ export interface GetInstanceImageResult { /** * Gets information about an instance image. */ -export function getInstanceImageOutput(args?: GetInstanceImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceImageOutput(args?: GetInstanceImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceImage:getInstanceImage", { diff --git a/sdk/nodejs/getInstanceIp.ts b/sdk/nodejs/getInstanceIp.ts index 9e6ac6ec..4062819d 100644 --- a/sdk/nodejs/getInstanceIp.ts +++ b/sdk/nodejs/getInstanceIp.ts @@ -68,7 +68,7 @@ export interface GetInstanceIpResult { /** * Gets information about an instance IP. */ -export function getInstanceIpOutput(args?: GetInstanceIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceIpOutput(args?: GetInstanceIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceIp:getInstanceIp", { diff --git a/sdk/nodejs/getInstancePlacementGroup.ts b/sdk/nodejs/getInstancePlacementGroup.ts index 92116d98..2dd9202f 100644 --- a/sdk/nodejs/getInstancePlacementGroup.ts +++ b/sdk/nodejs/getInstancePlacementGroup.ts @@ -76,7 +76,7 @@ export interface GetInstancePlacementGroupResult { /** * Gets information about a Security Group. */ -export function getInstancePlacementGroupOutput(args?: GetInstancePlacementGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstancePlacementGroupOutput(args?: GetInstancePlacementGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup", { diff --git a/sdk/nodejs/getInstancePrivateNic.ts b/sdk/nodejs/getInstancePrivateNic.ts index 5a6914dc..868ce89c 100644 --- a/sdk/nodejs/getInstancePrivateNic.ts +++ b/sdk/nodejs/getInstancePrivateNic.ts @@ -107,7 +107,7 @@ export interface GetInstancePrivateNicResult { * }); * ``` */ -export function getInstancePrivateNicOutput(args: GetInstancePrivateNicOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstancePrivateNicOutput(args: GetInstancePrivateNicOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstancePrivateNic:getInstancePrivateNic", { "privateNetworkId": args.privateNetworkId, diff --git a/sdk/nodejs/getInstanceSecurityGroup.ts b/sdk/nodejs/getInstanceSecurityGroup.ts index 4b6e6196..32ce3d1b 100644 --- a/sdk/nodejs/getInstanceSecurityGroup.ts +++ b/sdk/nodejs/getInstanceSecurityGroup.ts @@ -83,7 +83,7 @@ export interface GetInstanceSecurityGroupResult { /** * Gets information about a Security Group. */ -export function getInstanceSecurityGroupOutput(args?: GetInstanceSecurityGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceSecurityGroupOutput(args?: GetInstanceSecurityGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup", { diff --git a/sdk/nodejs/getInstanceServer.ts b/sdk/nodejs/getInstanceServer.ts index a48405e9..860a76e8 100644 --- a/sdk/nodejs/getInstanceServer.ts +++ b/sdk/nodejs/getInstanceServer.ts @@ -147,7 +147,7 @@ export interface GetInstanceServerResult { /** * Gets information about an instance server. */ -export function getInstanceServerOutput(args?: GetInstanceServerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceServerOutput(args?: GetInstanceServerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceServer:getInstanceServer", { diff --git a/sdk/nodejs/getInstanceServers.ts b/sdk/nodejs/getInstanceServers.ts index db515cee..d831f25e 100644 --- a/sdk/nodejs/getInstanceServers.ts +++ b/sdk/nodejs/getInstanceServers.ts @@ -82,7 +82,7 @@ export interface GetInstanceServersResult { * * ## Examples */ -export function getInstanceServersOutput(args?: GetInstanceServersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceServersOutput(args?: GetInstanceServersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceServers:getInstanceServers", { diff --git a/sdk/nodejs/getInstanceSnapshot.ts b/sdk/nodejs/getInstanceSnapshot.ts index f91ef426..99892085 100644 --- a/sdk/nodejs/getInstanceSnapshot.ts +++ b/sdk/nodejs/getInstanceSnapshot.ts @@ -99,7 +99,7 @@ export interface GetInstanceSnapshotResult { * }); * ``` */ -export function getInstanceSnapshotOutput(args?: GetInstanceSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceSnapshotOutput(args?: GetInstanceSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceSnapshot:getInstanceSnapshot", { diff --git a/sdk/nodejs/getInstanceVolume.ts b/sdk/nodejs/getInstanceVolume.ts index 79dfef02..f5715398 100644 --- a/sdk/nodejs/getInstanceVolume.ts +++ b/sdk/nodejs/getInstanceVolume.ts @@ -67,7 +67,7 @@ export interface GetInstanceVolumeResult { /** * Gets information about an instance volume. */ -export function getInstanceVolumeOutput(args?: GetInstanceVolumeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getInstanceVolumeOutput(args?: GetInstanceVolumeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getInstanceVolume:getInstanceVolume", { diff --git a/sdk/nodejs/getIotDevice.ts b/sdk/nodejs/getIotDevice.ts index 1dc0293c..f3d8984a 100644 --- a/sdk/nodejs/getIotDevice.ts +++ b/sdk/nodejs/getIotDevice.ts @@ -70,7 +70,7 @@ export interface GetIotDeviceResult { /** * Gets information about an IOT Device. */ -export function getIotDeviceOutput(args?: GetIotDeviceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIotDeviceOutput(args?: GetIotDeviceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIotDevice:getIotDevice", { diff --git a/sdk/nodejs/getIotHub.ts b/sdk/nodejs/getIotHub.ts index fe94836b..fa1f389e 100644 --- a/sdk/nodejs/getIotHub.ts +++ b/sdk/nodejs/getIotHub.ts @@ -74,7 +74,7 @@ export interface GetIotHubResult { /** * Gets information about an IOT Hub. */ -export function getIotHubOutput(args?: GetIotHubOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIotHubOutput(args?: GetIotHubOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIotHub:getIotHub", { diff --git a/sdk/nodejs/getIpamIp.ts b/sdk/nodejs/getIpamIp.ts index ea3eaf42..41f16251 100644 --- a/sdk/nodejs/getIpamIp.ts +++ b/sdk/nodejs/getIpamIp.ts @@ -255,7 +255,7 @@ export interface GetIpamIpResult { * }); * ``` */ -export function getIpamIpOutput(args?: GetIpamIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIpamIpOutput(args?: GetIpamIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIpamIp:getIpamIp", { diff --git a/sdk/nodejs/getIpamIps.ts b/sdk/nodejs/getIpamIps.ts index 153f00b7..ed5fc0b1 100644 --- a/sdk/nodejs/getIpamIps.ts +++ b/sdk/nodejs/getIpamIps.ts @@ -209,7 +209,7 @@ export interface GetIpamIpsResult { * }); * ``` */ -export function getIpamIpsOutput(args?: GetIpamIpsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getIpamIpsOutput(args?: GetIpamIpsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getIpamIps:getIpamIps", { diff --git a/sdk/nodejs/getK8sVersion.ts b/sdk/nodejs/getK8sVersion.ts index 2c90130a..bf92de7f 100644 --- a/sdk/nodejs/getK8sVersion.ts +++ b/sdk/nodejs/getK8sVersion.ts @@ -109,7 +109,7 @@ export interface GetK8sVersionResult { * }); * ``` */ -export function getK8sVersionOutput(args: GetK8sVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getK8sVersionOutput(args: GetK8sVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getK8sVersion:getK8sVersion", { "name": args.name, diff --git a/sdk/nodejs/getKubernetesCluster.ts b/sdk/nodejs/getKubernetesCluster.ts index 69265c62..f2beb8b9 100644 --- a/sdk/nodejs/getKubernetesCluster.ts +++ b/sdk/nodejs/getKubernetesCluster.ts @@ -132,7 +132,7 @@ export interface GetKubernetesClusterResult { /** * Gets information about a Kubernetes Cluster. */ -export function getKubernetesClusterOutput(args?: GetKubernetesClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getKubernetesClusterOutput(args?: GetKubernetesClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getKubernetesCluster:getKubernetesCluster", { diff --git a/sdk/nodejs/getKubernetesNodePool.ts b/sdk/nodejs/getKubernetesNodePool.ts index 197c3060..b9356a23 100644 --- a/sdk/nodejs/getKubernetesNodePool.ts +++ b/sdk/nodejs/getKubernetesNodePool.ts @@ -130,7 +130,7 @@ export interface GetKubernetesNodePoolResult { /** * Gets information about a Kubernetes Cluster's Pool. */ -export function getKubernetesNodePoolOutput(args?: GetKubernetesNodePoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getKubernetesNodePoolOutput(args?: GetKubernetesNodePoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getKubernetesNodePool:getKubernetesNodePool", { diff --git a/sdk/nodejs/getLbAcls.ts b/sdk/nodejs/getLbAcls.ts index 30c426fb..4ec274f1 100644 --- a/sdk/nodejs/getLbAcls.ts +++ b/sdk/nodejs/getLbAcls.ts @@ -98,7 +98,7 @@ export interface GetLbAclsResult { * }); * ``` */ -export function getLbAclsOutput(args: GetLbAclsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbAclsOutput(args: GetLbAclsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbAcls:getLbAcls", { "frontendId": args.frontendId, diff --git a/sdk/nodejs/getLbBackend.ts b/sdk/nodejs/getLbBackend.ts index bbdbed22..6535ac6a 100644 --- a/sdk/nodejs/getLbBackend.ts +++ b/sdk/nodejs/getLbBackend.ts @@ -142,7 +142,7 @@ export interface GetLbBackendResult { * }); * ``` */ -export function getLbBackendOutput(args?: GetLbBackendOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbBackendOutput(args?: GetLbBackendOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbBackend:getLbBackend", { diff --git a/sdk/nodejs/getLbBackends.ts b/sdk/nodejs/getLbBackends.ts index 30d4ccb8..e3532298 100644 --- a/sdk/nodejs/getLbBackends.ts +++ b/sdk/nodejs/getLbBackends.ts @@ -97,7 +97,7 @@ export interface GetLbBackendsResult { * }); * ``` */ -export function getLbBackendsOutput(args: GetLbBackendsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbBackendsOutput(args: GetLbBackendsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbBackends:getLbBackends", { "lbId": args.lbId, diff --git a/sdk/nodejs/getLbFrontend.ts b/sdk/nodejs/getLbFrontend.ts index 0c7e97f4..4ba8162b 100644 --- a/sdk/nodejs/getLbFrontend.ts +++ b/sdk/nodejs/getLbFrontend.ts @@ -132,7 +132,7 @@ export interface GetLbFrontendResult { * }); * ``` */ -export function getLbFrontendOutput(args?: GetLbFrontendOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbFrontendOutput(args?: GetLbFrontendOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbFrontend:getLbFrontend", { diff --git a/sdk/nodejs/getLbFrontends.ts b/sdk/nodejs/getLbFrontends.ts index 74203543..204366d2 100644 --- a/sdk/nodejs/getLbFrontends.ts +++ b/sdk/nodejs/getLbFrontends.ts @@ -97,7 +97,7 @@ export interface GetLbFrontendsResult { * }); * ``` */ -export function getLbFrontendsOutput(args: GetLbFrontendsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbFrontendsOutput(args: GetLbFrontendsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbFrontends:getLbFrontends", { "lbId": args.lbId, diff --git a/sdk/nodejs/getLbIps.ts b/sdk/nodejs/getLbIps.ts index 348cb303..98d778e4 100644 --- a/sdk/nodejs/getLbIps.ts +++ b/sdk/nodejs/getLbIps.ts @@ -82,7 +82,7 @@ export interface GetLbIpsResult { * * For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-flex-ips/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-ip-addresses-list-ip-addresses). */ -export function getLbIpsOutput(args?: GetLbIpsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbIpsOutput(args?: GetLbIpsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbIps:getLbIps", { diff --git a/sdk/nodejs/getLbRoute.ts b/sdk/nodejs/getLbRoute.ts index 8ed931dc..a98c14e7 100644 --- a/sdk/nodejs/getLbRoute.ts +++ b/sdk/nodejs/getLbRoute.ts @@ -115,7 +115,7 @@ export interface GetLbRouteResult { * }); * ``` */ -export function getLbRouteOutput(args: GetLbRouteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbRouteOutput(args: GetLbRouteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbRoute:getLbRoute", { "routeId": args.routeId, diff --git a/sdk/nodejs/getLbRoutes.ts b/sdk/nodejs/getLbRoutes.ts index 7daf82ee..e0888e0d 100644 --- a/sdk/nodejs/getLbRoutes.ts +++ b/sdk/nodejs/getLbRoutes.ts @@ -92,7 +92,7 @@ export interface GetLbRoutesResult { * }); * ``` */ -export function getLbRoutesOutput(args?: GetLbRoutesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbRoutesOutput(args?: GetLbRoutesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbRoutes:getLbRoutes", { diff --git a/sdk/nodejs/getLbs.ts b/sdk/nodejs/getLbs.ts index 09de7df2..93c96781 100644 --- a/sdk/nodejs/getLbs.ts +++ b/sdk/nodejs/getLbs.ts @@ -82,7 +82,7 @@ export interface GetLbsResult { * * For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers). */ -export function getLbsOutput(args?: GetLbsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLbsOutput(args?: GetLbsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLbs:getLbs", { diff --git a/sdk/nodejs/getLoadbalancer.ts b/sdk/nodejs/getLoadbalancer.ts index 6587def6..364ea49a 100644 --- a/sdk/nodejs/getLoadbalancer.ts +++ b/sdk/nodejs/getLoadbalancer.ts @@ -119,7 +119,7 @@ export interface GetLoadbalancerResult { * }); * ``` */ -export function getLoadbalancerOutput(args?: GetLoadbalancerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLoadbalancerOutput(args?: GetLoadbalancerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLoadbalancer:getLoadbalancer", { diff --git a/sdk/nodejs/getLoadbalancerCertificate.ts b/sdk/nodejs/getLoadbalancerCertificate.ts index e3973702..31a288db 100644 --- a/sdk/nodejs/getLoadbalancerCertificate.ts +++ b/sdk/nodejs/getLoadbalancerCertificate.ts @@ -74,7 +74,7 @@ export interface GetLoadbalancerCertificateResult { * * ## Examples */ -export function getLoadbalancerCertificateOutput(args?: GetLoadbalancerCertificateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLoadbalancerCertificateOutput(args?: GetLoadbalancerCertificateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate", { diff --git a/sdk/nodejs/getLoadbalancerIp.ts b/sdk/nodejs/getLoadbalancerIp.ts index a20a3c45..63a7dd4a 100644 --- a/sdk/nodejs/getLoadbalancerIp.ts +++ b/sdk/nodejs/getLoadbalancerIp.ts @@ -80,7 +80,7 @@ export interface GetLoadbalancerIpResult { * * For more information, see the [main documentation](https://www.scaleway.com/en/docs/network/load-balancer/how-to/create-manage-flex-ips/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-ip-addresses-list-ip-addresses). */ -export function getLoadbalancerIpOutput(args?: GetLoadbalancerIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getLoadbalancerIpOutput(args?: GetLoadbalancerIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getLoadbalancerIp:getLoadbalancerIp", { diff --git a/sdk/nodejs/getMarketplaceImage.ts b/sdk/nodejs/getMarketplaceImage.ts index b03b2e19..8a2d18e7 100644 --- a/sdk/nodejs/getMarketplaceImage.ts +++ b/sdk/nodejs/getMarketplaceImage.ts @@ -73,7 +73,7 @@ export interface GetMarketplaceImageResult { * }); * ``` */ -export function getMarketplaceImageOutput(args: GetMarketplaceImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getMarketplaceImageOutput(args: GetMarketplaceImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getMarketplaceImage:getMarketplaceImage", { "instanceType": args.instanceType, diff --git a/sdk/nodejs/getMnqSns.ts b/sdk/nodejs/getMnqSns.ts index 00152391..a34ad134 100644 --- a/sdk/nodejs/getMnqSns.ts +++ b/sdk/nodejs/getMnqSns.ts @@ -80,7 +80,7 @@ export interface GetMnqSnsResult { * }); * ``` */ -export function getMnqSnsOutput(args?: GetMnqSnsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getMnqSnsOutput(args?: GetMnqSnsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getMnqSns:getMnqSns", { diff --git a/sdk/nodejs/getMnqSqs.ts b/sdk/nodejs/getMnqSqs.ts index dfdbb112..4b67dabc 100644 --- a/sdk/nodejs/getMnqSqs.ts +++ b/sdk/nodejs/getMnqSqs.ts @@ -80,7 +80,7 @@ export interface GetMnqSqsResult { * }); * ``` */ -export function getMnqSqsOutput(args?: GetMnqSqsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getMnqSqsOutput(args?: GetMnqSqsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getMnqSqs:getMnqSqs", { diff --git a/sdk/nodejs/getMongoDbInstance.ts b/sdk/nodejs/getMongoDbInstance.ts index 99b768f7..c471571c 100644 --- a/sdk/nodejs/getMongoDbInstance.ts +++ b/sdk/nodejs/getMongoDbInstance.ts @@ -107,7 +107,7 @@ export interface GetMongoDbInstanceResult { * * For further information refer to the Managed Databases for MongoDB® [API documentation](https://developers.scaleway.com/en/products/mongodb/api/) */ -export function getMongoDbInstanceOutput(args?: GetMongoDbInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getMongoDbInstanceOutput(args?: GetMongoDbInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getMongoDbInstance:getMongoDbInstance", { diff --git a/sdk/nodejs/getObjectBucket.ts b/sdk/nodejs/getObjectBucket.ts index 6e30f54a..55a24a71 100644 --- a/sdk/nodejs/getObjectBucket.ts +++ b/sdk/nodejs/getObjectBucket.ts @@ -135,7 +135,7 @@ export interface GetObjectBucketResult { * }); * ``` */ -export function getObjectBucketOutput(args?: GetObjectBucketOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getObjectBucketOutput(args?: GetObjectBucketOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getObjectBucket:getObjectBucket", { diff --git a/sdk/nodejs/getObjectBucketPolicy.ts b/sdk/nodejs/getObjectBucketPolicy.ts index 4c81ca47..701a3a0b 100644 --- a/sdk/nodejs/getObjectBucketPolicy.ts +++ b/sdk/nodejs/getObjectBucketPolicy.ts @@ -80,7 +80,7 @@ export interface GetObjectBucketPolicyResult { * }); * ``` */ -export function getObjectBucketPolicyOutput(args: GetObjectBucketPolicyOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getObjectBucketPolicyOutput(args: GetObjectBucketPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy", { "bucket": args.bucket, diff --git a/sdk/nodejs/getRedisCluster.ts b/sdk/nodejs/getRedisCluster.ts index 56d6f0f3..9951add2 100644 --- a/sdk/nodejs/getRedisCluster.ts +++ b/sdk/nodejs/getRedisCluster.ts @@ -120,7 +120,7 @@ export interface GetRedisClusterResult { * * For further information refer to the Managed Database for Redis™ [API documentation](https://developers.scaleway.com/en/products/redis/api/v1alpha1/#clusters-a85816). */ -export function getRedisClusterOutput(args?: GetRedisClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRedisClusterOutput(args?: GetRedisClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getRedisCluster:getRedisCluster", { diff --git a/sdk/nodejs/getRegistryImage.ts b/sdk/nodejs/getRegistryImage.ts index 84d44de0..8f639afd 100644 --- a/sdk/nodejs/getRegistryImage.ts +++ b/sdk/nodejs/getRegistryImage.ts @@ -89,7 +89,7 @@ export interface GetRegistryImageResult { /** * Gets information about a Container Registry image. */ -export function getRegistryImageOutput(args?: GetRegistryImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRegistryImageOutput(args?: GetRegistryImageOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getRegistryImage:getRegistryImage", { diff --git a/sdk/nodejs/getRegistryImageTag.ts b/sdk/nodejs/getRegistryImageTag.ts index 494aae51..d7cb8cab 100644 --- a/sdk/nodejs/getRegistryImageTag.ts +++ b/sdk/nodejs/getRegistryImageTag.ts @@ -81,7 +81,7 @@ export interface GetRegistryImageTagResult { /** * Gets information about a specific tag of a Container Registry image. */ -export function getRegistryImageTagOutput(args: GetRegistryImageTagOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRegistryImageTagOutput(args: GetRegistryImageTagOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getRegistryImageTag:getRegistryImageTag", { "imageId": args.imageId, diff --git a/sdk/nodejs/getRegistryNamespace.ts b/sdk/nodejs/getRegistryNamespace.ts index 6ebbb648..ea92eb81 100644 --- a/sdk/nodejs/getRegistryNamespace.ts +++ b/sdk/nodejs/getRegistryNamespace.ts @@ -71,7 +71,7 @@ export interface GetRegistryNamespaceResult { /** * Gets information about a registry namespace. */ -export function getRegistryNamespaceOutput(args?: GetRegistryNamespaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getRegistryNamespaceOutput(args?: GetRegistryNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getRegistryNamespace:getRegistryNamespace", { diff --git a/sdk/nodejs/getSecret.ts b/sdk/nodejs/getSecret.ts index fff5e8e4..743d28c1 100644 --- a/sdk/nodejs/getSecret.ts +++ b/sdk/nodejs/getSecret.ts @@ -147,7 +147,7 @@ export interface GetSecretResult { * }); * ``` */ -export function getSecretOutput(args?: GetSecretOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getSecretOutput(args?: GetSecretOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getSecret:getSecret", { diff --git a/sdk/nodejs/getSecretVersion.ts b/sdk/nodejs/getSecretVersion.ts index fb472e7f..d7221932 100644 --- a/sdk/nodejs/getSecretVersion.ts +++ b/sdk/nodejs/getSecretVersion.ts @@ -191,7 +191,7 @@ export interface GetSecretVersionResult { * * > **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 { +export function getSecretVersionOutput(args?: GetSecretVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getSecretVersion:getSecretVersion", { diff --git a/sdk/nodejs/getTemDomain.ts b/sdk/nodejs/getTemDomain.ts index 3f8d89ae..d463f3c5 100644 --- a/sdk/nodejs/getTemDomain.ts +++ b/sdk/nodejs/getTemDomain.ts @@ -81,7 +81,7 @@ export interface GetTemDomainResult { /** * Gets information about a transactional email domain. */ -export function getTemDomainOutput(args?: GetTemDomainOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getTemDomainOutput(args?: GetTemDomainOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getTemDomain:getTemDomain", { diff --git a/sdk/nodejs/getVpc.ts b/sdk/nodejs/getVpc.ts index d60e5a68..9b20b4aa 100644 --- a/sdk/nodejs/getVpc.ts +++ b/sdk/nodejs/getVpc.ts @@ -109,7 +109,7 @@ export interface GetVpcResult { * }); * ``` */ -export function getVpcOutput(args?: GetVpcOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcOutput(args?: GetVpcOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpc:getVpc", { diff --git a/sdk/nodejs/getVpcGatewayNetwork.ts b/sdk/nodejs/getVpcGatewayNetwork.ts index b34ec485..5aeb13ed 100644 --- a/sdk/nodejs/getVpcGatewayNetwork.ts +++ b/sdk/nodejs/getVpcGatewayNetwork.ts @@ -107,7 +107,7 @@ export interface GetVpcGatewayNetworkResult { * }); * ``` */ -export function getVpcGatewayNetworkOutput(args?: GetVpcGatewayNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcGatewayNetworkOutput(args?: GetVpcGatewayNetworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork", { diff --git a/sdk/nodejs/getVpcPrivateNetwork.ts b/sdk/nodejs/getVpcPrivateNetwork.ts index 80774f19..c0095f98 100644 --- a/sdk/nodejs/getVpcPrivateNetwork.ts +++ b/sdk/nodejs/getVpcPrivateNetwork.ts @@ -117,7 +117,7 @@ export interface GetVpcPrivateNetworkResult { * }); * ``` */ -export function getVpcPrivateNetworkOutput(args?: GetVpcPrivateNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPrivateNetworkOutput(args?: GetVpcPrivateNetworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork", { diff --git a/sdk/nodejs/getVpcPublicGateway.ts b/sdk/nodejs/getVpcPublicGateway.ts index 6fb2ea20..f13b8995 100644 --- a/sdk/nodejs/getVpcPublicGateway.ts +++ b/sdk/nodejs/getVpcPublicGateway.ts @@ -107,7 +107,7 @@ export interface GetVpcPublicGatewayResult { * }); * ``` */ -export function getVpcPublicGatewayOutput(args?: GetVpcPublicGatewayOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPublicGatewayOutput(args?: GetVpcPublicGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPublicGateway:getVpcPublicGateway", { diff --git a/sdk/nodejs/getVpcPublicGatewayDhcp.ts b/sdk/nodejs/getVpcPublicGatewayDhcp.ts index 2ba4a90a..66ae6fad 100644 --- a/sdk/nodejs/getVpcPublicGatewayDhcp.ts +++ b/sdk/nodejs/getVpcPublicGatewayDhcp.ts @@ -78,7 +78,7 @@ export interface GetVpcPublicGatewayDhcpResult { * }); * ``` */ -export function getVpcPublicGatewayDhcpOutput(args: GetVpcPublicGatewayDhcpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPublicGatewayDhcpOutput(args: GetVpcPublicGatewayDhcpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp", { "dhcpId": args.dhcpId, diff --git a/sdk/nodejs/getVpcPublicGatewayDhcpReservation.ts b/sdk/nodejs/getVpcPublicGatewayDhcpReservation.ts index b4b84857..a5db5af0 100644 --- a/sdk/nodejs/getVpcPublicGatewayDhcpReservation.ts +++ b/sdk/nodejs/getVpcPublicGatewayDhcpReservation.ts @@ -263,7 +263,7 @@ export interface GetVpcPublicGatewayDhcpReservationResult { * }); * ``` */ -export function getVpcPublicGatewayDhcpReservationOutput(args?: GetVpcPublicGatewayDhcpReservationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPublicGatewayDhcpReservationOutput(args?: GetVpcPublicGatewayDhcpReservationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation", { diff --git a/sdk/nodejs/getVpcPublicGatewayIp.ts b/sdk/nodejs/getVpcPublicGatewayIp.ts index 21ed37ec..0974e9b9 100644 --- a/sdk/nodejs/getVpcPublicGatewayIp.ts +++ b/sdk/nodejs/getVpcPublicGatewayIp.ts @@ -73,7 +73,7 @@ export interface GetVpcPublicGatewayIpResult { * }); * ``` */ -export function getVpcPublicGatewayIpOutput(args?: GetVpcPublicGatewayIpOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPublicGatewayIpOutput(args?: GetVpcPublicGatewayIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp", { diff --git a/sdk/nodejs/getVpcPublicPatRule.ts b/sdk/nodejs/getVpcPublicPatRule.ts index 87e5e28f..b64f4b16 100644 --- a/sdk/nodejs/getVpcPublicPatRule.ts +++ b/sdk/nodejs/getVpcPublicPatRule.ts @@ -185,7 +185,7 @@ export interface GetVpcPublicPatRuleResult { * }); * ``` */ -export function getVpcPublicPatRuleOutput(args: GetVpcPublicPatRuleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcPublicPatRuleOutput(args: GetVpcPublicPatRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule", { "patRuleId": args.patRuleId, diff --git a/sdk/nodejs/getVpcRoutes.ts b/sdk/nodejs/getVpcRoutes.ts index 9ee30ac7..34fe1715 100644 --- a/sdk/nodejs/getVpcRoutes.ts +++ b/sdk/nodejs/getVpcRoutes.ts @@ -80,7 +80,7 @@ export interface GetVpcRoutesResult { /** * Gets information about multiple VPC routes. */ -export function getVpcRoutesOutput(args?: GetVpcRoutesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcRoutesOutput(args?: GetVpcRoutesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcRoutes:getVpcRoutes", { diff --git a/sdk/nodejs/getVpcs.ts b/sdk/nodejs/getVpcs.ts index 957784cd..0bfd45d4 100644 --- a/sdk/nodejs/getVpcs.ts +++ b/sdk/nodejs/getVpcs.ts @@ -69,7 +69,7 @@ export interface GetVpcsResult { /** * Gets information about multiple Virtual Private Clouds. */ -export function getVpcsOutput(args?: GetVpcsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getVpcsOutput(args?: GetVpcsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getVpcs:getVpcs", { diff --git a/sdk/nodejs/getWebHostOffer.ts b/sdk/nodejs/getWebHostOffer.ts index 1c1e2ddc..79ef2442 100644 --- a/sdk/nodejs/getWebHostOffer.ts +++ b/sdk/nodejs/getWebHostOffer.ts @@ -96,7 +96,7 @@ export interface GetWebHostOfferResult { * }); * ``` */ -export function getWebHostOfferOutput(args?: GetWebHostOfferOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getWebHostOfferOutput(args?: GetWebHostOfferOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getWebHostOffer:getWebHostOffer", { diff --git a/sdk/nodejs/getWebhosting.ts b/sdk/nodejs/getWebhosting.ts index 1afae298..8c6f2560 100644 --- a/sdk/nodejs/getWebhosting.ts +++ b/sdk/nodejs/getWebhosting.ts @@ -105,7 +105,7 @@ export interface GetWebhostingResult { * }); * ``` */ -export function getWebhostingOutput(args?: GetWebhostingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { +export function getWebhostingOutput(args?: GetWebhostingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("scaleway:index/getWebhosting:getWebhosting", { diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 383e01f9..df9783c9 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -240,6 +240,11 @@ export const getCockpitPlan: typeof import("./getCockpitPlan").getCockpitPlan = export const getCockpitPlanOutput: typeof import("./getCockpitPlan").getCockpitPlanOutput = null as any; utilities.lazyLoad(exports, ["getCockpitPlan","getCockpitPlanOutput"], () => require("./getCockpitPlan")); +export { GetCockpitSourceArgs, GetCockpitSourceResult, GetCockpitSourceOutputArgs } from "./getCockpitSource"; +export const getCockpitSource: typeof import("./getCockpitSource").getCockpitSource = null as any; +export const getCockpitSourceOutput: typeof import("./getCockpitSource").getCockpitSourceOutput = null as any; +utilities.lazyLoad(exports, ["getCockpitSource","getCockpitSourceOutput"], () => require("./getCockpitSource")); + export { GetConfigResult } from "./getConfig"; export const getConfig: typeof import("./getConfig").getConfig = null as any; export const getConfigOutput: typeof import("./getConfig").getConfigOutput = null as any; diff --git a/sdk/nodejs/instanceServer.ts b/sdk/nodejs/instanceServer.ts index da8fdfd4..1d2292df 100644 --- a/sdk/nodejs/instanceServer.ts +++ b/sdk/nodejs/instanceServer.ts @@ -322,7 +322,9 @@ export class InstanceServer extends pulumi.CustomResource { */ public /*out*/ readonly placementGroupPolicyRespected!: pulumi.Output; /** - * The Scaleway internal IP address of the server. + * The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). + * + * @deprecated Use ipamIp datasource instead to fetch your server's IP in your private network. */ public /*out*/ readonly privateIp!: pulumi.Output; /** @@ -577,7 +579,9 @@ export interface InstanceServerState { */ placementGroupPolicyRespected?: pulumi.Input; /** - * The Scaleway internal IP address of the server. + * The Scaleway internal IP address of the server (Deprecated use ipamIp datasource instead). + * + * @deprecated Use ipamIp datasource instead to fetch your server's IP in your private network. */ privateIp?: pulumi.Input; /** diff --git a/sdk/nodejs/objectBucket.ts b/sdk/nodejs/objectBucket.ts index d7688239..c4734d5f 100644 --- a/sdk/nodejs/objectBucket.ts +++ b/sdk/nodejs/objectBucket.ts @@ -158,7 +158,7 @@ export class ObjectBucket extends pulumi.CustomResource { * API URL of the bucket */ public /*out*/ readonly apiEndpoint!: pulumi.Output; - public readonly corsRules!: pulumi.Output; + public readonly corsRules!: pulumi.Output; /** * The endpoint URL of the bucket. */ diff --git a/sdk/nodejs/objectItem.ts b/sdk/nodejs/objectItem.ts index 822b249d..4a98b9ab 100644 --- a/sdk/nodejs/objectItem.ts +++ b/sdk/nodejs/objectItem.ts @@ -95,6 +95,10 @@ export class ObjectItem extends pulumi.CustomResource { * The Scaleway region the bucket resides in. */ public readonly region!: pulumi.Output; + /** + * Customer's encryption keys to encrypt data (SSE-C) + */ + public readonly sseCustomerKey!: pulumi.Output; /** * Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. */ @@ -130,6 +134,7 @@ export class ObjectItem extends pulumi.CustomResource { resourceInputs["metadata"] = state ? state.metadata : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["region"] = state ? state.region : undefined; + resourceInputs["sseCustomerKey"] = state ? state.sseCustomerKey : undefined; resourceInputs["storageClass"] = state ? state.storageClass : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["visibility"] = state ? state.visibility : undefined; @@ -150,11 +155,14 @@ export class ObjectItem extends pulumi.CustomResource { resourceInputs["metadata"] = args ? args.metadata : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["sseCustomerKey"] = args?.sseCustomerKey ? pulumi.secret(args.sseCustomerKey) : undefined; resourceInputs["storageClass"] = args ? args.storageClass : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["visibility"] = args ? args.visibility : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["sseCustomerKey"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(ObjectItem.__pulumiType, name, resourceInputs, opts); } } @@ -201,6 +209,10 @@ export interface ObjectItemState { * The Scaleway region the bucket resides in. */ region?: pulumi.Input; + /** + * Customer's encryption keys to encrypt data (SSE-C) + */ + sseCustomerKey?: pulumi.Input; /** * Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. */ @@ -257,6 +269,10 @@ export interface ObjectItemArgs { * The Scaleway region the bucket resides in. */ region?: pulumi.Input; + /** + * Customer's encryption keys to encrypt data (SSE-C) + */ + sseCustomerKey?: pulumi.Input; /** * Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. */ diff --git a/sdk/nodejs/redisCluster.ts b/sdk/nodejs/redisCluster.ts index ad493dbd..ae6af593 100644 --- a/sdk/nodejs/redisCluster.ts +++ b/sdk/nodejs/redisCluster.ts @@ -128,8 +128,13 @@ export class RedisCluster extends pulumi.CustomResource { /** * The number of nodes in the Redis™ cluster. * - * > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - * which is minimum 3 (1 main node + 2 secondary nodes) + * > **Important:** + * + * - Cluster_size = 1 for Standalone mode (single node). + * + * - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + * + * - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. * * > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially * did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -293,8 +298,13 @@ export interface RedisClusterState { /** * The number of nodes in the Redis™ cluster. * - * > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - * which is minimum 3 (1 main node + 2 secondary nodes) + * > **Important:** + * + * - Cluster_size = 1 for Standalone mode (single node). + * + * - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + * + * - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. * * > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially * did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -386,8 +396,13 @@ export interface RedisClusterArgs { /** * The number of nodes in the Redis™ cluster. * - * > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or cluster mode - * which is minimum 3 (1 main node + 2 secondary nodes) + * > **Important:** + * + * - Cluster_size = 1 for Standalone mode (single node). + * + * - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + * + * - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. * * > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially * did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index ea2558a5..24e008ce 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -62,6 +62,7 @@ "getBlockVolume.ts", "getCockpit.ts", "getCockpitPlan.ts", + "getCockpitSource.ts", "getConfig.ts", "getContainer.ts", "getContainerNamespace.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index c02fd1d9..f51ebca2 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -847,7 +847,7 @@ export interface InstanceServerRootVolume { * Size of the root volume in gigabytes. * To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and * check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. - * Updates to this field will recreate a new resource. + * Depending on `volumeType`, updates to this field may recreate a new resource. */ sizeInGb?: pulumi.Input; /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d31201b4..45217dd1 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2802,7 +2802,7 @@ export interface InstanceServerRootVolume { * Size of the root volume in gigabytes. * To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and * check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. - * Updates to this field will recreate a new resource. + * Depending on `volumeType`, updates to this field may recreate a new resource. */ sizeInGb: number; /** diff --git a/sdk/nodejs/vpcGatewayNetwork.ts b/sdk/nodejs/vpcGatewayNetwork.ts index fa5380af..df7e4a21 100644 --- a/sdk/nodejs/vpcGatewayNetwork.ts +++ b/sdk/nodejs/vpcGatewayNetwork.ts @@ -174,7 +174,7 @@ export class VpcGatewayNetwork extends pulumi.CustomResource { */ public readonly dhcpId!: pulumi.Output; /** - * WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + * Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. */ public readonly enableDhcp!: pulumi.Output; /** @@ -284,7 +284,7 @@ export interface VpcGatewayNetworkState { */ dhcpId?: pulumi.Input; /** - * WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + * Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. */ enableDhcp?: pulumi.Input; /** @@ -338,7 +338,7 @@ export interface VpcGatewayNetworkArgs { */ dhcpId?: pulumi.Input; /** - * WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + * Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. */ enableDhcp?: pulumi.Input; /** diff --git a/sdk/python/pulumiverse_scaleway/__init__.py b/sdk/python/pulumiverse_scaleway/__init__.py index 7004e1a4..5406bdbe 100644 --- a/sdk/python/pulumiverse_scaleway/__init__.py +++ b/sdk/python/pulumiverse_scaleway/__init__.py @@ -52,6 +52,7 @@ from .get_block_volume import * from .get_cockpit import * from .get_cockpit_plan import * +from .get_cockpit_source import * from .get_config import * from .get_container import * from .get_container_namespace import * diff --git a/sdk/python/pulumiverse_scaleway/_inputs.py b/sdk/python/pulumiverse_scaleway/_inputs.py index 31d6354b..f93d7062 100644 --- a/sdk/python/pulumiverse_scaleway/_inputs.py +++ b/sdk/python/pulumiverse_scaleway/_inputs.py @@ -3845,7 +3845,7 @@ class InstanceServerRootVolumeArgsDict(TypedDict): Size of the root volume in gigabytes. To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - Updates to this field will recreate a new resource. + Depending on `volume_type`, updates to this field may recreate a new resource. """ volume_id: NotRequired[pulumi.Input[str]] """ @@ -3878,7 +3878,7 @@ def __init__(__self__, *, :param pulumi.Input[int] size_in_gb: Size of the root volume in gigabytes. To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - Updates to this field will recreate a new resource. + Depending on `volume_type`, updates to this field may recreate a new resource. :param pulumi.Input[str] volume_id: The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID. :param pulumi.Input[str] volume_type: Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type """ @@ -3954,7 +3954,7 @@ def size_in_gb(self) -> Optional[pulumi.Input[int]]: Size of the root volume in gigabytes. To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - Updates to this field will recreate a new resource. + Depending on `volume_type`, updates to this field may recreate a new resource. """ return pulumi.get(self, "size_in_gb") diff --git a/sdk/python/pulumiverse_scaleway/baremetal_server.py b/sdk/python/pulumiverse_scaleway/baremetal_server.py index 754461b4..28b03fd8 100644 --- a/sdk/python/pulumiverse_scaleway/baremetal_server.py +++ b/sdk/python/pulumiverse_scaleway/baremetal_server.py @@ -54,7 +54,7 @@ def __init__(__self__, *, :param pulumi.Input[str] os: The UUID of the os to install on the server. Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. > **Important:** Updates to `os` will reinstall the server. - :param pulumi.Input[str] partitioning: The partitioning schema in json format + :param pulumi.Input[str] partitioning: The partitioning schema in JSON format :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os. :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/) :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. @@ -197,7 +197,7 @@ def os(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def partitioning(self) -> Optional[pulumi.Input[str]]: """ - The partitioning schema in json format + The partitioning schema in JSON format """ return pulumi.get(self, "partitioning") @@ -379,7 +379,7 @@ def __init__(__self__, *, Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. > **Important:** Updates to `os` will reinstall the server. :param pulumi.Input[str] os_name: The name of the os. - :param pulumi.Input[str] partitioning: The partitioning schema in json format + :param pulumi.Input[str] partitioning: The partitioning schema in JSON format :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os. :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/) :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. @@ -635,7 +635,7 @@ def os_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def partitioning(self) -> Optional[pulumi.Input[str]]: """ - The partitioning schema in json format + The partitioning schema in JSON format """ return pulumi.get(self, "partitioning") @@ -928,6 +928,36 @@ def __init__(__self__, install_config_afterward=True) ``` + ### With custom partitioning + + ```python + import pulumi + import pulumi_scaleway as scaleway + import pulumiverse_scaleway as scaleway + + config = pulumi.Config() + config_custom_partitioning = config.get("configCustomPartitioning") + if config_custom_partitioning is None: + config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}" + my_os = scaleway.get_baremetal_os(zone="fr-par-1", + name="Ubuntu", + version="22.04 LTS (Jammy Jellyfish)") + main = scaleway.IamSshKey("main", name="main") + base = scaleway.BaremetalServer("base", + name="%s", + zone="fr-par-1", + description="test a description", + offer="EM-B220E-NVME", + os=my_os.os_id, + partitioning=config_custom_partitioning, + tags=[ + "terraform-test", + "scaleway_baremetal_server", + "minimal", + ], + ssh_key_ids=[main.id]) + ``` + ## Import Baremetal servers can be imported using the `{zone}/{id}`, e.g. @@ -953,7 +983,7 @@ def __init__(__self__, :param pulumi.Input[str] os: The UUID of the os to install on the server. Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. > **Important:** Updates to `os` will reinstall the server. - :param pulumi.Input[str] partitioning: The partitioning schema in json format + :param pulumi.Input[str] partitioning: The partitioning schema in JSON format :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os. :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/) :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. @@ -1111,6 +1141,36 @@ def __init__(__self__, install_config_afterward=True) ``` + ### With custom partitioning + + ```python + import pulumi + import pulumi_scaleway as scaleway + import pulumiverse_scaleway as scaleway + + config = pulumi.Config() + config_custom_partitioning = config.get("configCustomPartitioning") + if config_custom_partitioning is None: + config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}" + my_os = scaleway.get_baremetal_os(zone="fr-par-1", + name="Ubuntu", + version="22.04 LTS (Jammy Jellyfish)") + main = scaleway.IamSshKey("main", name="main") + base = scaleway.BaremetalServer("base", + name="%s", + zone="fr-par-1", + description="test a description", + offer="EM-B220E-NVME", + os=my_os.os_id, + partitioning=config_custom_partitioning, + tags=[ + "terraform-test", + "scaleway_baremetal_server", + "minimal", + ], + ssh_key_ids=[main.id]) + ``` + ## Import Baremetal servers can be imported using the `{zone}/{id}`, e.g. @@ -1257,7 +1317,7 @@ def get(resource_name: str, Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID. > **Important:** Updates to `os` will reinstall the server. :param pulumi.Input[str] os_name: The name of the os. - :param pulumi.Input[str] partitioning: The partitioning schema in json format + :param pulumi.Input[str] partitioning: The partitioning schema in JSON format :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os. :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/) :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with. @@ -1432,7 +1492,7 @@ def os_name(self) -> pulumi.Output[str]: @pulumi.getter def partitioning(self) -> pulumi.Output[Optional[str]]: """ - The partitioning schema in json format + The partitioning schema in JSON format """ return pulumi.get(self, "partitioning") diff --git a/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py b/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py index 2abc3e6f..2e02da66 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_grafana_user.py @@ -73,17 +73,21 @@ def project_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _CockpitGrafanaUserState: def __init__(__self__, *, + grafana_url: Optional[pulumi.Input[str]] = None, login: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, role: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering CockpitGrafanaUser resources. + :param pulumi.Input[str] grafana_url: URL for Grafana. :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 grafana_url is not None: + pulumi.set(__self__, "grafana_url", grafana_url) if login is not None: pulumi.set(__self__, "login", login) if password is not None: @@ -93,6 +97,18 @@ def __init__(__self__, *, if role is not None: pulumi.set(__self__, "role", role) + @property + @pulumi.getter(name="grafanaUrl") + def grafana_url(self) -> Optional[pulumi.Input[str]]: + """ + URL for Grafana. + """ + return pulumi.get(self, "grafana_url") + + @grafana_url.setter + def grafana_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grafana_url", value) + @property @pulumi.getter def login(self) -> Optional[pulumi.Input[str]]: @@ -261,6 +277,7 @@ def _internal_init(__self__, if role is None and not opts.urn: raise TypeError("Missing required property 'role'") __props__.__dict__["role"] = role + __props__.__dict__["grafana_url"] = None __props__.__dict__["password"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) @@ -274,6 +291,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + grafana_url: Optional[pulumi.Input[str]] = None, login: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, @@ -285,6 +303,7 @@ 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] grafana_url: URL for Grafana. :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. @@ -294,12 +313,21 @@ def get(resource_name: str, __props__ = _CockpitGrafanaUserState.__new__(_CockpitGrafanaUserState) + __props__.__dict__["grafana_url"] = grafana_url __props__.__dict__["login"] = login __props__.__dict__["password"] = password __props__.__dict__["project_id"] = project_id __props__.__dict__["role"] = role return CockpitGrafanaUser(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="grafanaUrl") + def grafana_url(self) -> pulumi.Output[str]: + """ + URL for Grafana. + """ + return pulumi.get(self, "grafana_url") + @property @pulumi.getter def login(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumiverse_scaleway/cockpit_source.py b/sdk/python/pulumiverse_scaleway/cockpit_source.py index bf4133d4..c2dcb1cf 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_source.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_source.py @@ -19,17 +19,20 @@ @pulumi.input_type class CockpitSourceArgs: def __init__(__self__, *, + retention_days: pulumi.Input[int], name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a CockpitSource resource. + :param pulumi.Input[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. :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`. """ + pulumi.set(__self__, "retention_days", retention_days) if name is not None: pulumi.set(__self__, "name", name) if project_id is not None: @@ -39,6 +42,18 @@ def __init__(__self__, *, if type is not None: pulumi.set(__self__, "type", type) + @property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Input[int]: + """ + The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: pulumi.Input[int]): + pulumi.set(self, "retention_days", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -97,6 +112,7 @@ def __init__(__self__, *, project_id: Optional[pulumi.Input[str]] = None, push_url: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + retention_days: Optional[pulumi.Input[int]] = None, synchronized_with_grafana: Optional[pulumi.Input[bool]] = None, type: Optional[pulumi.Input[str]] = None, updated_at: Optional[pulumi.Input[str]] = None, @@ -109,6 +125,7 @@ def __init__(__self__, *, :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[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana. :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). @@ -126,6 +143,8 @@ def __init__(__self__, *, pulumi.set(__self__, "push_url", push_url) if region is not None: pulumi.set(__self__, "region", region) + if retention_days is not None: + pulumi.set(__self__, "retention_days", retention_days) if synchronized_with_grafana is not None: pulumi.set(__self__, "synchronized_with_grafana", synchronized_with_grafana) if type is not None: @@ -207,6 +226,18 @@ def region(self) -> Optional[pulumi.Input[str]]: def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) + @property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> Optional[pulumi.Input[int]]: + """ + The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_days", value) + @property @pulumi.getter(name="synchronizedWithGrafana") def synchronized_with_grafana(self) -> Optional[pulumi.Input[bool]]: @@ -264,6 +295,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + retention_days: Optional[pulumi.Input[int]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -285,7 +317,8 @@ def __init__(__self__, main = scaleway.CockpitSource("main", project_id=project.id, name="my-data-source", - type="metrics") + type="metrics", + retention_days=6) ``` ## Import @@ -303,13 +336,14 @@ def __init__(__self__, :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[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. :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 def __init__(__self__, resource_name: str, - args: Optional[CockpitSourceArgs] = None, + args: CockpitSourceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ 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. @@ -330,7 +364,8 @@ def __init__(__self__, main = scaleway.CockpitSource("main", project_id=project.id, name="my-data-source", - type="metrics") + type="metrics", + retention_days=6) ``` ## Import @@ -361,6 +396,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + retention_days: Optional[pulumi.Input[int]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -374,6 +410,9 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + if retention_days is None and not opts.urn: + raise TypeError("Missing required property 'retention_days'") + __props__.__dict__["retention_days"] = retention_days __props__.__dict__["type"] = type __props__.__dict__["created_at"] = None __props__.__dict__["origin"] = None @@ -397,6 +436,7 @@ def get(resource_name: str, project_id: Optional[pulumi.Input[str]] = None, push_url: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + retention_days: Optional[pulumi.Input[int]] = None, synchronized_with_grafana: Optional[pulumi.Input[bool]] = None, type: Optional[pulumi.Input[str]] = None, updated_at: Optional[pulumi.Input[str]] = None, @@ -414,6 +454,7 @@ def get(resource_name: str, :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[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana. :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). @@ -429,6 +470,7 @@ def get(resource_name: str, __props__.__dict__["project_id"] = project_id __props__.__dict__["push_url"] = push_url __props__.__dict__["region"] = region + __props__.__dict__["retention_days"] = retention_days __props__.__dict__["synchronized_with_grafana"] = synchronized_with_grafana __props__.__dict__["type"] = type __props__.__dict__["updated_at"] = updated_at @@ -483,6 +525,14 @@ def region(self) -> pulumi.Output[str]: """ return pulumi.get(self, "region") + @property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Output[int]: + """ + The number of days to retain data in the data source. Must be a value between 1 and 365. Changes to this field will force the creation of a new resource. + """ + return pulumi.get(self, "retention_days") + @property @pulumi.getter(name="synchronizedWithGrafana") def synchronized_with_grafana(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumiverse_scaleway/get_account_project.py b/sdk/python/pulumiverse_scaleway/get_account_project.py index b6a20ed4..31ec821c 100644 --- a/sdk/python/pulumiverse_scaleway/get_account_project.py +++ b/sdk/python/pulumiverse_scaleway/get_account_project.py @@ -139,7 +139,7 @@ def get_account_project(name: Optional[str] = None, def get_account_project_output(name: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountProjectResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccountProjectResult]: """ The `AccountProject` data source is used to retrieve information about a Scaleway project. @@ -158,7 +158,7 @@ def get_account_project_output(name: Optional[pulumi.Input[Optional[str]]] = Non __args__['name'] = name __args__['organizationId'] = organization_id __args__['projectId'] = project_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getAccountProject:getAccountProject', __args__, opts=opts, typ=GetAccountProjectResult) return __ret__.apply(lambda __response__: GetAccountProjectResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_account_ssh_key.py b/sdk/python/pulumiverse_scaleway/get_account_ssh_key.py index b6562258..93da3ef8 100644 --- a/sdk/python/pulumiverse_scaleway/get_account_ssh_key.py +++ b/sdk/python/pulumiverse_scaleway/get_account_ssh_key.py @@ -173,7 +173,7 @@ def get_account_ssh_key(name: Optional[str] = None, def get_account_ssh_key_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, ssh_key_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountSshKeyResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccountSshKeyResult]: """ The `AccountSshKey` data source is used to retrieve information about a the SSH key of a Scaleway account. @@ -190,7 +190,7 @@ def get_account_ssh_key_output(name: Optional[pulumi.Input[Optional[str]]] = Non __args__['name'] = name __args__['projectId'] = project_id __args__['sshKeyId'] = ssh_key_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getAccountSshKey:getAccountSshKey', __args__, opts=opts, typ=GetAccountSshKeyResult) return __ret__.apply(lambda __response__: GetAccountSshKeyResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_availability_zones.py b/sdk/python/pulumiverse_scaleway/get_availability_zones.py index 3381fe4c..bee9146f 100644 --- a/sdk/python/pulumiverse_scaleway/get_availability_zones.py +++ b/sdk/python/pulumiverse_scaleway/get_availability_zones.py @@ -105,7 +105,7 @@ def get_availability_zones(region: Optional[str] = None, region=pulumi.get(__ret__, 'region'), zones=pulumi.get(__ret__, 'zones')) def get_availability_zones_output(region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAvailabilityZonesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAvailabilityZonesResult]: """ The `get_availability_zones` data source is used to retrieve information about the available zones based on its Region. @@ -131,7 +131,7 @@ def get_availability_zones_output(region: Optional[pulumi.Input[Optional[str]]] """ __args__ = dict() __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getAvailabilityZones:getAvailabilityZones', __args__, opts=opts, typ=GetAvailabilityZonesResult) return __ret__.apply(lambda __response__: GetAvailabilityZonesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_baremetal_offer.py b/sdk/python/pulumiverse_scaleway/get_baremetal_offer.py index 05b86167..2d950926 100644 --- a/sdk/python/pulumiverse_scaleway/get_baremetal_offer.py +++ b/sdk/python/pulumiverse_scaleway/get_baremetal_offer.py @@ -212,7 +212,7 @@ def get_baremetal_offer_output(include_disabled: Optional[pulumi.Input[Optional[ offer_id: Optional[pulumi.Input[Optional[str]]] = None, subscription_period: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBaremetalOfferResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalOfferResult]: """ Gets information about a baremetal offer. For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). @@ -228,7 +228,7 @@ def get_baremetal_offer_output(include_disabled: Optional[pulumi.Input[Optional[ __args__['offerId'] = offer_id __args__['subscriptionPeriod'] = subscription_period __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalOffer:getBaremetalOffer', __args__, opts=opts, typ=GetBaremetalOfferResult) return __ret__.apply(lambda __response__: GetBaremetalOfferResult( bandwidth=pulumi.get(__response__, 'bandwidth'), diff --git a/sdk/python/pulumiverse_scaleway/get_baremetal_option.py b/sdk/python/pulumiverse_scaleway/get_baremetal_option.py index a4971430..049b7207 100644 --- a/sdk/python/pulumiverse_scaleway/get_baremetal_option.py +++ b/sdk/python/pulumiverse_scaleway/get_baremetal_option.py @@ -132,7 +132,7 @@ def get_baremetal_option(name: Optional[str] = None, def get_baremetal_option_output(name: Optional[pulumi.Input[Optional[str]]] = None, option_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBaremetalOptionResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalOptionResult]: """ Gets information about a baremetal option. For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). @@ -158,7 +158,7 @@ def get_baremetal_option_output(name: Optional[pulumi.Input[Optional[str]]] = No __args__['name'] = name __args__['optionId'] = option_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalOption:getBaremetalOption', __args__, opts=opts, typ=GetBaremetalOptionResult) return __ret__.apply(lambda __response__: GetBaremetalOptionResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_baremetal_os.py b/sdk/python/pulumiverse_scaleway/get_baremetal_os.py index 0466d81d..5f574404 100644 --- a/sdk/python/pulumiverse_scaleway/get_baremetal_os.py +++ b/sdk/python/pulumiverse_scaleway/get_baremetal_os.py @@ -133,7 +133,7 @@ def get_baremetal_os_output(name: Optional[pulumi.Input[Optional[str]]] = None, os_id: Optional[pulumi.Input[Optional[str]]] = None, version: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBaremetalOsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalOsResult]: """ Gets information about a baremetal operating system. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses). @@ -164,7 +164,7 @@ def get_baremetal_os_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['osId'] = os_id __args__['version'] = version __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalOs:getBaremetalOs', __args__, opts=opts, typ=GetBaremetalOsResult) return __ret__.apply(lambda __response__: GetBaremetalOsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_baremetal_server.py b/sdk/python/pulumiverse_scaleway/get_baremetal_server.py index 7b58ce57..4710b3d6 100644 --- a/sdk/python/pulumiverse_scaleway/get_baremetal_server.py +++ b/sdk/python/pulumiverse_scaleway/get_baremetal_server.py @@ -361,7 +361,7 @@ def get_baremetal_server_output(name: Optional[pulumi.Input[Optional[str]]] = No project_id: Optional[pulumi.Input[Optional[str]]] = None, server_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBaremetalServerResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBaremetalServerResult]: """ Gets information about a baremetal server. For more information, see [the documentation](https://developers.scaleway.com/en/products/baremetal/api). @@ -389,7 +389,7 @@ def get_baremetal_server_output(name: Optional[pulumi.Input[Optional[str]]] = No __args__['projectId'] = project_id __args__['serverId'] = server_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBaremetalServer:getBaremetalServer', __args__, opts=opts, typ=GetBaremetalServerResult) return __ret__.apply(lambda __response__: GetBaremetalServerResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumiverse_scaleway/get_billing_consumptions.py b/sdk/python/pulumiverse_scaleway/get_billing_consumptions.py index cde73bc2..6d397d0c 100644 --- a/sdk/python/pulumiverse_scaleway/get_billing_consumptions.py +++ b/sdk/python/pulumiverse_scaleway/get_billing_consumptions.py @@ -115,7 +115,7 @@ def get_billing_consumptions(project_id: Optional[str] = None, project_id=pulumi.get(__ret__, 'project_id'), updated_at=pulumi.get(__ret__, 'updated_at')) def get_billing_consumptions_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBillingConsumptionsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBillingConsumptionsResult]: """ Gets information about your Consumptions. @@ -124,7 +124,7 @@ def get_billing_consumptions_output(project_id: Optional[pulumi.Input[Optional[s """ __args__ = dict() __args__['projectId'] = project_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBillingConsumptions:getBillingConsumptions', __args__, opts=opts, typ=GetBillingConsumptionsResult) return __ret__.apply(lambda __response__: GetBillingConsumptionsResult( consumptions=pulumi.get(__response__, 'consumptions'), diff --git a/sdk/python/pulumiverse_scaleway/get_billing_invoices.py b/sdk/python/pulumiverse_scaleway/get_billing_invoices.py index 758dec34..9db6a34a 100644 --- a/sdk/python/pulumiverse_scaleway/get_billing_invoices.py +++ b/sdk/python/pulumiverse_scaleway/get_billing_invoices.py @@ -130,7 +130,7 @@ def get_billing_invoices(invoice_type: Optional[str] = None, def get_billing_invoices_output(invoice_type: Optional[pulumi.Input[Optional[str]]] = None, started_after: Optional[pulumi.Input[Optional[str]]] = None, started_before: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBillingInvoicesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBillingInvoicesResult]: """ Gets information about your Scaleway invoices. @@ -143,7 +143,7 @@ def get_billing_invoices_output(invoice_type: Optional[pulumi.Input[Optional[str __args__['invoiceType'] = invoice_type __args__['startedAfter'] = started_after __args__['startedBefore'] = started_before - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBillingInvoices:getBillingInvoices', __args__, opts=opts, typ=GetBillingInvoicesResult) return __ret__.apply(lambda __response__: GetBillingInvoicesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_block_snapshot.py b/sdk/python/pulumiverse_scaleway/get_block_snapshot.py index 9bbd0dfd..6b069965 100644 --- a/sdk/python/pulumiverse_scaleway/get_block_snapshot.py +++ b/sdk/python/pulumiverse_scaleway/get_block_snapshot.py @@ -143,7 +143,7 @@ def get_block_snapshot_output(name: Optional[pulumi.Input[Optional[str]]] = None snapshot_id: Optional[pulumi.Input[Optional[str]]] = None, volume_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBlockSnapshotResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBlockSnapshotResult]: """ The `BlockSnapshot` data source is used to retrieve information about a Block Storage volume snapshot. @@ -162,7 +162,7 @@ def get_block_snapshot_output(name: Optional[pulumi.Input[Optional[str]]] = None __args__['snapshotId'] = snapshot_id __args__['volumeId'] = volume_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBlockSnapshot:getBlockSnapshot', __args__, opts=opts, typ=GetBlockSnapshotResult) return __ret__.apply(lambda __response__: GetBlockSnapshotResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_block_volume.py b/sdk/python/pulumiverse_scaleway/get_block_volume.py index 37a05ec2..bf02ebfe 100644 --- a/sdk/python/pulumiverse_scaleway/get_block_volume.py +++ b/sdk/python/pulumiverse_scaleway/get_block_volume.py @@ -158,7 +158,7 @@ def get_block_volume_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, volume_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBlockVolumeResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetBlockVolumeResult]: """ 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. @@ -174,7 +174,7 @@ def get_block_volume_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['volumeId'] = volume_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getBlockVolume:getBlockVolume', __args__, opts=opts, typ=GetBlockVolumeResult) return __ret__.apply(lambda __response__: GetBlockVolumeResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_cockpit.py b/sdk/python/pulumiverse_scaleway/get_cockpit.py index f17c6cde..e1882669 100644 --- a/sdk/python/pulumiverse_scaleway/get_cockpit.py +++ b/sdk/python/pulumiverse_scaleway/get_cockpit.py @@ -153,7 +153,7 @@ def get_cockpit(project_id: Optional[str] = None, 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]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCockpitResult]: """ > **Important:** The data source `Cockpit` has been deprecated and will no longer be supported. Instead, use resource `Cockpit`. @@ -193,7 +193,7 @@ def get_cockpit_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, """ __args__ = dict() __args__['projectId'] = project_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getCockpit:getCockpit', __args__, opts=opts, typ=GetCockpitResult) return __ret__.apply(lambda __response__: GetCockpitResult( endpoints=pulumi.get(__response__, 'endpoints'), diff --git a/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py b/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py index 8172d097..fc267bea 100644 --- a/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py +++ b/sdk/python/pulumiverse_scaleway/get_cockpit_plan.py @@ -92,7 +92,7 @@ def get_cockpit_plan(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name')) def get_cockpit_plan_output(name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCockpitPlanResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCockpitPlanResult]: """ 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`. @@ -118,7 +118,7 @@ def get_cockpit_plan_output(name: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getCockpitPlan:getCockpitPlan', __args__, opts=opts, typ=GetCockpitPlanResult) return __ret__.apply(lambda __response__: GetCockpitPlanResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_cockpit_source.py b/sdk/python/pulumiverse_scaleway/get_cockpit_source.py new file mode 100644 index 00000000..7382000c --- /dev/null +++ b/sdk/python/pulumiverse_scaleway/get_cockpit_source.py @@ -0,0 +1,262 @@ +# 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__ = [ + 'GetCockpitSourceResult', + 'AwaitableGetCockpitSourceResult', + 'get_cockpit_source', + 'get_cockpit_source_output', +] + +@pulumi.output_type +class GetCockpitSourceResult: + """ + A collection of values returned by getCockpitSource. + """ + def __init__(__self__, created_at=None, id=None, name=None, origin=None, project_id=None, region=None, retention_days=None, synchronized_with_grafana=None, type=None, updated_at=None, url=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 id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if origin and not isinstance(origin, str): + raise TypeError("Expected argument 'origin' to be a str") + pulumi.set(__self__, "origin", origin) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if retention_days and not isinstance(retention_days, int): + raise TypeError("Expected argument 'retention_days' to be a int") + pulumi.set(__self__, "retention_days", retention_days) + if synchronized_with_grafana and not isinstance(synchronized_with_grafana, bool): + raise TypeError("Expected argument 'synchronized_with_grafana' to be a bool") + pulumi.set(__self__, "synchronized_with_grafana", synchronized_with_grafana) + 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) + if url and not isinstance(url, str): + raise TypeError("Expected argument 'url' to be a str") + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + The date and time the data source was created (in RFC 3339 format). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def id(self) -> str: + """ + The unique identifier of the data source in the `{region}/{id}` format. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def origin(self) -> str: + """ + The origin of the data source. + """ + return pulumi.get(self, "origin") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> int: + """ + The number of days the data is retained in the data source. + """ + return pulumi.get(self, "retention_days") + + @property + @pulumi.getter(name="synchronizedWithGrafana") + def synchronized_with_grafana(self) -> bool: + """ + Indicates whether the data source is synchronized with Grafana. + """ + return pulumi.get(self, "synchronized_with_grafana") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + The date and time the data source was last updated (in RFC 3339 format). + """ + return pulumi.get(self, "updated_at") + + @property + @pulumi.getter + def url(self) -> str: + """ + The URL of the Cockpit data source. + """ + return pulumi.get(self, "url") + + +class AwaitableGetCockpitSourceResult(GetCockpitSourceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCockpitSourceResult( + created_at=self.created_at, + id=self.id, + name=self.name, + origin=self.origin, + project_id=self.project_id, + region=self.region, + retention_days=self.retention_days, + synchronized_with_grafana=self.synchronized_with_grafana, + type=self.type, + updated_at=self.updated_at, + url=self.url) + + +def get_cockpit_source(id: Optional[str] = None, + name: Optional[str] = None, + origin: Optional[str] = None, + project_id: Optional[str] = None, + type: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCockpitSourceResult: + """ + The `CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + + ## Example Usage + + ### Retrieve a specific data source by ID + + The following example retrieves a Cockpit data source by its unique ID. + + ```python + import pulumi + import pulumi_scaleway as scaleway + + example = scaleway.get_cockpit_source(id="fr-par/11111111-1111-1111-1111-111111111111") + ``` + + + :param str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + :param str name: The name of the data source. + :param str origin: The origin of the data source. Possible values are: + :param str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + :param 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`. + """ + __args__ = dict() + __args__['id'] = id + __args__['name'] = name + __args__['origin'] = origin + __args__['projectId'] = project_id + __args__['type'] = type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('scaleway:index/getCockpitSource:getCockpitSource', __args__, opts=opts, typ=GetCockpitSourceResult).value + + return AwaitableGetCockpitSourceResult( + created_at=pulumi.get(__ret__, 'created_at'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + origin=pulumi.get(__ret__, 'origin'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + retention_days=pulumi.get(__ret__, 'retention_days'), + synchronized_with_grafana=pulumi.get(__ret__, 'synchronized_with_grafana'), + type=pulumi.get(__ret__, 'type'), + updated_at=pulumi.get(__ret__, 'updated_at'), + url=pulumi.get(__ret__, 'url')) +def get_cockpit_source_output(id: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, + origin: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[Optional[str]]] = None, + type: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCockpitSourceResult]: + """ + The `CockpitSource` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's 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. + + ## Example Usage + + ### Retrieve a specific data source by ID + + The following example retrieves a Cockpit data source by its unique ID. + + ```python + import pulumi + import pulumi_scaleway as scaleway + + example = scaleway.get_cockpit_source(id="fr-par/11111111-1111-1111-1111-111111111111") + ``` + + + :param str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored. + :param str name: The name of the data source. + :param str origin: The origin of the data source. Possible values are: + :param str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration. + :param 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`. + """ + __args__ = dict() + __args__['id'] = id + __args__['name'] = name + __args__['origin'] = origin + __args__['projectId'] = project_id + __args__['type'] = type + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('scaleway:index/getCockpitSource:getCockpitSource', __args__, opts=opts, typ=GetCockpitSourceResult) + return __ret__.apply(lambda __response__: GetCockpitSourceResult( + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + origin=pulumi.get(__response__, 'origin'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + retention_days=pulumi.get(__response__, 'retention_days'), + synchronized_with_grafana=pulumi.get(__response__, 'synchronized_with_grafana'), + type=pulumi.get(__response__, 'type'), + updated_at=pulumi.get(__response__, 'updated_at'), + url=pulumi.get(__response__, 'url'))) diff --git a/sdk/python/pulumiverse_scaleway/get_config.py b/sdk/python/pulumiverse_scaleway/get_config.py index fa9b5018..420b50ce 100644 --- a/sdk/python/pulumiverse_scaleway/get_config.py +++ b/sdk/python/pulumiverse_scaleway/get_config.py @@ -159,12 +159,12 @@ def get_config(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetConfi secret_key_source=pulumi.get(__ret__, 'secret_key_source'), zone=pulumi.get(__ret__, 'zone'), zone_source=pulumi.get(__ret__, 'zone_source')) -def get_config_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigResult]: +def get_config_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigResult]: """ Use this data source to access information about an existing resource. """ __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getConfig:getConfig', __args__, opts=opts, typ=GetConfigResult) return __ret__.apply(lambda __response__: GetConfigResult( access_key=pulumi.get(__response__, 'access_key'), diff --git a/sdk/python/pulumiverse_scaleway/get_container.py b/sdk/python/pulumiverse_scaleway/get_container.py index b5b61284..3e4fd096 100644 --- a/sdk/python/pulumiverse_scaleway/get_container.py +++ b/sdk/python/pulumiverse_scaleway/get_container.py @@ -437,7 +437,7 @@ def get_container_output(container_id: Optional[pulumi.Input[Optional[str]]] = N namespace_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContainerResult]: """ The `Container` data source is used to retrieve information about a Serverless Container. @@ -490,7 +490,7 @@ def get_container_output(container_id: Optional[pulumi.Input[Optional[str]]] = N __args__['namespaceId'] = namespace_id __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getContainer:getContainer', __args__, opts=opts, typ=GetContainerResult) return __ret__.apply(lambda __response__: GetContainerResult( container_id=pulumi.get(__response__, 'container_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_container_namespace.py b/sdk/python/pulumiverse_scaleway/get_container_namespace.py index e32e2a83..9c1a9646 100644 --- a/sdk/python/pulumiverse_scaleway/get_container_namespace.py +++ b/sdk/python/pulumiverse_scaleway/get_container_namespace.py @@ -231,7 +231,7 @@ def get_container_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = namespace_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerNamespaceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetContainerNamespaceResult]: """ The `ContainerNamespace` data source is used to retrieve information about a Serverless Containers namespace. @@ -265,7 +265,7 @@ def get_container_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = __args__['namespaceId'] = namespace_id __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getContainerNamespace:getContainerNamespace', __args__, opts=opts, typ=GetContainerNamespaceResult) return __ret__.apply(lambda __response__: GetContainerNamespaceResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumiverse_scaleway/get_database.py b/sdk/python/pulumiverse_scaleway/get_database.py index 968e6045..10e06388 100644 --- a/sdk/python/pulumiverse_scaleway/get_database.py +++ b/sdk/python/pulumiverse_scaleway/get_database.py @@ -152,7 +152,7 @@ def get_database(instance_id: Optional[str] = None, def get_database_output(instance_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseResult]: """ Gets information about a database. @@ -175,7 +175,7 @@ def get_database_output(instance_id: Optional[pulumi.Input[str]] = None, __args__['instanceId'] = instance_id __args__['name'] = name __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabase:getDatabase', __args__, opts=opts, typ=GetDatabaseResult) return __ret__.apply(lambda __response__: GetDatabaseResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_database_acl.py b/sdk/python/pulumiverse_scaleway/get_database_acl.py index 40a9358a..5bc335a3 100644 --- a/sdk/python/pulumiverse_scaleway/get_database_acl.py +++ b/sdk/python/pulumiverse_scaleway/get_database_acl.py @@ -113,7 +113,7 @@ def get_database_acl(instance_id: Optional[str] = None, region=pulumi.get(__ret__, 'region')) def get_database_acl_output(instance_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseAclResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseAclResult]: """ Gets information about the Database Instance network Access Control List. @@ -134,7 +134,7 @@ def get_database_acl_output(instance_id: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['instanceId'] = instance_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabaseAcl:getDatabaseAcl', __args__, opts=opts, typ=GetDatabaseAclResult) return __ret__.apply(lambda __response__: GetDatabaseAclResult( acl_rules=pulumi.get(__response__, 'acl_rules'), diff --git a/sdk/python/pulumiverse_scaleway/get_database_backup.py b/sdk/python/pulumiverse_scaleway/get_database_backup.py index 469f4840..b3855a60 100644 --- a/sdk/python/pulumiverse_scaleway/get_database_backup.py +++ b/sdk/python/pulumiverse_scaleway/get_database_backup.py @@ -205,7 +205,7 @@ def get_database_backup_output(backup_id: Optional[pulumi.Input[Optional[str]]] name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseBackupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseBackupResult]: """ Gets information about an RDB backup. @@ -236,7 +236,7 @@ def get_database_backup_output(backup_id: Optional[pulumi.Input[Optional[str]]] __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabaseBackup:getDatabaseBackup', __args__, opts=opts, typ=GetDatabaseBackupResult) return __ret__.apply(lambda __response__: GetDatabaseBackupResult( backup_id=pulumi.get(__response__, 'backup_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_database_instance.py b/sdk/python/pulumiverse_scaleway/get_database_instance.py index f1d6f4f0..969924f6 100644 --- a/sdk/python/pulumiverse_scaleway/get_database_instance.py +++ b/sdk/python/pulumiverse_scaleway/get_database_instance.py @@ -352,7 +352,7 @@ def get_database_instance_output(instance_id: Optional[pulumi.Input[Optional[str name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseInstanceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabaseInstanceResult]: """ Gets information about an Database Instance. @@ -371,7 +371,7 @@ def get_database_instance_output(instance_id: Optional[pulumi.Input[Optional[str __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabaseInstance:getDatabaseInstance', __args__, opts=opts, typ=GetDatabaseInstanceResult) return __ret__.apply(lambda __response__: GetDatabaseInstanceResult( backup_same_region=pulumi.get(__response__, 'backup_same_region'), diff --git a/sdk/python/pulumiverse_scaleway/get_database_privilege.py b/sdk/python/pulumiverse_scaleway/get_database_privilege.py index c143344c..557a5095 100644 --- a/sdk/python/pulumiverse_scaleway/get_database_privilege.py +++ b/sdk/python/pulumiverse_scaleway/get_database_privilege.py @@ -143,7 +143,7 @@ def get_database_privilege_output(database_name: Optional[pulumi.Input[str]] = N instance_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, user_name: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabasePrivilegeResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatabasePrivilegeResult]: """ Gets information about the privileges in a database. @@ -170,7 +170,7 @@ def get_database_privilege_output(database_name: Optional[pulumi.Input[str]] = N __args__['instanceId'] = instance_id __args__['region'] = region __args__['userName'] = user_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDatabasePrivilege:getDatabasePrivilege', __args__, opts=opts, typ=GetDatabasePrivilegeResult) return __ret__.apply(lambda __response__: GetDatabasePrivilegeResult( database_name=pulumi.get(__response__, 'database_name'), diff --git a/sdk/python/pulumiverse_scaleway/get_domain_record.py b/sdk/python/pulumiverse_scaleway/get_domain_record.py index 8fff97f6..eab59998 100644 --- a/sdk/python/pulumiverse_scaleway/get_domain_record.py +++ b/sdk/python/pulumiverse_scaleway/get_domain_record.py @@ -277,7 +277,7 @@ def get_domain_record_output(data: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, record_id: Optional[pulumi.Input[Optional[str]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainRecordResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainRecordResult]: """ The `DomainRecord` data source is used to get information about an existing domain record. @@ -319,7 +319,7 @@ def get_domain_record_output(data: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['recordId'] = record_id __args__['type'] = type - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDomainRecord:getDomainRecord', __args__, opts=opts, typ=GetDomainRecordResult) return __ret__.apply(lambda __response__: GetDomainRecordResult( data=pulumi.get(__response__, 'data'), diff --git a/sdk/python/pulumiverse_scaleway/get_domain_zone.py b/sdk/python/pulumiverse_scaleway/get_domain_zone.py index 022f04f1..ac04f36b 100644 --- a/sdk/python/pulumiverse_scaleway/get_domain_zone.py +++ b/sdk/python/pulumiverse_scaleway/get_domain_zone.py @@ -176,7 +176,7 @@ def get_domain_zone(domain: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at')) 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]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainZoneResult]: """ Use this data source to access information about an existing resource. @@ -186,7 +186,7 @@ def get_domain_zone_output(domain: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['domain'] = domain __args__['subdomain'] = subdomain - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDomainZone:getDomainZone', __args__, opts=opts, typ=GetDomainZoneResult) return __ret__.apply(lambda __response__: GetDomainZoneResult( domain=pulumi.get(__response__, 'domain'), diff --git a/sdk/python/pulumiverse_scaleway/get_flexible_ip.py b/sdk/python/pulumiverse_scaleway/get_flexible_ip.py index 61fa904b..d2f0f5a6 100644 --- a/sdk/python/pulumiverse_scaleway/get_flexible_ip.py +++ b/sdk/python/pulumiverse_scaleway/get_flexible_ip.py @@ -215,7 +215,7 @@ def get_flexible_ip(flexible_ip_id: Optional[str] = None, def get_flexible_ip_output(flexible_ip_id: Optional[pulumi.Input[Optional[str]]] = None, ip_address: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFlexibleIpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFlexibleIpResult]: """ Gets information about a Flexible IP. @@ -228,7 +228,7 @@ def get_flexible_ip_output(flexible_ip_id: Optional[pulumi.Input[Optional[str]]] __args__['flexibleIpId'] = flexible_ip_id __args__['ipAddress'] = ip_address __args__['projectId'] = project_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFlexibleIp:getFlexibleIp', __args__, opts=opts, typ=GetFlexibleIpResult) return __ret__.apply(lambda __response__: GetFlexibleIpResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_flexible_ips.py b/sdk/python/pulumiverse_scaleway/get_flexible_ips.py index c1bfc0ae..047e6eb8 100644 --- a/sdk/python/pulumiverse_scaleway/get_flexible_ips.py +++ b/sdk/python/pulumiverse_scaleway/get_flexible_ips.py @@ -183,7 +183,7 @@ def get_flexible_ips_output(project_id: Optional[pulumi.Input[Optional[str]]] = server_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFlexibleIpsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFlexibleIpsResult]: """ Gets information about multiple Flexible IPs. @@ -228,7 +228,7 @@ def get_flexible_ips_output(project_id: Optional[pulumi.Input[Optional[str]]] = __args__['serverIds'] = server_ids __args__['tags'] = tags __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFlexibleIps:getFlexibleIps', __args__, opts=opts, typ=GetFlexibleIpsResult) return __ret__.apply(lambda __response__: GetFlexibleIpsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_function.py b/sdk/python/pulumiverse_scaleway/get_function.py index 176c0193..571983fc 100644 --- a/sdk/python/pulumiverse_scaleway/get_function.py +++ b/sdk/python/pulumiverse_scaleway/get_function.py @@ -315,7 +315,7 @@ def get_function_output(function_id: Optional[pulumi.Input[Optional[str]]] = Non namespace_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionResult]: """ The `Function` data source is used to retrieve information about a Serverless Function. @@ -336,7 +336,7 @@ def get_function_output(function_id: Optional[pulumi.Input[Optional[str]]] = Non __args__['namespaceId'] = namespace_id __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFunction:getFunction', __args__, opts=opts, typ=GetFunctionResult) return __ret__.apply(lambda __response__: GetFunctionResult( cpu_limit=pulumi.get(__response__, 'cpu_limit'), diff --git a/sdk/python/pulumiverse_scaleway/get_function_namespace.py b/sdk/python/pulumiverse_scaleway/get_function_namespace.py index 07cc0fcf..73d57260 100644 --- a/sdk/python/pulumiverse_scaleway/get_function_namespace.py +++ b/sdk/python/pulumiverse_scaleway/get_function_namespace.py @@ -204,7 +204,7 @@ def get_function_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = namespace_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFunctionNamespaceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFunctionNamespaceResult]: """ The `FunctionNamespace` data source is used to retrieve information about a Serverless Functions namespace. @@ -221,7 +221,7 @@ def get_function_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = __args__['namespaceId'] = namespace_id __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFunctionNamespace:getFunctionNamespace', __args__, opts=opts, typ=GetFunctionNamespaceResult) return __ret__.apply(lambda __response__: GetFunctionNamespaceResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumiverse_scaleway/get_iam_api_key.py b/sdk/python/pulumiverse_scaleway/get_iam_api_key.py index 67d8b137..9231a8a2 100644 --- a/sdk/python/pulumiverse_scaleway/get_iam_api_key.py +++ b/sdk/python/pulumiverse_scaleway/get_iam_api_key.py @@ -175,7 +175,7 @@ def get_iam_api_key(access_key: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at'), user_id=pulumi.get(__ret__, 'user_id')) def get_iam_api_key_output(access_key: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamApiKeyResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamApiKeyResult]: """ Gets information about an existing IAM API key. For more information, refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#api-keys-3665ae). @@ -194,7 +194,7 @@ def get_iam_api_key_output(access_key: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['accessKey'] = access_key - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIamApiKey:getIamApiKey', __args__, opts=opts, typ=GetIamApiKeyResult) return __ret__.apply(lambda __response__: GetIamApiKeyResult( access_key=pulumi.get(__response__, 'access_key'), diff --git a/sdk/python/pulumiverse_scaleway/get_iam_application.py b/sdk/python/pulumiverse_scaleway/get_iam_application.py index 9ed5deb1..419abe8d 100644 --- a/sdk/python/pulumiverse_scaleway/get_iam_application.py +++ b/sdk/python/pulumiverse_scaleway/get_iam_application.py @@ -168,7 +168,7 @@ def get_iam_application(application_id: Optional[str] = None, def get_iam_application_output(application_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamApplicationResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamApplicationResult]: """ Gets information about an existing IAM application. @@ -196,7 +196,7 @@ def get_iam_application_output(application_id: Optional[pulumi.Input[Optional[st __args__['applicationId'] = application_id __args__['name'] = name __args__['organizationId'] = organization_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIamApplication:getIamApplication', __args__, opts=opts, typ=GetIamApplicationResult) return __ret__.apply(lambda __response__: GetIamApplicationResult( application_id=pulumi.get(__response__, 'application_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_iam_group.py b/sdk/python/pulumiverse_scaleway/get_iam_group.py index 8e9d5bc4..4ee933bf 100644 --- a/sdk/python/pulumiverse_scaleway/get_iam_group.py +++ b/sdk/python/pulumiverse_scaleway/get_iam_group.py @@ -190,7 +190,7 @@ def get_iam_group(group_id: Optional[str] = None, def get_iam_group_output(group_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamGroupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamGroupResult]: """ Gets information about an existing IAM group. @@ -220,7 +220,7 @@ def get_iam_group_output(group_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['groupId'] = group_id __args__['name'] = name __args__['organizationId'] = organization_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIamGroup:getIamGroup', __args__, opts=opts, typ=GetIamGroupResult) return __ret__.apply(lambda __response__: GetIamGroupResult( application_ids=pulumi.get(__response__, 'application_ids'), diff --git a/sdk/python/pulumiverse_scaleway/get_iam_ssh_key.py b/sdk/python/pulumiverse_scaleway/get_iam_ssh_key.py index 98302a69..398b08b1 100644 --- a/sdk/python/pulumiverse_scaleway/get_iam_ssh_key.py +++ b/sdk/python/pulumiverse_scaleway/get_iam_ssh_key.py @@ -181,7 +181,7 @@ def get_iam_ssh_key(name: Optional[str] = None, def get_iam_ssh_key_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, ssh_key_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamSshKeyResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamSshKeyResult]: """ Use this data source to get SSH key information based on its ID or name. @@ -197,7 +197,7 @@ def get_iam_ssh_key_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['sshKeyId'] = ssh_key_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIamSshKey:getIamSshKey', __args__, opts=opts, typ=GetIamSshKeyResult) return __ret__.apply(lambda __response__: GetIamSshKeyResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_iam_user.py b/sdk/python/pulumiverse_scaleway/get_iam_user.py index 4f156819..8a722421 100644 --- a/sdk/python/pulumiverse_scaleway/get_iam_user.py +++ b/sdk/python/pulumiverse_scaleway/get_iam_user.py @@ -136,7 +136,7 @@ def get_iam_user_output(email: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, user_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIamUserResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamUserResult]: """ Use this data source to get information on an existing IAM user based on its ID or email address. For more information refer to the [IAM API documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#users-06bdcf). @@ -167,7 +167,7 @@ def get_iam_user_output(email: Optional[pulumi.Input[Optional[str]]] = None, __args__['organizationId'] = organization_id __args__['tags'] = tags __args__['userId'] = user_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIamUser:getIamUser', __args__, opts=opts, typ=GetIamUserResult) return __ret__.apply(lambda __response__: GetIamUserResult( email=pulumi.get(__response__, 'email'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_image.py b/sdk/python/pulumiverse_scaleway/get_instance_image.py index 66ddcf32..c811b842 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_image.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_image.py @@ -265,7 +265,7 @@ def get_instance_image_output(architecture: Optional[pulumi.Input[Optional[str]] name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceImageResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceImageResult]: """ Gets information about an instance image. @@ -284,7 +284,7 @@ def get_instance_image_output(architecture: Optional[pulumi.Input[Optional[str]] __args__['name'] = name __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceImage:getInstanceImage', __args__, opts=opts, typ=GetInstanceImageResult) return __ret__.apply(lambda __response__: GetInstanceImageResult( additional_volume_ids=pulumi.get(__response__, 'additional_volume_ids'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_ip.py b/sdk/python/pulumiverse_scaleway/get_instance_ip.py index b81ab55b..2242a7a6 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_ip.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_ip.py @@ -176,7 +176,7 @@ def get_instance_ip(address: Optional[str] = None, zone=pulumi.get(__ret__, 'zone')) def get_instance_ip_output(address: Optional[pulumi.Input[Optional[str]]] = None, id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceIpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceIpResult]: """ Gets information about an instance IP. @@ -189,7 +189,7 @@ def get_instance_ip_output(address: Optional[pulumi.Input[Optional[str]]] = None __args__ = dict() __args__['address'] = address __args__['id'] = id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceIp:getInstanceIp', __args__, opts=opts, typ=GetInstanceIpResult) return __ret__.apply(lambda __response__: GetInstanceIpResult( address=pulumi.get(__response__, 'address'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_placement_group.py b/sdk/python/pulumiverse_scaleway/get_instance_placement_group.py index 72cb5e8f..113e1fa3 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_placement_group.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_placement_group.py @@ -182,7 +182,7 @@ def get_instance_placement_group_output(name: Optional[pulumi.Input[Optional[str placement_group_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancePlacementGroupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancePlacementGroupResult]: """ Gets information about a Security Group. @@ -197,7 +197,7 @@ def get_instance_placement_group_output(name: Optional[pulumi.Input[Optional[str __args__['placementGroupId'] = placement_group_id __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstancePlacementGroup:getInstancePlacementGroup', __args__, opts=opts, typ=GetInstancePlacementGroupResult) return __ret__.apply(lambda __response__: GetInstancePlacementGroupResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py b/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py index 3ab87d0c..177bc3ec 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py @@ -178,7 +178,7 @@ def get_instance_private_nic_output(private_network_id: Optional[pulumi.Input[Op server_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancePrivateNicResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancePrivateNicResult]: """ Gets information about an instance private NIC. @@ -212,7 +212,7 @@ def get_instance_private_nic_output(private_network_id: Optional[pulumi.Input[Op __args__['serverId'] = server_id __args__['tags'] = tags __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstancePrivateNic:getInstancePrivateNic', __args__, opts=opts, typ=GetInstancePrivateNicResult) return __ret__.apply(lambda __response__: GetInstancePrivateNicResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_security_group.py b/sdk/python/pulumiverse_scaleway/get_instance_security_group.py index c5de98b7..b9dffe72 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_security_group.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_security_group.py @@ -233,7 +233,7 @@ def get_instance_security_group_output(name: Optional[pulumi.Input[Optional[str] project_id: Optional[pulumi.Input[Optional[str]]] = None, security_group_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceSecurityGroupResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceSecurityGroupResult]: """ Gets information about a Security Group. @@ -248,7 +248,7 @@ def get_instance_security_group_output(name: Optional[pulumi.Input[Optional[str] __args__['projectId'] = project_id __args__['securityGroupId'] = security_group_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceSecurityGroup:getInstanceSecurityGroup', __args__, opts=opts, typ=GetInstanceSecurityGroupResult) return __ret__.apply(lambda __response__: GetInstanceSecurityGroupResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_server.py b/sdk/python/pulumiverse_scaleway/get_instance_server.py index c699b8ae..d4cdb4b8 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_server.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_server.py @@ -450,7 +450,7 @@ def get_instance_server_output(name: Optional[pulumi.Input[Optional[str]]] = Non project_id: Optional[pulumi.Input[Optional[str]]] = None, server_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceServerResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceServerResult]: """ Gets information about an instance server. @@ -465,7 +465,7 @@ def get_instance_server_output(name: Optional[pulumi.Input[Optional[str]]] = Non __args__['projectId'] = project_id __args__['serverId'] = server_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceServer:getInstanceServer', __args__, opts=opts, typ=GetInstanceServerResult) return __ret__.apply(lambda __response__: GetInstanceServerResult( additional_volume_ids=pulumi.get(__response__, 'additional_volume_ids'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_servers.py b/sdk/python/pulumiverse_scaleway/get_instance_servers.py index 1470bd8b..7ee92d58 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_servers.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_servers.py @@ -158,7 +158,7 @@ def get_instance_servers_output(name: Optional[pulumi.Input[Optional[str]]] = No project_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceServersResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceServersResult]: """ Gets information about multiple instance servers. @@ -175,7 +175,7 @@ def get_instance_servers_output(name: Optional[pulumi.Input[Optional[str]]] = No __args__['projectId'] = project_id __args__['tags'] = tags __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceServers:getInstanceServers', __args__, opts=opts, typ=GetInstanceServersResult) return __ret__.apply(lambda __response__: GetInstanceServersResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_snapshot.py b/sdk/python/pulumiverse_scaleway/get_instance_snapshot.py index a79c6f57..fe20d862 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_snapshot.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_snapshot.py @@ -202,7 +202,7 @@ def get_instance_snapshot_output(name: Optional[pulumi.Input[Optional[str]]] = N project_id: Optional[pulumi.Input[Optional[str]]] = None, snapshot_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceSnapshotResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceSnapshotResult]: """ Gets information about an instance snapshot. @@ -231,7 +231,7 @@ def get_instance_snapshot_output(name: Optional[pulumi.Input[Optional[str]]] = N __args__['projectId'] = project_id __args__['snapshotId'] = snapshot_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceSnapshot:getInstanceSnapshot', __args__, opts=opts, typ=GetInstanceSnapshotResult) return __ret__.apply(lambda __response__: GetInstanceSnapshotResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_instance_volume.py b/sdk/python/pulumiverse_scaleway/get_instance_volume.py index 3adebdef..ec9affff 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_volume.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_volume.py @@ -182,7 +182,7 @@ def get_instance_volume_output(name: Optional[pulumi.Input[Optional[str]]] = Non project_id: Optional[pulumi.Input[Optional[str]]] = None, volume_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceVolumeResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceVolumeResult]: """ Gets information about an instance volume. @@ -199,7 +199,7 @@ def get_instance_volume_output(name: Optional[pulumi.Input[Optional[str]]] = Non __args__['projectId'] = project_id __args__['volumeId'] = volume_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getInstanceVolume:getInstanceVolume', __args__, opts=opts, typ=GetInstanceVolumeResult) return __ret__.apply(lambda __response__: GetInstanceVolumeResult( from_snapshot_id=pulumi.get(__response__, 'from_snapshot_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_iot_device.py b/sdk/python/pulumiverse_scaleway/get_iot_device.py index 76455006..429555e6 100644 --- a/sdk/python/pulumiverse_scaleway/get_iot_device.py +++ b/sdk/python/pulumiverse_scaleway/get_iot_device.py @@ -220,7 +220,7 @@ def get_iot_device_output(device_id: Optional[pulumi.Input[Optional[str]]] = Non hub_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIotDeviceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIotDeviceResult]: """ Gets information about an IOT Device. @@ -237,7 +237,7 @@ def get_iot_device_output(device_id: Optional[pulumi.Input[Optional[str]]] = Non __args__['hubId'] = hub_id __args__['name'] = name __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIotDevice:getIotDevice', __args__, opts=opts, typ=GetIotDeviceResult) return __ret__.apply(lambda __response__: GetIotDeviceResult( allow_insecure=pulumi.get(__response__, 'allow_insecure'), diff --git a/sdk/python/pulumiverse_scaleway/get_iot_hub.py b/sdk/python/pulumiverse_scaleway/get_iot_hub.py index a1ab7f46..b73adbe3 100644 --- a/sdk/python/pulumiverse_scaleway/get_iot_hub.py +++ b/sdk/python/pulumiverse_scaleway/get_iot_hub.py @@ -279,7 +279,7 @@ def get_iot_hub_output(hub_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIotHubResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIotHubResult]: """ Gets information about an IOT Hub. @@ -296,7 +296,7 @@ def get_iot_hub_output(hub_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIotHub:getIotHub', __args__, opts=opts, typ=GetIotHubResult) return __ret__.apply(lambda __response__: GetIotHubResult( connected_device_count=pulumi.get(__response__, 'connected_device_count'), diff --git a/sdk/python/pulumiverse_scaleway/get_ipam_ip.py b/sdk/python/pulumiverse_scaleway/get_ipam_ip.py index 3f0f5eab..9bcf62ab 100644 --- a/sdk/python/pulumiverse_scaleway/get_ipam_ip.py +++ b/sdk/python/pulumiverse_scaleway/get_ipam_ip.py @@ -306,7 +306,7 @@ def get_ipam_ip_output(attached: Optional[pulumi.Input[Optional[bool]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, zonal: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpamIpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpamIpResult]: """ Gets information about IP addresses managed by Scaleway's IP Address Management (IPAM) service. IPAM is used for the DHCP bundled with VPC Private Networks. @@ -400,7 +400,7 @@ def get_ipam_ip_output(attached: Optional[pulumi.Input[Optional[bool]]] = None, __args__['tags'] = tags __args__['type'] = type __args__['zonal'] = zonal - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIpamIp:getIpamIp', __args__, opts=opts, typ=GetIpamIpResult) return __ret__.apply(lambda __response__: GetIpamIpResult( address=pulumi.get(__response__, 'address'), diff --git a/sdk/python/pulumiverse_scaleway/get_ipam_ips.py b/sdk/python/pulumiverse_scaleway/get_ipam_ips.py index 3402040c..d427e5fd 100644 --- a/sdk/python/pulumiverse_scaleway/get_ipam_ips.py +++ b/sdk/python/pulumiverse_scaleway/get_ipam_ips.py @@ -273,7 +273,7 @@ def get_ipam_ips_output(attached: Optional[pulumi.Input[Optional[bool]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, type: Optional[pulumi.Input[Optional[str]]] = None, zonal: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIpamIpsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpamIpsResult]: """ Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service. @@ -341,7 +341,7 @@ def get_ipam_ips_output(attached: Optional[pulumi.Input[Optional[bool]]] = None, __args__['tags'] = tags __args__['type'] = type __args__['zonal'] = zonal - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIpamIps:getIpamIps', __args__, opts=opts, typ=GetIpamIpsResult) return __ret__.apply(lambda __response__: GetIpamIpsResult( attached=pulumi.get(__response__, 'attached'), diff --git a/sdk/python/pulumiverse_scaleway/get_k8s_version.py b/sdk/python/pulumiverse_scaleway/get_k8s_version.py index bd7b682a..7fe79c94 100644 --- a/sdk/python/pulumiverse_scaleway/get_k8s_version.py +++ b/sdk/python/pulumiverse_scaleway/get_k8s_version.py @@ -151,7 +151,7 @@ def get_k8s_version(name: Optional[str] = None, region=pulumi.get(__ret__, 'region')) def get_k8s_version_output(name: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetK8sVersionResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetK8sVersionResult]: """ Gets information about a Kubernetes version. For more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api). @@ -185,7 +185,7 @@ def get_k8s_version_output(name: Optional[pulumi.Input[str]] = None, __args__ = dict() __args__['name'] = name __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getK8sVersion:getK8sVersion', __args__, opts=opts, typ=GetK8sVersionResult) return __ret__.apply(lambda __response__: GetK8sVersionResult( available_cnis=pulumi.get(__response__, 'available_cnis'), diff --git a/sdk/python/pulumiverse_scaleway/get_kubernetes_cluster.py b/sdk/python/pulumiverse_scaleway/get_kubernetes_cluster.py index a829555f..b879e484 100644 --- a/sdk/python/pulumiverse_scaleway/get_kubernetes_cluster.py +++ b/sdk/python/pulumiverse_scaleway/get_kubernetes_cluster.py @@ -372,7 +372,7 @@ def get_kubernetes_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKubernetesClusterResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKubernetesClusterResult]: """ Gets information about a Kubernetes Cluster. @@ -387,7 +387,7 @@ def get_kubernetes_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getKubernetesCluster:getKubernetesCluster', __args__, opts=opts, typ=GetKubernetesClusterResult) return __ret__.apply(lambda __response__: GetKubernetesClusterResult( admission_plugins=pulumi.get(__response__, 'admission_plugins'), diff --git a/sdk/python/pulumiverse_scaleway/get_kubernetes_node_pool.py b/sdk/python/pulumiverse_scaleway/get_kubernetes_node_pool.py index bb721a58..0c19b2e6 100644 --- a/sdk/python/pulumiverse_scaleway/get_kubernetes_node_pool.py +++ b/sdk/python/pulumiverse_scaleway/get_kubernetes_node_pool.py @@ -387,7 +387,7 @@ def get_kubernetes_node_pool_output(cluster_id: Optional[pulumi.Input[Optional[s pool_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, size: Optional[pulumi.Input[Optional[int]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKubernetesNodePoolResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKubernetesNodePoolResult]: """ Gets information about a Kubernetes Cluster's Pool. @@ -404,7 +404,7 @@ def get_kubernetes_node_pool_output(cluster_id: Optional[pulumi.Input[Optional[s __args__['poolId'] = pool_id __args__['region'] = region __args__['size'] = size - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getKubernetesNodePool:getKubernetesNodePool', __args__, opts=opts, typ=GetKubernetesNodePoolResult) return __ret__.apply(lambda __response__: GetKubernetesNodePoolResult( autohealing=pulumi.get(__response__, 'autohealing'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_acls.py b/sdk/python/pulumiverse_scaleway/get_lb_acls.py index 15ce6566..ac2097d0 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_acls.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_acls.py @@ -156,7 +156,7 @@ def get_lb_acls_output(frontend_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbAclsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbAclsResult]: """ Gets information about multiple Load Balancer ACLs. @@ -186,7 +186,7 @@ def get_lb_acls_output(frontend_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbAcls:getLbAcls', __args__, opts=opts, typ=GetLbAclsResult) return __ret__.apply(lambda __response__: GetLbAclsResult( acls=pulumi.get(__response__, 'acls'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_backend.py b/sdk/python/pulumiverse_scaleway/get_lb_backend.py index bb14e7f9..30c5fec5 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_backend.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_backend.py @@ -410,7 +410,7 @@ def get_lb_backend(backend_id: Optional[str] = None, def get_lb_backend_output(backend_id: Optional[pulumi.Input[Optional[str]]] = None, lb_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbBackendResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbBackendResult]: """ Get information about Scaleway Load Balancer backends. @@ -449,7 +449,7 @@ def get_lb_backend_output(backend_id: Optional[pulumi.Input[Optional[str]]] = No __args__['backendId'] = backend_id __args__['lbId'] = lb_id __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbBackend:getLbBackend', __args__, opts=opts, typ=GetLbBackendResult) return __ret__.apply(lambda __response__: GetLbBackendResult( backend_id=pulumi.get(__response__, 'backend_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_backends.py b/sdk/python/pulumiverse_scaleway/get_lb_backends.py index f8f4c204..03c8aaeb 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_backends.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_backends.py @@ -155,7 +155,7 @@ def get_lb_backends_output(lb_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbBackendsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbBackendsResult]: """ Gets information about multiple Load Balancer Backends. @@ -184,7 +184,7 @@ def get_lb_backends_output(lb_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbBackends:getLbBackends', __args__, opts=opts, typ=GetLbBackendsResult) return __ret__.apply(lambda __response__: GetLbBackendsResult( backends=pulumi.get(__response__, 'backends'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_frontend.py b/sdk/python/pulumiverse_scaleway/get_lb_frontend.py index c46f4aca..7490692a 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_frontend.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_frontend.py @@ -214,7 +214,7 @@ def get_lb_frontend(frontend_id: Optional[str] = None, def get_lb_frontend_output(frontend_id: Optional[pulumi.Input[Optional[str]]] = None, lb_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbFrontendResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbFrontendResult]: """ Get information about Scaleway Load Balancer frontends. @@ -257,7 +257,7 @@ def get_lb_frontend_output(frontend_id: Optional[pulumi.Input[Optional[str]]] = __args__['frontendId'] = frontend_id __args__['lbId'] = lb_id __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbFrontend:getLbFrontend', __args__, opts=opts, typ=GetLbFrontendResult) return __ret__.apply(lambda __response__: GetLbFrontendResult( acls=pulumi.get(__response__, 'acls'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_frontends.py b/sdk/python/pulumiverse_scaleway/get_lb_frontends.py index 5820b9e3..c8b41d5e 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_frontends.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_frontends.py @@ -155,7 +155,7 @@ def get_lb_frontends_output(lb_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbFrontendsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbFrontendsResult]: """ Gets information about multiple Load Balancer frontends. @@ -184,7 +184,7 @@ def get_lb_frontends_output(lb_id: Optional[pulumi.Input[str]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbFrontends:getLbFrontends', __args__, opts=opts, typ=GetLbFrontendsResult) return __ret__.apply(lambda __response__: GetLbFrontendsResult( frontends=pulumi.get(__response__, 'frontends'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_ips.py b/sdk/python/pulumiverse_scaleway/get_lb_ips.py index 90a90091..7c0b2810 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_ips.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_ips.py @@ -166,7 +166,7 @@ def get_lb_ips_output(ip_cidr_range: Optional[pulumi.Input[Optional[str]]] = Non project_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbIpsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbIpsResult]: """ Gets information about multiple Load Balancer IP addresses. @@ -185,7 +185,7 @@ def get_lb_ips_output(ip_cidr_range: Optional[pulumi.Input[Optional[str]]] = Non __args__['projectId'] = project_id __args__['tags'] = tags __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbIps:getLbIps', __args__, opts=opts, typ=GetLbIpsResult) return __ret__.apply(lambda __response__: GetLbIpsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_route.py b/sdk/python/pulumiverse_scaleway/get_lb_route.py index c9aa853c..a98202f5 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_route.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_route.py @@ -165,7 +165,7 @@ def get_lb_route(route_id: Optional[str] = None, route_id=pulumi.get(__ret__, 'route_id'), updated_at=pulumi.get(__ret__, 'updated_at')) def get_lb_route_output(route_id: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbRouteResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbRouteResult]: """ Get information about Scaleway Load Balancer routes. @@ -204,7 +204,7 @@ def get_lb_route_output(route_id: Optional[pulumi.Input[str]] = None, """ __args__ = dict() __args__['routeId'] = route_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbRoute:getLbRoute', __args__, opts=opts, typ=GetLbRouteResult) return __ret__.apply(lambda __response__: GetLbRouteResult( backend_id=pulumi.get(__response__, 'backend_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_lb_routes.py b/sdk/python/pulumiverse_scaleway/get_lb_routes.py index 2513549f..a48a5a41 100644 --- a/sdk/python/pulumiverse_scaleway/get_lb_routes.py +++ b/sdk/python/pulumiverse_scaleway/get_lb_routes.py @@ -141,7 +141,7 @@ def get_lb_routes(frontend_id: Optional[str] = None, def get_lb_routes_output(frontend_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbRoutesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbRoutesResult]: """ Gets information about multiple Load Balancer routes. @@ -168,7 +168,7 @@ def get_lb_routes_output(frontend_id: Optional[pulumi.Input[Optional[str]]] = No __args__['frontendId'] = frontend_id __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbRoutes:getLbRoutes', __args__, opts=opts, typ=GetLbRoutesResult) return __ret__.apply(lambda __response__: GetLbRoutesResult( frontend_id=pulumi.get(__response__, 'frontend_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_lbs.py b/sdk/python/pulumiverse_scaleway/get_lbs.py index b5ae97aa..a9931f7f 100644 --- a/sdk/python/pulumiverse_scaleway/get_lbs.py +++ b/sdk/python/pulumiverse_scaleway/get_lbs.py @@ -158,7 +158,7 @@ def get_lbs_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLbsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLbsResult]: """ Gets information about multiple Load Balancers. @@ -175,7 +175,7 @@ def get_lbs_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['tags'] = tags __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLbs:getLbs', __args__, opts=opts, typ=GetLbsResult) return __ret__.apply(lambda __response__: GetLbsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_loadbalancer.py b/sdk/python/pulumiverse_scaleway/get_loadbalancer.py index 7fdb1ef6..b3e77384 100644 --- a/sdk/python/pulumiverse_scaleway/get_loadbalancer.py +++ b/sdk/python/pulumiverse_scaleway/get_loadbalancer.py @@ -286,7 +286,7 @@ def get_loadbalancer_output(lb_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, release_ip: Optional[pulumi.Input[Optional[bool]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadbalancerResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadbalancerResult]: """ Gets information about a Load Balancer. @@ -315,7 +315,7 @@ def get_loadbalancer_output(lb_id: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['releaseIp'] = release_ip __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLoadbalancer:getLoadbalancer', __args__, opts=opts, typ=GetLoadbalancerResult) return __ret__.apply(lambda __response__: GetLoadbalancerResult( assign_flexible_ip=pulumi.get(__response__, 'assign_flexible_ip'), diff --git a/sdk/python/pulumiverse_scaleway/get_loadbalancer_certificate.py b/sdk/python/pulumiverse_scaleway/get_loadbalancer_certificate.py index 9c8377c6..24e07b60 100644 --- a/sdk/python/pulumiverse_scaleway/get_loadbalancer_certificate.py +++ b/sdk/python/pulumiverse_scaleway/get_loadbalancer_certificate.py @@ -192,7 +192,7 @@ def get_loadbalancer_certificate(certificate_id: Optional[str] = None, def get_loadbalancer_certificate_output(certificate_id: Optional[pulumi.Input[Optional[str]]] = None, lb_id: Optional[pulumi.Input[Optional[str]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadbalancerCertificateResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadbalancerCertificateResult]: """ Get information about Scaleway Load Balancer certificates. @@ -213,7 +213,7 @@ def get_loadbalancer_certificate_output(certificate_id: Optional[pulumi.Input[Op __args__['certificateId'] = certificate_id __args__['lbId'] = lb_id __args__['name'] = name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLoadbalancerCertificate:getLoadbalancerCertificate', __args__, opts=opts, typ=GetLoadbalancerCertificateResult) return __ret__.apply(lambda __response__: GetLoadbalancerCertificateResult( certificate_id=pulumi.get(__response__, 'certificate_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_loadbalancer_ip.py b/sdk/python/pulumiverse_scaleway/get_loadbalancer_ip.py index 4d7c412f..684ceae8 100644 --- a/sdk/python/pulumiverse_scaleway/get_loadbalancer_ip.py +++ b/sdk/python/pulumiverse_scaleway/get_loadbalancer_ip.py @@ -193,7 +193,7 @@ def get_loadbalancer_ip_output(ip_address: Optional[pulumi.Input[Optional[str]]] ip_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadbalancerIpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLoadbalancerIpResult]: """ Gets information about a Load Balancer IP address. @@ -212,7 +212,7 @@ def get_loadbalancer_ip_output(ip_address: Optional[pulumi.Input[Optional[str]]] __args__['ipId'] = ip_id __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getLoadbalancerIp:getLoadbalancerIp', __args__, opts=opts, typ=GetLoadbalancerIpResult) return __ret__.apply(lambda __response__: GetLoadbalancerIpResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_marketplace_image.py b/sdk/python/pulumiverse_scaleway/get_marketplace_image.py index fc45107b..43963f1c 100644 --- a/sdk/python/pulumiverse_scaleway/get_marketplace_image.py +++ b/sdk/python/pulumiverse_scaleway/get_marketplace_image.py @@ -114,7 +114,7 @@ def get_marketplace_image(instance_type: Optional[str] = None, def get_marketplace_image_output(instance_type: Optional[pulumi.Input[Optional[str]]] = None, label: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMarketplaceImageResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMarketplaceImageResult]: """ Gets local image ID of an image from its label name. @@ -138,7 +138,7 @@ def get_marketplace_image_output(instance_type: Optional[pulumi.Input[Optional[s __args__['instanceType'] = instance_type __args__['label'] = label __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getMarketplaceImage:getMarketplaceImage', __args__, opts=opts, typ=GetMarketplaceImageResult) return __ret__.apply(lambda __response__: GetMarketplaceImageResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_mnq_sns.py b/sdk/python/pulumiverse_scaleway/get_mnq_sns.py index 02e651b1..ba106efd 100644 --- a/sdk/python/pulumiverse_scaleway/get_mnq_sns.py +++ b/sdk/python/pulumiverse_scaleway/get_mnq_sns.py @@ -116,7 +116,7 @@ def get_mnq_sns(project_id: Optional[str] = None, 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]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMnqSnsResult]: """ Gets information about SNS for a Project @@ -141,7 +141,7 @@ def get_mnq_sns_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.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'), diff --git a/sdk/python/pulumiverse_scaleway/get_mnq_sqs.py b/sdk/python/pulumiverse_scaleway/get_mnq_sqs.py index c9a65f90..4f6b9c51 100644 --- a/sdk/python/pulumiverse_scaleway/get_mnq_sqs.py +++ b/sdk/python/pulumiverse_scaleway/get_mnq_sqs.py @@ -116,7 +116,7 @@ def get_mnq_sqs(project_id: Optional[str] = None, region=pulumi.get(__ret__, 'region')) def get_mnq_sqs_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMnqSqsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMnqSqsResult]: """ Gets information about SQS for a Project @@ -141,7 +141,7 @@ def get_mnq_sqs_output(project_id: Optional[pulumi.Input[Optional[str]]] = None, __args__ = dict() __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getMnqSqs:getMnqSqs', __args__, opts=opts, typ=GetMnqSqsResult) return __ret__.apply(lambda __response__: GetMnqSqsResult( endpoint=pulumi.get(__response__, 'endpoint'), diff --git a/sdk/python/pulumiverse_scaleway/get_mongo_db_instance.py b/sdk/python/pulumiverse_scaleway/get_mongo_db_instance.py index 72903cf3..fdf692bb 100644 --- a/sdk/python/pulumiverse_scaleway/get_mongo_db_instance.py +++ b/sdk/python/pulumiverse_scaleway/get_mongo_db_instance.py @@ -282,7 +282,7 @@ def get_mongo_db_instance_output(instance_id: Optional[pulumi.Input[Optional[str name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMongoDbInstanceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMongoDbInstanceResult]: """ Gets information about a MongoDB® Instance. @@ -301,7 +301,7 @@ def get_mongo_db_instance_output(instance_id: Optional[pulumi.Input[Optional[str __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getMongoDbInstance:getMongoDbInstance', __args__, opts=opts, typ=GetMongoDbInstanceResult) return __ret__.apply(lambda __response__: GetMongoDbInstanceResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_object_bucket.py b/sdk/python/pulumiverse_scaleway/get_object_bucket.py index 23c69717..47e8f8f6 100644 --- a/sdk/python/pulumiverse_scaleway/get_object_bucket.py +++ b/sdk/python/pulumiverse_scaleway/get_object_bucket.py @@ -228,7 +228,7 @@ def get_object_bucket(name: Optional[str] = None, def get_object_bucket_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetObjectBucketResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetObjectBucketResult]: """ The `ObjectBucket` data source is used to retrieve information about an Object Storage bucket. @@ -272,7 +272,7 @@ def get_object_bucket_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getObjectBucket:getObjectBucket', __args__, opts=opts, typ=GetObjectBucketResult) return __ret__.apply(lambda __response__: GetObjectBucketResult( acl=pulumi.get(__response__, 'acl'), diff --git a/sdk/python/pulumiverse_scaleway/get_object_bucket_policy.py b/sdk/python/pulumiverse_scaleway/get_object_bucket_policy.py index c2122569..639fc9ab 100644 --- a/sdk/python/pulumiverse_scaleway/get_object_bucket_policy.py +++ b/sdk/python/pulumiverse_scaleway/get_object_bucket_policy.py @@ -128,7 +128,7 @@ def get_object_bucket_policy(bucket: Optional[str] = None, def get_object_bucket_policy_output(bucket: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetObjectBucketPolicyResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetObjectBucketPolicyResult]: """ The `ObjectBucketPolicy` data source is used to retrieve information about the bucket policy of an Object Storage bucket. @@ -153,7 +153,7 @@ def get_object_bucket_policy_output(bucket: Optional[pulumi.Input[str]] = None, __args__['bucket'] = bucket __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getObjectBucketPolicy:getObjectBucketPolicy', __args__, opts=opts, typ=GetObjectBucketPolicyResult) return __ret__.apply(lambda __response__: GetObjectBucketPolicyResult( bucket=pulumi.get(__response__, 'bucket'), diff --git a/sdk/python/pulumiverse_scaleway/get_redis_cluster.py b/sdk/python/pulumiverse_scaleway/get_redis_cluster.py index 0d40e8d4..a4062fc9 100644 --- a/sdk/python/pulumiverse_scaleway/get_redis_cluster.py +++ b/sdk/python/pulumiverse_scaleway/get_redis_cluster.py @@ -304,7 +304,7 @@ def get_redis_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str]]] = name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRedisClusterResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRedisClusterResult]: """ Gets information about a Redis™ cluster. @@ -323,7 +323,7 @@ def get_redis_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str]]] = __args__['name'] = name __args__['projectId'] = project_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRedisCluster:getRedisCluster', __args__, opts=opts, typ=GetRedisClusterResult) return __ret__.apply(lambda __response__: GetRedisClusterResult( acls=pulumi.get(__response__, 'acls'), diff --git a/sdk/python/pulumiverse_scaleway/get_registry_image.py b/sdk/python/pulumiverse_scaleway/get_registry_image.py index 493fcc4d..50666f51 100644 --- a/sdk/python/pulumiverse_scaleway/get_registry_image.py +++ b/sdk/python/pulumiverse_scaleway/get_registry_image.py @@ -202,7 +202,7 @@ def get_registry_image_output(image_id: Optional[pulumi.Input[Optional[str]]] = project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryImageResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistryImageResult]: """ Gets information about a Container Registry image. @@ -223,7 +223,7 @@ def get_registry_image_output(image_id: Optional[pulumi.Input[Optional[str]]] = __args__['projectId'] = project_id __args__['region'] = region __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRegistryImage:getRegistryImage', __args__, opts=opts, typ=GetRegistryImageResult) return __ret__.apply(lambda __response__: GetRegistryImageResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py b/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py index 0cf4cb2d..4716631d 100644 --- a/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py +++ b/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py @@ -196,7 +196,7 @@ def get_registry_image_tag_output(image_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, tag_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryImageTagResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistryImageTagResult]: """ Gets information about a specific tag of a Container Registry image. @@ -213,7 +213,7 @@ def get_registry_image_tag_output(image_id: Optional[pulumi.Input[str]] = None, __args__['projectId'] = project_id __args__['region'] = region __args__['tagId'] = tag_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRegistryImageTag:getRegistryImageTag', __args__, opts=opts, typ=GetRegistryImageTagResult) return __ret__.apply(lambda __response__: GetRegistryImageTagResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_registry_namespace.py b/sdk/python/pulumiverse_scaleway/get_registry_namespace.py index fdf5485b..429bdd24 100644 --- a/sdk/python/pulumiverse_scaleway/get_registry_namespace.py +++ b/sdk/python/pulumiverse_scaleway/get_registry_namespace.py @@ -168,7 +168,7 @@ def get_registry_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = namespace_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryNamespaceResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistryNamespaceResult]: """ Gets information about a registry namespace. @@ -185,7 +185,7 @@ def get_registry_namespace_output(name: Optional[pulumi.Input[Optional[str]]] = __args__['namespaceId'] = namespace_id __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRegistryNamespace:getRegistryNamespace', __args__, opts=opts, typ=GetRegistryNamespaceResult) return __ret__.apply(lambda __response__: GetRegistryNamespaceResult( description=pulumi.get(__response__, 'description'), diff --git a/sdk/python/pulumiverse_scaleway/get_secret.py b/sdk/python/pulumiverse_scaleway/get_secret.py index d5dc9b95..db958b1a 100644 --- a/sdk/python/pulumiverse_scaleway/get_secret.py +++ b/sdk/python/pulumiverse_scaleway/get_secret.py @@ -267,7 +267,7 @@ def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, secret_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecretResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretResult]: """ The `Secret` data source is used to get information about a specific secret in Scaleway's Secret Manager. @@ -317,7 +317,7 @@ def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['region'] = region __args__['secretId'] = secret_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getSecret:getSecret', __args__, opts=opts, typ=GetSecretResult) return __ret__.apply(lambda __response__: GetSecretResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_secret_version.py b/sdk/python/pulumiverse_scaleway/get_secret_version.py index eb242c70..c51ef9fb 100644 --- a/sdk/python/pulumiverse_scaleway/get_secret_version.py +++ b/sdk/python/pulumiverse_scaleway/get_secret_version.py @@ -257,7 +257,7 @@ def get_secret_version_output(organization_id: Optional[pulumi.Input[Optional[st 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]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretVersionResult]: """ The `SecretVersion` data source is used to get information about a specific secret version stored in Scaleway Secret Manager. @@ -323,7 +323,7 @@ def get_secret_version_output(organization_id: Optional[pulumi.Input[Optional[st __args__['revision'] = revision __args__['secretId'] = secret_id __args__['secretName'] = secret_name - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getSecretVersion:getSecretVersion', __args__, opts=opts, typ=GetSecretVersionResult) return __ret__.apply(lambda __response__: GetSecretVersionResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_tem_domain.py b/sdk/python/pulumiverse_scaleway/get_tem_domain.py index 65b21170..3ca12c5e 100644 --- a/sdk/python/pulumiverse_scaleway/get_tem_domain.py +++ b/sdk/python/pulumiverse_scaleway/get_tem_domain.py @@ -330,7 +330,7 @@ def get_tem_domain_output(domain_id: Optional[pulumi.Input[Optional[str]]] = Non name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTemDomainResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTemDomainResult]: """ Gets information about a transactional email domain. @@ -347,7 +347,7 @@ def get_tem_domain_output(domain_id: Optional[pulumi.Input[Optional[str]]] = Non __args__['name'] = name __args__['projectId'] = project_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getTemDomain:getTemDomain', __args__, opts=opts, typ=GetTemDomainResult) return __ret__.apply(lambda __response__: GetTemDomainResult( accept_tos=pulumi.get(__response__, 'accept_tos'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc.py b/sdk/python/pulumiverse_scaleway/get_vpc.py index f0ad180d..b07168f1 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc.py @@ -198,7 +198,7 @@ def get_vpc_output(is_default: Optional[pulumi.Input[Optional[bool]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcResult]: """ Gets information about a Scaleway Virtual Private Cloud. @@ -230,7 +230,7 @@ def get_vpc_output(is_default: Optional[pulumi.Input[Optional[bool]]] = None, __args__['projectId'] = project_id __args__['region'] = region __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpc:getVpc', __args__, opts=opts, typ=GetVpcResult) return __ret__.apply(lambda __response__: GetVpcResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_gateway_network.py b/sdk/python/pulumiverse_scaleway/get_vpc_gateway_network.py index 28d7c82c..190e4fc2 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_gateway_network.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_gateway_network.py @@ -236,7 +236,7 @@ def get_vpc_gateway_network_output(dhcp_id: Optional[pulumi.Input[Optional[str]] gateway_id: Optional[pulumi.Input[Optional[str]]] = None, gateway_network_id: Optional[pulumi.Input[Optional[str]]] = None, private_network_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcGatewayNetworkResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcGatewayNetworkResult]: """ Gets information about a GatewayNetwork (a connection between a Public Gateway and a Private Network). @@ -267,7 +267,7 @@ def get_vpc_gateway_network_output(dhcp_id: Optional[pulumi.Input[Optional[str]] __args__['gatewayId'] = gateway_id __args__['gatewayNetworkId'] = gateway_network_id __args__['privateNetworkId'] = private_network_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcGatewayNetwork:getVpcGatewayNetwork', __args__, opts=opts, typ=GetVpcGatewayNetworkResult) return __ret__.apply(lambda __response__: GetVpcGatewayNetworkResult( cleanup_dhcp=pulumi.get(__response__, 'cleanup_dhcp'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_private_network.py b/sdk/python/pulumiverse_scaleway/get_vpc_private_network.py index cfd1b37b..21e4e794 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_private_network.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_private_network.py @@ -232,7 +232,7 @@ def get_vpc_private_network_output(name: Optional[pulumi.Input[Optional[str]]] = project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPrivateNetworkResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPrivateNetworkResult]: """ Gets information about a Private Network. @@ -263,7 +263,7 @@ def get_vpc_private_network_output(name: Optional[pulumi.Input[Optional[str]]] = __args__['projectId'] = project_id __args__['region'] = region __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPrivateNetwork:getVpcPrivateNetwork', __args__, opts=opts, typ=GetVpcPrivateNetworkResult) return __ret__.apply(lambda __response__: GetVpcPrivateNetworkResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway.py b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway.py index 3e6dda53..2bfb3a82 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway.py @@ -252,7 +252,7 @@ def get_vpc_public_gateway_output(name: Optional[pulumi.Input[Optional[str]]] = project_id: Optional[pulumi.Input[Optional[str]]] = None, public_gateway_id: Optional[pulumi.Input[Optional[str]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicGatewayResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayResult]: """ Gets information about a Public Gateway. @@ -282,7 +282,7 @@ def get_vpc_public_gateway_output(name: Optional[pulumi.Input[Optional[str]]] = __args__['projectId'] = project_id __args__['publicGatewayId'] = public_gateway_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGateway:getVpcPublicGateway', __args__, opts=opts, typ=GetVpcPublicGatewayResult) return __ret__.apply(lambda __response__: GetVpcPublicGatewayResult( bastion_enabled=pulumi.get(__response__, 'bastion_enabled'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py index 827b9ea3..a7031502 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py @@ -263,7 +263,7 @@ def get_vpc_public_gateway_dhcp(dhcp_id: Optional[str] = None, valid_lifetime=pulumi.get(__ret__, 'valid_lifetime'), zone=pulumi.get(__ret__, 'zone')) def get_vpc_public_gateway_dhcp_output(dhcp_id: Optional[pulumi.Input[str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpResult]: """ Gets information about a Public Gateway DHCP configuration. @@ -280,7 +280,7 @@ def get_vpc_public_gateway_dhcp_output(dhcp_id: Optional[pulumi.Input[str]] = No """ __args__ = dict() __args__['dhcpId'] = dhcp_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGatewayDhcp:getVpcPublicGatewayDhcp', __args__, opts=opts, typ=GetVpcPublicGatewayDhcpResult) return __ret__.apply(lambda __response__: GetVpcPublicGatewayDhcpResult( address=pulumi.get(__response__, 'address'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py index 6050c890..c0db1da9 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py @@ -265,7 +265,7 @@ def get_vpc_public_gateway_dhcp_reservation_output(gateway_network_id: Optional[ reservation_id: Optional[pulumi.Input[Optional[str]]] = None, wait_for_dhcp: Optional[pulumi.Input[Optional[bool]]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpReservationResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpReservationResult]: """ Gets information about a DHCP entry. For further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries)/ @@ -366,7 +366,7 @@ def get_vpc_public_gateway_dhcp_reservation_output(gateway_network_id: Optional[ __args__['reservationId'] = reservation_id __args__['waitForDhcp'] = wait_for_dhcp __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGatewayDhcpReservation:getVpcPublicGatewayDhcpReservation', __args__, opts=opts, typ=GetVpcPublicGatewayDhcpReservationResult) return __ret__.apply(lambda __response__: GetVpcPublicGatewayDhcpReservationResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_ip.py b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_ip.py index dd55d82d..4bdffeb2 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_ip.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_public_gateway_ip.py @@ -165,7 +165,7 @@ def get_vpc_public_gateway_ip(ip_id: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at'), zone=pulumi.get(__ret__, 'zone')) def get_vpc_public_gateway_ip_output(ip_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicGatewayIpResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayIpResult]: """ Gets information about a Public Gateway public flexible IP address. @@ -184,7 +184,7 @@ def get_vpc_public_gateway_ip_output(ip_id: Optional[pulumi.Input[Optional[str]] """ __args__ = dict() __args__['ipId'] = ip_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGatewayIp:getVpcPublicGatewayIp', __args__, opts=opts, typ=GetVpcPublicGatewayIpResult) return __ret__.apply(lambda __response__: GetVpcPublicGatewayIpResult( address=pulumi.get(__response__, 'address'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_public_pat_rule.py b/sdk/python/pulumiverse_scaleway/get_vpc_public_pat_rule.py index a6134a6b..9613e767 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_public_pat_rule.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_public_pat_rule.py @@ -235,7 +235,7 @@ def get_vpc_public_pat_rule(pat_rule_id: Optional[str] = None, zone=pulumi.get(__ret__, 'zone')) def get_vpc_public_pat_rule_output(pat_rule_id: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcPublicPatRuleResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicPatRuleResult]: """ Gets information about a Public Gateway PAT rule. For further information, please see the API [documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-pat-rules-list-pat-rules). @@ -297,7 +297,7 @@ def get_vpc_public_pat_rule_output(pat_rule_id: Optional[pulumi.Input[str]] = No __args__ = dict() __args__['patRuleId'] = pat_rule_id __args__['zone'] = zone - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicPatRule:getVpcPublicPatRule', __args__, opts=opts, typ=GetVpcPublicPatRuleResult) return __ret__.apply(lambda __response__: GetVpcPublicPatRuleResult( created_at=pulumi.get(__response__, 'created_at'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpc_routes.py b/sdk/python/pulumiverse_scaleway/get_vpc_routes.py index dfdda2ed..4ce07a78 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpc_routes.py +++ b/sdk/python/pulumiverse_scaleway/get_vpc_routes.py @@ -173,7 +173,7 @@ def get_vpc_routes_output(is_ipv6: Optional[pulumi.Input[Optional[bool]]] = None region: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, vpc_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcRoutesResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcRoutesResult]: """ Gets information about multiple VPC routes. @@ -194,7 +194,7 @@ def get_vpc_routes_output(is_ipv6: Optional[pulumi.Input[Optional[bool]]] = None __args__['region'] = region __args__['tags'] = tags __args__['vpcId'] = vpc_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcRoutes:getVpcRoutes', __args__, opts=opts, typ=GetVpcRoutesResult) return __ret__.apply(lambda __response__: GetVpcRoutesResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_vpcs.py b/sdk/python/pulumiverse_scaleway/get_vpcs.py index 2992a969..ac17ad27 100644 --- a/sdk/python/pulumiverse_scaleway/get_vpcs.py +++ b/sdk/python/pulumiverse_scaleway/get_vpcs.py @@ -147,7 +147,7 @@ def get_vpcs_output(name: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcsResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcsResult]: """ Gets information about multiple Virtual Private Clouds. @@ -162,7 +162,7 @@ def get_vpcs_output(name: Optional[pulumi.Input[Optional[str]]] = None, __args__['projectId'] = project_id __args__['region'] = region __args__['tags'] = tags - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcs:getVpcs', __args__, opts=opts, typ=GetVpcsResult) return __ret__.apply(lambda __response__: GetVpcsResult( id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumiverse_scaleway/get_web_host_offer.py b/sdk/python/pulumiverse_scaleway/get_web_host_offer.py index 015c4fd7..1650c00b 100644 --- a/sdk/python/pulumiverse_scaleway/get_web_host_offer.py +++ b/sdk/python/pulumiverse_scaleway/get_web_host_offer.py @@ -155,7 +155,7 @@ def get_web_host_offer(name: Optional[str] = None, def get_web_host_offer_output(name: Optional[pulumi.Input[Optional[str]]] = None, offer_id: Optional[pulumi.Input[Optional[str]]] = None, region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWebHostOfferResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebHostOfferResult]: """ Gets information about a webhosting offer. @@ -180,7 +180,7 @@ def get_web_host_offer_output(name: Optional[pulumi.Input[Optional[str]]] = None __args__['name'] = name __args__['offerId'] = offer_id __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getWebHostOffer:getWebHostOffer', __args__, opts=opts, typ=GetWebHostOfferResult) return __ret__.apply(lambda __response__: GetWebHostOfferResult( billing_operation_path=pulumi.get(__response__, 'billing_operation_path'), diff --git a/sdk/python/pulumiverse_scaleway/get_webhosting.py b/sdk/python/pulumiverse_scaleway/get_webhosting.py index 2e703d2d..2eca4337 100644 --- a/sdk/python/pulumiverse_scaleway/get_webhosting.py +++ b/sdk/python/pulumiverse_scaleway/get_webhosting.py @@ -280,7 +280,7 @@ def get_webhosting_output(domain: Optional[pulumi.Input[Optional[str]]] = None, organization_id: Optional[pulumi.Input[Optional[str]]] = None, project_id: Optional[pulumi.Input[Optional[str]]] = None, webhosting_id: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWebhostingResult]: + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetWebhostingResult]: """ Gets information about a webhosting. @@ -307,7 +307,7 @@ def get_webhosting_output(domain: Optional[pulumi.Input[Optional[str]]] = None, __args__['organizationId'] = organization_id __args__['projectId'] = project_id __args__['webhostingId'] = webhosting_id - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('scaleway:index/getWebhosting:getWebhosting', __args__, opts=opts, typ=GetWebhostingResult) return __ret__.apply(lambda __response__: GetWebhostingResult( cpanel_urls=pulumi.get(__response__, 'cpanel_urls'), diff --git a/sdk/python/pulumiverse_scaleway/instance_server.py b/sdk/python/pulumiverse_scaleway/instance_server.py index e7f849e4..172d73ef 100644 --- a/sdk/python/pulumiverse_scaleway/instance_server.py +++ b/sdk/python/pulumiverse_scaleway/instance_server.py @@ -533,7 +533,7 @@ def __init__(__self__, *, > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail. :param pulumi.Input[bool] placement_group_policy_respected: True when the placement group policy is respected. - :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server. + :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). :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. @@ -608,6 +608,9 @@ def __init__(__self__, *, pulumi.set(__self__, "placement_group_id", placement_group_id) if placement_group_policy_respected is not None: pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected) + if private_ip is not None: + warnings.warn("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""", DeprecationWarning) + pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""") if private_ip is not None: pulumi.set(__self__, "private_ip", private_ip) if private_networks is not None: @@ -861,9 +864,10 @@ def placement_group_policy_respected(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="privateIp") + @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""") def private_ip(self) -> Optional[pulumi.Input[str]]: """ - The Scaleway internal IP address of the server. + The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). """ return pulumi.get(self, "private_ip") @@ -1656,7 +1660,7 @@ def get(resource_name: str, > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail. :param pulumi.Input[bool] placement_group_policy_respected: True when the placement group policy is respected. - :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server. + :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). :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. @@ -1874,9 +1878,10 @@ def placement_group_policy_respected(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="privateIp") + @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""") def private_ip(self) -> pulumi.Output[str]: """ - The Scaleway internal IP address of the server. + The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead). """ return pulumi.get(self, "private_ip") diff --git a/sdk/python/pulumiverse_scaleway/object_bucket.py b/sdk/python/pulumiverse_scaleway/object_bucket.py index b2933c48..5fbd10fd 100644 --- a/sdk/python/pulumiverse_scaleway/object_bucket.py +++ b/sdk/python/pulumiverse_scaleway/object_bucket.py @@ -794,7 +794,7 @@ def api_endpoint(self) -> pulumi.Output[str]: @property @pulumi.getter(name="corsRules") - def cors_rules(self) -> pulumi.Output[Optional[Sequence['outputs.ObjectBucketCorsRule']]]: + def cors_rules(self) -> pulumi.Output[Sequence['outputs.ObjectBucketCorsRule']]: return pulumi.get(self, "cors_rules") @property diff --git a/sdk/python/pulumiverse_scaleway/object_item.py b/sdk/python/pulumiverse_scaleway/object_item.py index e9854679..2096eca6 100644 --- a/sdk/python/pulumiverse_scaleway/object_item.py +++ b/sdk/python/pulumiverse_scaleway/object_item.py @@ -28,6 +28,7 @@ def __init__(__self__, *, metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + sse_customer_key: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, visibility: Optional[pulumi.Input[str]] = None): @@ -44,6 +45,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[str] region: The Scaleway region the bucket resides in. + :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C) :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags. :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`. @@ -64,6 +66,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if sse_customer_key is not None: + pulumi.set(__self__, "sse_customer_key", sse_customer_key) if storage_class is not None: pulumi.set(__self__, "storage_class", storage_class) if tags is not None: @@ -181,6 +185,18 @@ def region(self) -> Optional[pulumi.Input[str]]: def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) + @property + @pulumi.getter(name="sseCustomerKey") + def sse_customer_key(self) -> Optional[pulumi.Input[str]]: + """ + Customer's encryption keys to encrypt data (SSE-C) + """ + return pulumi.get(self, "sse_customer_key") + + @sse_customer_key.setter + def sse_customer_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sse_customer_key", value) + @property @pulumi.getter(name="storageClass") def storage_class(self) -> Optional[pulumi.Input[str]]: @@ -230,6 +246,7 @@ def __init__(__self__, *, metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + sse_customer_key: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, visibility: Optional[pulumi.Input[str]] = None): @@ -246,6 +263,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[str] region: The Scaleway region the bucket resides in. + :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C) :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags. :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`. @@ -268,6 +286,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if sse_customer_key is not None: + pulumi.set(__self__, "sse_customer_key", sse_customer_key) if storage_class is not None: pulumi.set(__self__, "storage_class", storage_class) if tags is not None: @@ -385,6 +405,18 @@ def region(self) -> Optional[pulumi.Input[str]]: def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) + @property + @pulumi.getter(name="sseCustomerKey") + def sse_customer_key(self) -> Optional[pulumi.Input[str]]: + """ + Customer's encryption keys to encrypt data (SSE-C) + """ + return pulumi.get(self, "sse_customer_key") + + @sse_customer_key.setter + def sse_customer_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sse_customer_key", value) + @property @pulumi.getter(name="storageClass") def storage_class(self) -> Optional[pulumi.Input[str]]: @@ -436,6 +468,7 @@ def __init__(__self__, metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + sse_customer_key: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, visibility: Optional[pulumi.Input[str]] = None, @@ -478,6 +511,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[str] region: The Scaleway region the bucket resides in. + :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C) :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags. :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`. @@ -537,6 +571,7 @@ def _internal_init(__self__, metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + sse_customer_key: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, visibility: Optional[pulumi.Input[str]] = None, @@ -562,9 +597,12 @@ def _internal_init(__self__, __props__.__dict__["metadata"] = metadata __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["sse_customer_key"] = None if sse_customer_key is None else pulumi.Output.secret(sse_customer_key) __props__.__dict__["storage_class"] = storage_class __props__.__dict__["tags"] = tags __props__.__dict__["visibility"] = visibility + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["sseCustomerKey"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(ObjectItem, __self__).__init__( 'scaleway:index/objectItem:ObjectItem', resource_name, @@ -584,6 +622,7 @@ def get(resource_name: str, metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, + sse_customer_key: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, visibility: Optional[pulumi.Input[str]] = None) -> 'ObjectItem': @@ -605,6 +644,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Map of metadata used for the object (keys must be lowercase). :param pulumi.Input[str] project_id: The project_id you want to attach the resource to :param pulumi.Input[str] region: The Scaleway region the bucket resides in. + :param pulumi.Input[str] sse_customer_key: Customer's encryption keys to encrypt data (SSE-C) :param pulumi.Input[str] storage_class: Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) (`STANDARD`, `GLACIER`, or `ONEZONE_IA`) used to store the object. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags. :param pulumi.Input[str] visibility: Visibility of the object, `public-read` or `private`. @@ -622,6 +662,7 @@ def get(resource_name: str, __props__.__dict__["metadata"] = metadata __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["sse_customer_key"] = sse_customer_key __props__.__dict__["storage_class"] = storage_class __props__.__dict__["tags"] = tags __props__.__dict__["visibility"] = visibility @@ -701,6 +742,14 @@ def region(self) -> pulumi.Output[str]: """ return pulumi.get(self, "region") + @property + @pulumi.getter(name="sseCustomerKey") + def sse_customer_key(self) -> pulumi.Output[Optional[str]]: + """ + Customer's encryption keys to encrypt data (SSE-C) + """ + return pulumi.get(self, "sse_customer_key") + @property @pulumi.getter(name="storageClass") def storage_class(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumiverse_scaleway/outputs.py b/sdk/python/pulumiverse_scaleway/outputs.py index 697fb682..47aa8477 100644 --- a/sdk/python/pulumiverse_scaleway/outputs.py +++ b/sdk/python/pulumiverse_scaleway/outputs.py @@ -2874,7 +2874,7 @@ def __init__(__self__, *, :param int size_in_gb: Size of the root volume in gigabytes. To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - Updates to this field will recreate a new resource. + Depending on `volume_type`, updates to this field may recreate a new resource. :param str volume_id: The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID. :param str volume_type: Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type """ @@ -2934,7 +2934,7 @@ def size_in_gb(self) -> Optional[int]: Size of the root volume in gigabytes. To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`. - Updates to this field will recreate a new resource. + Depending on `volume_type`, updates to this field may recreate a new resource. """ return pulumi.get(self, "size_in_gb") diff --git a/sdk/python/pulumiverse_scaleway/redis_cluster.py b/sdk/python/pulumiverse_scaleway/redis_cluster.py index 7b75c466..ba59d8f2 100644 --- a/sdk/python/pulumiverse_scaleway/redis_cluster.py +++ b/sdk/python/pulumiverse_scaleway/redis_cluster.py @@ -50,8 +50,13 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['RedisClusterAclArgs']]] acls: List of acl rules, this is cluster's authorized IPs. More details on the ACL section. :param pulumi.Input[int] cluster_size: The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -172,8 +177,13 @@ def cluster_size(self) -> Optional[pulumi.Input[int]]: """ The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -318,8 +328,13 @@ def __init__(__self__, *, :param pulumi.Input[str] certificate: The PEM of the certificate used by redis, only when `tls_enabled` is true :param pulumi.Input[int] cluster_size: The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -420,8 +435,13 @@ def cluster_size(self) -> Optional[pulumi.Input[int]]: """ The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -722,8 +742,13 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[Union['RedisClusterAclArgs', 'RedisClusterAclArgsDict']]]] acls: List of acl rules, this is cluster's authorized IPs. More details on the ACL section. :param pulumi.Input[int] cluster_size: The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -945,8 +970,13 @@ def get(resource_name: str, :param pulumi.Input[str] certificate: The PEM of the certificate used by redis, only when `tls_enabled` is true :param pulumi.Input[int] cluster_size: The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller @@ -1027,8 +1057,13 @@ def cluster_size(self) -> pulumi.Output[int]: """ The number of nodes in the Redis™ cluster. - > **Important:** You cannot set `cluster_size` to 2, you either have to choose Standalone mode (1 node) or cluster mode - which is minimum 3 (1 main node + 2 secondary nodes) + > **Important:** + + - Cluster_size = 1 for Standalone mode (single node). + + - Cluster_size = 2 for High Availability (HA) mode, with 1 main node and 1 standby node. + + - Cluster_size >= 3 for Cluster mode, which requires a minimum of 1 main node and 2 secondary nodes. > **Important:** If you are using the cluster mode (>=3 nodes), you can set a bigger `cluster_size` than you initially did, it will migrate the Redis™ cluster but keep in mind that you cannot downgrade a Redis™ cluster, so setting a smaller diff --git a/sdk/python/pulumiverse_scaleway/vpc_gateway_network.py b/sdk/python/pulumiverse_scaleway/vpc_gateway_network.py index 6a4dc9c8..e1a1187f 100644 --- a/sdk/python/pulumiverse_scaleway/vpc_gateway_network.py +++ b/sdk/python/pulumiverse_scaleway/vpc_gateway_network.py @@ -36,7 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[str] private_network_id: The ID of the Private Network. :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID. :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. - :param pulumi.Input[bool] enable_dhcp: WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork :param pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. :param pulumi.Input[str] static_address: Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. @@ -111,7 +111,7 @@ def dhcp_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="enableDhcp") def enable_dhcp(self) -> Optional[pulumi.Input[bool]]: """ - WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. """ return pulumi.get(self, "enable_dhcp") @@ -189,7 +189,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID. :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork. :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. - :param pulumi.Input[bool] enable_dhcp: WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork :param pulumi.Input[str] gateway_id: The ID of the Public Gateway. :param pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. @@ -267,7 +267,7 @@ def dhcp_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="enableDhcp") def enable_dhcp(self) -> Optional[pulumi.Input[bool]]: """ - WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. """ return pulumi.get(self, "enable_dhcp") @@ -518,7 +518,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID. :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. - :param pulumi.Input[bool] enable_dhcp: WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork :param pulumi.Input[str] gateway_id: The ID of the Public Gateway. :param pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkIpamConfigArgs', 'VpcGatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. @@ -730,7 +730,7 @@ def get(resource_name: str, :param pulumi.Input[bool] cleanup_dhcp: Whether to remove DHCP configuration on this GatewayNetwork upon destroy. Requires DHCP ID. :param pulumi.Input[str] created_at: The date and time of the creation of the GatewayNetwork. :param pulumi.Input[str] dhcp_id: The ID of the Public Gateway DHCP configuration. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. - :param pulumi.Input[bool] enable_dhcp: WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + :param pulumi.Input[bool] enable_dhcp: Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork :param pulumi.Input[str] gateway_id: The ID of the Public Gateway. :param pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkIpamConfigArgs', 'VpcGatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified. @@ -788,7 +788,7 @@ def dhcp_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="enableDhcp") def enable_dhcp(self) -> pulumi.Output[Optional[bool]]: """ - WWhether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. + Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID. """ return pulumi.get(self, "enable_dhcp") diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index de2e967c..f5c26d96 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -4,7 +4,7 @@ dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] keywords = ["pulumi", "scaleway", "pulumiverse"] readme = "README.md" - requires-python = ">=3.8" + requires-python = ">=3.9" version = "1.0.0a0+dev" [project.license] text = "Apache-2.0"