From 25fd46d188cd7bb1ef7a71ece878e6df2d8fd5b4 Mon Sep 17 00:00:00 2001 From: Aurelie Vache Date: Wed, 30 Oct 2024 15:43:49 +0100 Subject: [PATCH] Upgrade terraform-provider-ovh to v1.0.0 (#253) * make tfgen * make build_sdks --- .../pulumi-resource-ovh/bridge-metadata.json | 6 + provider/cmd/pulumi-resource-ovh/schema.json | 1057 ++++++++++++++--- provider/go.mod | 33 +- provider/go.sum | 85 +- provider/resources.go | 18 + sdk/dotnet/CloudProject/Database.cs | 16 +- sdk/dotnet/CloudProject/GetVolume.cs | 168 +++ sdk/dotnet/CloudProject/GetVolumes.cs | 140 +++ .../Inputs/NetworkPrivateSubnetIpPoolArgs.cs | 1 - .../NetworkPrivateSubnetIpPoolGetArgs.cs | 1 - ...etworkPrivateSubnetV2AllocationPoolArgs.cs | 26 + ...orkPrivateSubnetV2AllocationPoolGetArgs.cs | 26 + .../NetworkPrivateSubnetV2HostRouteArgs.cs | 26 + .../NetworkPrivateSubnetV2HostRouteGetArgs.cs | 26 + sdk/dotnet/CloudProject/Kube.cs | 18 +- .../CloudProject/NetworkPrivateSubnet.cs | 3 - .../CloudProject/NetworkPrivateSubnetV2.cs | 373 ++++++ .../Outputs/GetVolumesVolumeResult.cs | 42 + .../Outputs/NetworkPrivateSubnetIpPool.cs | 1 - .../NetworkPrivateSubnetV2AllocationPool.cs | 29 + .../NetworkPrivateSubnetV2HostRoute.cs | 29 + sdk/dotnet/CloudProject/Project.cs | 36 +- .../GetDatabaseLogSubscriptions.cs | 4 +- .../CloudProjectDatabase/LogSubscription.cs | 2 +- .../Dbaas/GetLogsOutputOpenSearchIndex.cs | 208 ++++ sdk/dotnet/Dbaas/LogsOutputOpenSearchAlias.cs | 320 +++++ sdk/dotnet/Dbaas/LogsOutputOpenSearchIndex.cs | 266 +++++ sdk/dotnet/Dedicated/Server.cs | 34 +- sdk/dotnet/Domain/Zone.cs | 36 +- sdk/dotnet/Hosting/PrivateDatabase.cs | 38 +- sdk/dotnet/Ip/IpService.cs | 34 +- sdk/dotnet/IpLoadBalancing/LoadBalancer.cs | 38 +- sdk/dotnet/IpLoadBalancing/Ssl.cs | 4 +- sdk/dotnet/IpLoadBalancing/UdpFarm.cs | 4 +- sdk/dotnet/IpLoadBalancing/UdpFarmServer.cs | 4 +- sdk/dotnet/IpLoadBalancing/UdpFrontend.cs | 4 +- sdk/dotnet/Vps/Vps.cs | 8 +- sdk/dotnet/Vrack/Vrack.cs | 36 +- sdk/go.mod | 2 +- sdk/go.sum | 4 +- sdk/go/ovh/cloud/getProjects.go | 2 +- sdk/go/ovh/cloudproject/database.go | 20 +- sdk/go/ovh/cloudproject/getVolume.go | 157 +++ sdk/go/ovh/cloudproject/getVolumes.go | 138 +++ sdk/go/ovh/cloudproject/init.go | 7 + sdk/go/ovh/cloudproject/kube.go | 36 +- .../ovh/cloudproject/networkPrivateSubnet.go | 6 - .../cloudproject/networkPrivateSubnetV2.go | 472 ++++++++ sdk/go/ovh/cloudproject/project.go | 43 +- sdk/go/ovh/cloudproject/pulumiTypes.go | 330 ++++- .../getDatabaseLogSubscriptions.go | 2 +- .../cloudprojectdatabase/logSubscription.go | 2 +- .../ovh/dbaas/getLogsOutputOpenSearchIndex.go | 198 +++ sdk/go/ovh/dbaas/init.go | 14 + sdk/go/ovh/dbaas/logsOutputOpenSearchAlias.go | 409 +++++++ sdk/go/ovh/dbaas/logsOutputOpenSearchIndex.go | 389 ++++++ sdk/go/ovh/dedicated/server.go | 42 +- sdk/go/ovh/domain/zone.go | 45 +- sdk/go/ovh/getInstallationTemplates.go | 2 +- sdk/go/ovh/getServers.go | 2 +- sdk/go/ovh/hosting/privateDatabase.go | 47 +- sdk/go/ovh/iam/getPolicies.go | 2 +- sdk/go/ovh/iam/getReferenceResourceType.go | 2 +- sdk/go/ovh/iam/getResourceGroups.go | 2 +- sdk/go/ovh/iam/policy.go | 2 +- sdk/go/ovh/ip/ipService.go | 43 +- sdk/go/ovh/iploadbalancing/loadBalancer.go | 47 +- sdk/go/ovh/iploadbalancing/ssl.go | 12 +- sdk/go/ovh/iploadbalancing/udpFarm.go | 12 +- sdk/go/ovh/iploadbalancing/udpFarmServer.go | 12 +- sdk/go/ovh/iploadbalancing/udpFrontend.go | 12 +- sdk/go/ovh/me/getAPIOAuth2Clients.go | 2 +- sdk/go/ovh/me/getIdentityGroups.go | 2 +- sdk/go/ovh/me/getIdentityUsers.go | 2 +- sdk/go/ovh/me/getInstallationTemplates.go | 2 +- sdk/go/ovh/me/getMe.go | 2 +- sdk/go/ovh/okms/credential.go | 2 +- sdk/go/ovh/order/getCart.go | 2 +- sdk/go/ovh/order/getCartProduct.go | 2 +- sdk/go/ovh/order/getCartProductOptions.go | 2 +- sdk/go/ovh/order/getCartProductOptionsPlan.go | 2 +- sdk/go/ovh/order/getCartProductPlan.go | 2 +- sdk/go/ovh/vps/getVpss.go | 2 +- sdk/go/ovh/vps/vps.go | 16 +- sdk/go/ovh/vrack/getVracks.go | 2 +- sdk/go/ovh/vrack/ipAddress.go | 2 +- sdk/go/ovh/vrack/vrack.go | 45 +- .../CloudProject/CloudProjectFunctions.java | 354 ++++++ .../pulumi/ovh/CloudProject/Database.java | 8 +- .../pulumi/ovh/CloudProject/DatabaseArgs.java | 45 +- .../pulumi/ovh/CloudProject/Kube.java | 12 +- .../pulumi/ovh/CloudProject/KubeArgs.java | 24 +- .../CloudProject/NetworkPrivateSubnet.java | 2 - .../NetworkPrivateSubnetArgs.java | 4 - .../CloudProject/NetworkPrivateSubnetV2.java | 304 +++++ .../NetworkPrivateSubnetV2Args.java | 533 +++++++++ .../pulumi/ovh/CloudProject/Project.java | 32 +- .../pulumi/ovh/CloudProject/ProjectArgs.java | 27 +- .../CloudProject/inputs/DatabaseState.java | 8 +- .../CloudProject/inputs/GetVolumeArgs.java | 165 +++ .../inputs/GetVolumePlainArgs.java | 134 +++ .../CloudProject/inputs/GetVolumesArgs.java | 125 ++ .../inputs/GetVolumesPlainArgs.java | 104 ++ .../ovh/CloudProject/inputs/KubeState.java | 24 +- .../NetworkPrivateSubnetIpPoolArgs.java | 4 - .../inputs/NetworkPrivateSubnetState.java | 4 - ...workPrivateSubnetV2AllocationPoolArgs.java | 85 ++ .../NetworkPrivateSubnetV2HostRouteArgs.java | 85 ++ .../inputs/NetworkPrivateSubnetV2State.java | 520 ++++++++ .../CloudProject/outputs/GetVolumeResult.java | 166 +++ .../outputs/GetVolumesResult.java | 124 ++ .../outputs/GetVolumesVolume.java | 105 ++ .../outputs/NetworkPrivateSubnetIpPool.java | 2 - .../NetworkPrivateSubnetV2AllocationPool.java | 65 + .../NetworkPrivateSubnetV2HostRoute.java | 65 + .../CloudProjectDatabaseFunctions.java | 8 +- .../CloudProjectDatabase/LogSubscription.java | 2 +- .../pulumi/ovh/Dbaas/DbaasFunctions.java | 175 +++ .../ovh/Dbaas/LogsOutputOpenSearchAlias.java | 300 +++++ .../Dbaas/LogsOutputOpenSearchAliasArgs.java | 337 ++++++ .../ovh/Dbaas/LogsOutputOpenSearchIndex.java | 285 +++++ .../Dbaas/LogsOutputOpenSearchIndexArgs.java | 206 ++++ .../GetLogsOutputOpenSearchIndexArgs.java | 165 +++ ...GetLogsOutputOpenSearchIndexPlainArgs.java | 134 +++ .../LogsOutputOpenSearchAliasState.java | 550 +++++++++ .../LogsOutputOpenSearchIndexState.java | 492 ++++++++ .../GetLogsOutputOpenSearchIndexResult.java | 305 +++++ .../ovhcloud/pulumi/ovh/Dedicated/Server.java | 38 +- .../pulumi/ovh/Dedicated/ServerArgs.java | 14 +- .../com/ovhcloud/pulumi/ovh/Domain/Zone.java | 32 +- .../ovhcloud/pulumi/ovh/Domain/ZoneArgs.java | 27 +- .../pulumi/ovh/Hosting/PrivateDatabase.java | 34 +- .../ovh/Hosting/PrivateDatabaseArgs.java | 27 +- .../com/ovhcloud/pulumi/ovh/Ip/IpService.java | 30 +- .../ovhcloud/pulumi/ovh/Ip/IpServiceArgs.java | 27 +- .../ovh/IpLoadBalancing/LoadBalancer.java | 34 +- .../ovh/IpLoadBalancing/LoadBalancerArgs.java | 27 +- .../pulumi/ovh/IpLoadBalancing/Ssl.java | 13 +- .../pulumi/ovh/IpLoadBalancing/UdpFarm.java | 13 +- .../ovh/IpLoadBalancing/UdpFarmServer.java | 13 +- .../ovh/IpLoadBalancing/UdpFrontend.java | 19 +- .../java/com/ovhcloud/pulumi/ovh/Vps/Vps.java | 13 +- .../com/ovhcloud/pulumi/ovh/Vps/VpsArgs.java | 14 +- .../com/ovhcloud/pulumi/ovh/Vrack/Vrack.java | 32 +- .../ovhcloud/pulumi/ovh/Vrack/VrackArgs.java | 27 +- sdk/nodejs/cloudproject/database.ts | 18 +- sdk/nodejs/cloudproject/getVolume.ts | 117 ++ sdk/nodejs/cloudproject/getVolumes.ts | 99 ++ sdk/nodejs/cloudproject/index.ts | 18 + sdk/nodejs/cloudproject/kube.ts | 18 +- .../cloudproject/networkPrivateSubnet.ts | 3 - .../cloudproject/networkPrivateSubnetV2.ts | 289 +++++ sdk/nodejs/cloudproject/project.ts | 38 +- .../getDatabaseLogSubscriptions.ts | 4 +- .../cloudprojectdatabase/logSubscription.ts | 2 +- .../dbaas/getLogsOutputOpenSearchIndex.ts | 139 +++ sdk/nodejs/dbaas/index.ts | 21 + sdk/nodejs/dbaas/logsOutputOpenSearchAlias.ts | 250 ++++ sdk/nodejs/dbaas/logsOutputOpenSearchIndex.ts | 231 ++++ sdk/nodejs/dedicated/server.ts | 35 +- sdk/nodejs/domain/zone.ts | 38 +- sdk/nodejs/hosting/privateDatabase.ts | 40 +- sdk/nodejs/ip/ipService.ts | 36 +- sdk/nodejs/iploadbalancing/loadBalancer.ts | 40 +- sdk/nodejs/iploadbalancing/ssl.ts | 4 +- sdk/nodejs/iploadbalancing/udpFarm.ts | 4 +- sdk/nodejs/iploadbalancing/udpFarmServer.ts | 4 +- sdk/nodejs/iploadbalancing/udpFrontend.ts | 6 +- sdk/nodejs/tsconfig.json | 6 + sdk/nodejs/types/input.ts | 11 +- sdk/nodejs/types/output.ts | 26 +- sdk/nodejs/vps/vps.ts | 9 +- sdk/nodejs/vrack/vrack.ts | 38 +- sdk/python/pulumi_ovh/__init__.py | 24 + sdk/python/pulumi_ovh/_utilities.py | 2 +- sdk/python/pulumi_ovh/cloud/get_project.py | 28 +- sdk/python/pulumi_ovh/cloud/get_projects.py | 15 +- sdk/python/pulumi_ovh/cloud/outputs.py | 5 + .../pulumi_ovh/cloudproject/__init__.py | 3 + sdk/python/pulumi_ovh/cloudproject/_inputs.py | 799 ++++++++++++- .../pulumi_ovh/cloudproject/alerting.py | 5 + .../cloudproject/container_registry.py | 5 + ...ner_registry_ip_restrictions_management.py | 5 + ...ainer_registry_ip_restrictions_registry.py | 5 + .../cloudproject/container_registry_oidc.py | 5 + .../cloudproject/container_registry_user.py | 5 + .../pulumi_ovh/cloudproject/database.py | 52 +- .../cloudproject/failover_ip_attach.py | 5 + sdk/python/pulumi_ovh/cloudproject/gateway.py | 5 + .../cloudproject/gateway_interface.py | 5 + .../get_capabilities_container_filter.py | 26 +- .../get_capabilities_container_registry.py | 17 +- .../cloudproject/get_container_registries.py | 17 +- .../cloudproject/get_container_registry.py | 27 +- ...ner_registry_ip_restrictions_management.py | 19 +- ...ainer_registry_ip_restrictions_registry.py | 19 +- .../get_container_registry_oidc.py | 36 +- .../get_container_registry_users.py | 19 +- .../cloudproject/get_failover_ip_attach.py | 29 +- .../cloudproject/get_gateway_interface.py | 24 +- .../pulumi_ovh/cloudproject/get_kube.py | 43 +- .../cloudproject/get_kube_ip_restrictions.py | 19 +- .../cloudproject/get_kube_node_pool.py | 41 +- .../cloudproject/get_kube_node_pool_nodes.py | 21 +- .../pulumi_ovh/cloudproject/get_kube_nodes.py | 19 +- .../pulumi_ovh/cloudproject/get_kube_oidc.py | 36 +- .../cloudproject/get_load_balancer.py | 29 +- .../cloudproject/get_load_balancers.py | 19 +- .../cloudproject/get_m3db_namespace.py | 29 +- .../cloudproject/get_m3db_namespaces.py | 19 +- .../pulumi_ovh/cloudproject/get_m3db_user.py | 23 +- .../cloudproject/get_mongo_db_user.py | 23 +- .../cloudproject/get_network_private.py | 23 +- .../get_network_private_subnets.py | 19 +- .../cloudproject/get_network_privates.py | 17 +- .../cloudproject/get_open_search_pattern.py | 21 +- .../cloudproject/get_open_search_patterns.py | 19 +- .../cloudproject/get_open_search_user.py | 23 +- .../pulumi_ovh/cloudproject/get_redis_user.py | 26 +- .../pulumi_ovh/cloudproject/get_region.py | 21 +- ...t_region_load_balancer_log_subscription.py | 29 +- ..._region_load_balancer_log_subscriptions.py | 23 +- .../pulumi_ovh/cloudproject/get_regions.py | 19 +- .../pulumi_ovh/cloudproject/get_user.py | 23 +- .../cloudproject/get_user_s3_credential.py | 21 +- .../cloudproject/get_user_s3_credentials.py | 19 +- .../cloudproject/get_user_s3_policy.py | 19 +- .../pulumi_ovh/cloudproject/get_users.py | 17 +- .../pulumi_ovh/cloudproject/get_v_rack.py | 18 +- .../pulumi_ovh/cloudproject/get_volume.py | 181 +++ .../pulumi_ovh/cloudproject/get_volumes.py | 146 +++ sdk/python/pulumi_ovh/cloudproject/kube.py | 47 +- .../cloudproject/kube_ip_restrictions.py | 5 + .../pulumi_ovh/cloudproject/kube_node_pool.py | 5 + .../pulumi_ovh/cloudproject/kube_oidc.py | 5 + .../cloudproject/network_private.py | 5 + .../cloudproject/network_private_subnet.py | 12 +- .../cloudproject/network_private_subnet_v2.py | 734 ++++++++++++ sdk/python/pulumi_ovh/cloudproject/outputs.py | 88 +- sdk/python/pulumi_ovh/cloudproject/project.py | 125 +- .../region_load_balancer_log_subscription.py | 5 + .../cloudproject/region_storage_presign.py | 5 + .../pulumi_ovh/cloudproject/s3_credential.py | 5 + .../pulumi_ovh/cloudproject/s3_policy.py | 5 + sdk/python/pulumi_ovh/cloudproject/user.py | 5 + .../cloudproject/workflow_backup.py | 5 + .../cloudprojectdatabase/_inputs.py | 22 + .../cloudprojectdatabase/database_instance.py | 5 + .../cloudprojectdatabase/get_capabilities.py | 20 +- .../cloudprojectdatabase/get_certificates.py | 21 +- .../cloudprojectdatabase/get_database.py | 38 +- .../get_database_instance.py | 23 +- .../get_database_instances.py | 21 +- .../get_database_integration.py | 26 +- .../get_database_integrations.py | 21 +- .../get_database_log_subscription.py | 28 +- .../get_database_log_subscriptions.py | 25 +- ...t_database_postgre_sql_connection_pools.py | 19 +- .../cloudprojectdatabase/get_databases.py | 19 +- .../get_ip_restrictions.py | 21 +- .../cloudprojectdatabase/get_kafka_acl.py | 22 +- .../cloudprojectdatabase/get_kafka_acls.py | 19 +- .../get_kafka_schema_registry_acl.py | 22 +- .../get_kafka_schema_registry_acls.py | 19 +- .../cloudprojectdatabase/get_kafka_topic.py | 25 +- .../cloudprojectdatabase/get_kafka_topics.py | 19 +- .../get_kafka_user_access.py | 22 +- .../get_postgres_sql_connection_pool.py | 27 +- .../get_postgres_sql_user.py | 23 +- .../cloudprojectdatabase/get_user.py | 24 +- .../cloudprojectdatabase/get_users.py | 21 +- .../cloudprojectdatabase/integration.py | 5 + .../cloudprojectdatabase/ip_restriction.py | 5 + .../cloudprojectdatabase/kafka_acl.py | 5 + .../kafka_schema_registry_acl.py | 5 + .../cloudprojectdatabase/kafka_topic.py | 5 + .../cloudprojectdatabase/log_subscription.py | 9 +- .../cloudprojectdatabase/m3_db_namespace.py | 5 + .../cloudprojectdatabase/m3_db_user.py | 5 + .../cloudprojectdatabase/mongo_db_user.py | 5 + .../opensearch_pattern.py | 5 + .../cloudprojectdatabase/opensearch_user.py | 5 + .../cloudprojectdatabase/outputs.py | 5 + .../postgres_sql_connection_pool.py | 5 + .../cloudprojectdatabase/postgres_sql_user.py | 5 + .../cloudprojectdatabase/redis_user.py | 5 + .../pulumi_ovh/cloudprojectdatabase/user.py | 5 + sdk/python/pulumi_ovh/config/__init__.pyi | 5 + sdk/python/pulumi_ovh/config/vars.py | 5 + sdk/python/pulumi_ovh/dbaas/__init__.py | 3 + sdk/python/pulumi_ovh/dbaas/_inputs.py | 53 + .../pulumi_ovh/dbaas/get_logs_cluster.py | 29 +- .../pulumi_ovh/dbaas/get_logs_clusters.py | 18 +- .../dbaas/get_logs_clusters_retention.py | 23 +- .../pulumi_ovh/dbaas/get_logs_input_engine.py | 22 +- .../dbaas/get_logs_output_graylog_stream.py | 41 +- .../get_logs_output_open_search_index.py | 263 ++++ sdk/python/pulumi_ovh/dbaas/logs_cluster.py | 5 + sdk/python/pulumi_ovh/dbaas/logs_input.py | 5 + .../dbaas/logs_output_graylog_stream.py | 5 + .../dbaas/logs_output_open_search_alias.py | 627 ++++++++++ .../dbaas/logs_output_open_search_index.py | 543 +++++++++ sdk/python/pulumi_ovh/dbaas/logs_token.py | 5 + sdk/python/pulumi_ovh/dbaas/outputs.py | 5 + sdk/python/pulumi_ovh/dedicated/_inputs.py | 214 ++++ sdk/python/pulumi_ovh/dedicated/ceph_acl.py | 5 + sdk/python/pulumi_ovh/dedicated/get_ceph.py | 27 +- sdk/python/pulumi_ovh/dedicated/get_nas_ha.py | 25 +- .../pulumi_ovh/dedicated/get_server_boots.py | 21 +- .../get_server_specifications_hardware.py | 31 +- .../get_server_specifications_network.py | 24 +- .../pulumi_ovh/dedicated/nas_ha_partition.py | 5 + .../dedicated/nas_ha_partition_access.py | 5 + .../dedicated/nas_ha_partition_snapshot.py | 5 + sdk/python/pulumi_ovh/dedicated/outputs.py | 5 + sdk/python/pulumi_ovh/dedicated/server.py | 94 +- .../dedicated/server_install_task.py | 5 + .../pulumi_ovh/dedicated/server_networking.py | 5 + .../dedicated/server_reboot_task.py | 5 + .../pulumi_ovh/dedicated/server_update.py | 5 + sdk/python/pulumi_ovh/domain/_inputs.py | 131 ++ sdk/python/pulumi_ovh/domain/get_zone.py | 21 +- .../pulumi_ovh/domain/get_zone_dns_sec.py | 17 +- sdk/python/pulumi_ovh/domain/outputs.py | 5 + sdk/python/pulumi_ovh/domain/zone.py | 125 +- sdk/python/pulumi_ovh/domain/zone_dns_sec.py | 5 + sdk/python/pulumi_ovh/domain/zone_import.py | 5 + sdk/python/pulumi_ovh/domain/zone_record.py | 5 + .../pulumi_ovh/domain/zone_redirection.py | 5 + .../pulumi_ovh/get_installation_template.py | 31 +- .../pulumi_ovh/get_installation_templates.py | 15 +- sdk/python/pulumi_ovh/get_server.py | 40 +- sdk/python/pulumi_ovh/get_servers.py | 15 +- sdk/python/pulumi_ovh/get_vrack_networks.py | 21 +- sdk/python/pulumi_ovh/hosting/_inputs.py | 133 +++ .../hosting/get_private_database.py | 35 +- .../hosting/get_private_database_allowlist.py | 24 +- .../hosting/get_private_database_db.py | 22 +- .../hosting/get_private_database_user.py | 20 +- .../get_private_database_user_grant.py | 22 +- sdk/python/pulumi_ovh/hosting/outputs.py | 5 + .../pulumi_ovh/hosting/private_database.py | 129 +- .../hosting/private_database_allowlist.py | 5 + .../pulumi_ovh/hosting/private_database_db.py | 5 + .../hosting/private_database_user.py | 5 + .../hosting/private_database_user_grant.py | 5 + .../pulumi_ovh/iam/get_permissions_group.py | 29 +- .../pulumi_ovh/iam/get_permissions_groups.py | 15 +- sdk/python/pulumi_ovh/iam/get_policies.py | 15 +- sdk/python/pulumi_ovh/iam/get_policy.py | 32 +- .../pulumi_ovh/iam/get_reference_actions.py | 17 +- .../iam/get_reference_resource_type.py | 15 +- .../pulumi_ovh/iam/get_resource_group.py | 22 +- .../pulumi_ovh/iam/get_resource_groups.py | 15 +- sdk/python/pulumi_ovh/iam/outputs.py | 5 + .../pulumi_ovh/iam/permissions_group.py | 5 + sdk/python/pulumi_ovh/iam/policy.py | 5 + sdk/python/pulumi_ovh/iam/resource_group.py | 5 + sdk/python/pulumi_ovh/ip/_inputs.py | 151 +++ sdk/python/pulumi_ovh/ip/firewall.py | 5 + sdk/python/pulumi_ovh/ip/firewall_rule.py | 5 + sdk/python/pulumi_ovh/ip/get_firewall.py | 20 +- sdk/python/pulumi_ovh/ip/get_firewall_rule.py | 31 +- sdk/python/pulumi_ovh/ip/get_mitigation.py | 21 +- sdk/python/pulumi_ovh/ip/get_service.py | 23 +- sdk/python/pulumi_ovh/ip/ip_service.py | 121 +- sdk/python/pulumi_ovh/ip/mitigation.py | 5 + sdk/python/pulumi_ovh/ip/move.py | 5 + sdk/python/pulumi_ovh/ip/outputs.py | 5 + sdk/python/pulumi_ovh/ip/reverse.py | 5 + .../pulumi_ovh/iploadbalancing/_inputs.py | 321 +++++ .../iploadbalancing/get_ip_load_balancing.py | 39 +- .../iploadbalancing/get_vrack_network.py | 22 +- .../pulumi_ovh/iploadbalancing/http_farm.py | 5 + .../iploadbalancing/http_farm_server.py | 5 + .../iploadbalancing/http_frontend.py | 5 + .../pulumi_ovh/iploadbalancing/http_route.py | 5 + .../iploadbalancing/http_route_rule.py | 5 + .../iploadbalancing/load_balancer.py | 129 +- .../pulumi_ovh/iploadbalancing/outputs.py | 5 + .../pulumi_ovh/iploadbalancing/refresh.py | 5 + sdk/python/pulumi_ovh/iploadbalancing/ssl.py | 9 +- .../pulumi_ovh/iploadbalancing/tcp_farm.py | 5 + .../iploadbalancing/tcp_farm_server.py | 5 + .../iploadbalancing/tcp_frontend.py | 5 + .../pulumi_ovh/iploadbalancing/tcp_route.py | 5 + .../iploadbalancing/tcp_route_rule.py | 5 + .../pulumi_ovh/iploadbalancing/udp_farm.py | 9 +- .../iploadbalancing/udp_farm_server.py | 9 +- .../iploadbalancing/udp_frontend.py | 11 +- .../iploadbalancing/vrack_network.py | 5 + sdk/python/pulumi_ovh/me/_inputs.py | 32 + sdk/python/pulumi_ovh/me/apio_auth2_client.py | 5 + .../pulumi_ovh/me/get_apio_auth2_client.py | 21 +- .../pulumi_ovh/me/get_apio_auth2_clients.py | 15 +- .../pulumi_ovh/me/get_identity_group.py | 22 +- .../pulumi_ovh/me/get_identity_groups.py | 15 +- sdk/python/pulumi_ovh/me/get_identity_user.py | 25 +- .../pulumi_ovh/me/get_identity_users.py | 15 +- .../me/get_installation_template.py | 31 +- .../me/get_installation_templates.py | 15 +- sdk/python/pulumi_ovh/me/get_me.py | 44 +- .../me/get_paymentmean_bank_account.py | 24 +- .../me/get_paymentmean_credit_card.py | 25 +- sdk/python/pulumi_ovh/me/identity_group.py | 5 + sdk/python/pulumi_ovh/me/identity_user.py | 5 + .../pulumi_ovh/me/installation_template.py | 5 + .../installation_template_partition_scheme.py | 5 + ...template_partition_scheme_hardware_raid.py | 5 + ...ion_template_partition_scheme_partition.py | 5 + sdk/python/pulumi_ovh/me/outputs.py | 5 + sdk/python/pulumi_ovh/okms/_inputs.py | 29 + sdk/python/pulumi_ovh/okms/credential.py | 5 + .../pulumi_ovh/okms/get_okms_credential.py | 25 +- .../pulumi_ovh/okms/get_okms_resource.py | 21 +- .../pulumi_ovh/okms/get_okms_service_key.py | 24 +- .../okms/get_okms_service_key_jwk.py | 23 +- sdk/python/pulumi_ovh/okms/okms.py | 5 + sdk/python/pulumi_ovh/okms/outputs.py | 5 + sdk/python/pulumi_ovh/okms/service_key.py | 5 + sdk/python/pulumi_ovh/order/get_cart.py | 25 +- .../pulumi_ovh/order/get_cart_product.py | 19 +- .../order/get_cart_product_options.py | 23 +- .../order/get_cart_product_options_plan.py | 33 +- .../pulumi_ovh/order/get_cart_product_plan.py | 28 +- sdk/python/pulumi_ovh/order/outputs.py | 5 + sdk/python/pulumi_ovh/outputs.py | 5 + sdk/python/pulumi_ovh/provider.py | 5 + sdk/python/pulumi_ovh/vps/_inputs.py | 179 +++ sdk/python/pulumi_ovh/vps/get_vps.py | 32 +- sdk/python/pulumi_ovh/vps/get_vpss.py | 15 +- sdk/python/pulumi_ovh/vps/outputs.py | 5 + sdk/python/pulumi_ovh/vps/vps.py | 42 +- sdk/python/pulumi_ovh/vrack/_inputs.py | 131 ++ sdk/python/pulumi_ovh/vrack/cloud_project.py | 5 + .../pulumi_ovh/vrack/dedicated_server.py | 5 + .../vrack/dedicated_server_interface.py | 5 + sdk/python/pulumi_ovh/vrack/get_vracks.py | 15 +- sdk/python/pulumi_ovh/vrack/ip_address.py | 5 + .../pulumi_ovh/vrack/ip_loadbalancing.py | 5 + sdk/python/pulumi_ovh/vrack/outputs.py | 5 + sdk/python/pulumi_ovh/vrack/vrack.py | 125 +- sdk/python/setup.py | 3 +- 443 files changed, 21417 insertions(+), 1723 deletions(-) create mode 100644 sdk/dotnet/CloudProject/GetVolume.cs create mode 100644 sdk/dotnet/CloudProject/GetVolumes.cs create mode 100644 sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolArgs.cs create mode 100644 sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolGetArgs.cs create mode 100644 sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteArgs.cs create mode 100644 sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteGetArgs.cs create mode 100644 sdk/dotnet/CloudProject/NetworkPrivateSubnetV2.cs create mode 100644 sdk/dotnet/CloudProject/Outputs/GetVolumesVolumeResult.cs create mode 100644 sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2AllocationPool.cs create mode 100644 sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2HostRoute.cs create mode 100644 sdk/dotnet/Dbaas/GetLogsOutputOpenSearchIndex.cs create mode 100644 sdk/dotnet/Dbaas/LogsOutputOpenSearchAlias.cs create mode 100644 sdk/dotnet/Dbaas/LogsOutputOpenSearchIndex.cs create mode 100644 sdk/go/ovh/cloudproject/getVolume.go create mode 100644 sdk/go/ovh/cloudproject/getVolumes.go create mode 100644 sdk/go/ovh/cloudproject/networkPrivateSubnetV2.go create mode 100644 sdk/go/ovh/dbaas/getLogsOutputOpenSearchIndex.go create mode 100644 sdk/go/ovh/dbaas/logsOutputOpenSearchAlias.go create mode 100644 sdk/go/ovh/dbaas/logsOutputOpenSearchIndex.go create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2Args.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumeArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumePlainArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesPlainArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2AllocationPoolArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2HostRouteArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2State.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumeResult.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesResult.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesVolume.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2AllocationPool.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2HostRoute.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAlias.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAliasArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndex.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndexArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexPlainArgs.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchAliasState.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchIndexState.java create mode 100644 sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/outputs/GetLogsOutputOpenSearchIndexResult.java create mode 100644 sdk/nodejs/cloudproject/getVolume.ts create mode 100644 sdk/nodejs/cloudproject/getVolumes.ts create mode 100644 sdk/nodejs/cloudproject/networkPrivateSubnetV2.ts create mode 100644 sdk/nodejs/dbaas/getLogsOutputOpenSearchIndex.ts create mode 100644 sdk/nodejs/dbaas/logsOutputOpenSearchAlias.ts create mode 100644 sdk/nodejs/dbaas/logsOutputOpenSearchIndex.ts create mode 100644 sdk/python/pulumi_ovh/cloudproject/get_volume.py create mode 100644 sdk/python/pulumi_ovh/cloudproject/get_volumes.py create mode 100644 sdk/python/pulumi_ovh/cloudproject/network_private_subnet_v2.py create mode 100644 sdk/python/pulumi_ovh/dbaas/get_logs_output_open_search_index.py create mode 100644 sdk/python/pulumi_ovh/dbaas/logs_output_open_search_alias.py create mode 100644 sdk/python/pulumi_ovh/dbaas/logs_output_open_search_index.py diff --git a/provider/cmd/pulumi-resource-ovh/bridge-metadata.json b/provider/cmd/pulumi-resource-ovh/bridge-metadata.json index 90746cc5..5babdd37 100644 --- a/provider/cmd/pulumi-resource-ovh/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-ovh/bridge-metadata.json @@ -17,6 +17,7 @@ "ovh:CloudProject/kubeOidc:KubeOidc": 0, "ovh:CloudProject/networkPrivate:NetworkPrivate": 0, "ovh:CloudProject/networkPrivateSubnet:NetworkPrivateSubnet": 0, + "ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2": 0, "ovh:CloudProject/project:Project": 0, "ovh:CloudProject/regionLoadBalancerLogSubscription:RegionLoadBalancerLogSubscription": 0, "ovh:CloudProject/regionStoragePresign:RegionStoragePresign": 0, @@ -43,6 +44,8 @@ "ovh:Dbaas/logsCluster:LogsCluster": 0, "ovh:Dbaas/logsInput:LogsInput": 0, "ovh:Dbaas/logsOutputGraylogStream:LogsOutputGraylogStream": 0, + "ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias": 0, + "ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex": 0, "ovh:Dbaas/logsToken:LogsToken": 1, "ovh:Dedicated/cephAcl:CephAcl": 0, "ovh:Dedicated/nasHAPartition:NasHAPartition": 0, @@ -149,6 +152,8 @@ "ovh:CloudProject/getUserS3Policy:getUserS3Policy": 0, "ovh:CloudProject/getUsers:getUsers": 0, "ovh:CloudProject/getVRack:getVRack": 0, + "ovh:CloudProject/getVolume:getVolume": 1, + "ovh:CloudProject/getVolumes:getVolumes": 1, "ovh:CloudProjectDatabase/getCapabilities:getCapabilities": 0, "ovh:CloudProjectDatabase/getCertificates:getCertificates": 0, "ovh:CloudProjectDatabase/getDatabase:getDatabase": 0, @@ -177,6 +182,7 @@ "ovh:Dbaas/getLogsClustersRetention:getLogsClustersRetention": 1, "ovh:Dbaas/getLogsInputEngine:getLogsInputEngine": 0, "ovh:Dbaas/getLogsOutputGraylogStream:getLogsOutputGraylogStream": 0, + "ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex": 0, "ovh:Dedicated/getCeph:getCeph": 0, "ovh:Dedicated/getNasHA:getNasHA": 0, "ovh:Dedicated/getServerBoots:getServerBoots": 0, diff --git a/provider/cmd/pulumi-resource-ovh/schema.json b/provider/cmd/pulumi-resource-ovh/schema.json index 1b60a263..f56331b7 100644 --- a/provider/cmd/pulumi-resource-ovh/schema.json +++ b/provider/cmd/pulumi-resource-ovh/schema.json @@ -845,7 +845,7 @@ "properties": { "dhcp": { "type": "boolean", - "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n_\n" + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n" }, "end": { "type": "string", @@ -877,6 +877,36 @@ } } }, + "ovh:CloudProject/NetworkPrivateSubnetV2AllocationPool:NetworkPrivateSubnetV2AllocationPool": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "type": "object", + "required": [ + "end", + "start" + ] + }, + "ovh:CloudProject/NetworkPrivateSubnetV2HostRoute:NetworkPrivateSubnetV2HostRoute": { + "properties": { + "destination": { + "type": "string" + }, + "nexthop": { + "type": "string" + } + }, + "type": "object", + "required": [ + "destination", + "nexthop" + ] + }, "ovh:CloudProject/ProjectOrder:ProjectOrder": { "properties": { "date": { @@ -2098,6 +2128,33 @@ } } }, + "ovh:CloudProject/getVolumesVolume:getVolumesVolume": { + "properties": { + "id": { + "type": "string", + "description": "The id of the volume\n" + }, + "name": { + "type": "string", + "description": "The name of the volume\n" + }, + "size": { + "type": "number", + "description": "The size of the volume\n" + } + }, + "type": "object", + "required": [ + "id", + "name", + "size" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "ovh:CloudProjectDatabase/OpensearchUserAcl:OpensearchUserAcl": { "properties": { "pattern": { @@ -6994,7 +7051,7 @@ } }, "ovh:CloudProject/database:Database": { - "description": "## Example Usage\n\nMinimum settings for each engine (region choice is up to the user):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst cassandradb = new ovh.cloudproject.Database(\"cassandradb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-cassandra\",\n engine: \"cassandra\",\n version: \"4.0\",\n plan: \"essential\",\n nodes: [\n {\n region: \"BHS\",\n },\n {\n region: \"BHS\",\n },\n {\n region: \"BHS\",\n },\n ],\n flavor: \"db1-4\",\n});\nconst kafkadb = new ovh.cloudproject.Database(\"kafkadb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-kafka\",\n engine: \"kafka\",\n version: \"3.4\",\n plan: \"business\",\n kafkaRestApi: true,\n kafkaSchemaRegistry: true,\n nodes: [\n {\n region: \"DE\",\n },\n {\n region: \"DE\",\n },\n {\n region: \"DE\",\n },\n ],\n flavor: \"db1-4\",\n});\nconst m3db = new ovh.cloudproject.Database(\"m3db\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-m3db\",\n engine: \"m3db\",\n version: \"1.2\",\n plan: \"essential\",\n nodes: [{\n region: \"BHS\",\n }],\n flavor: \"db1-7\",\n});\nconst mongodb = new ovh.cloudproject.Database(\"mongodb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-mongodb\",\n engine: \"mongodb\",\n version: \"5.0\",\n plan: \"discovery\",\n nodes: [{\n region: \"GRA\",\n }],\n flavor: \"db1-2\",\n});\nconst mysqldb = new ovh.cloudproject.Database(\"mysqldb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-mysql\",\n engine: \"mysql\",\n version: \"8\",\n plan: \"essential\",\n nodes: [{\n region: \"SBG\",\n }],\n flavor: \"db1-4\",\n advancedConfiguration: {\n \"mysql.sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n \"mysql.sql_require_primary_key\": \"true\",\n },\n});\nconst opensearchdb = new ovh.cloudproject.Database(\"opensearchdb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-opensearch\",\n engine: \"opensearch\",\n version: \"1\",\n plan: \"essential\",\n opensearchAclsEnabled: true,\n nodes: [{\n region: \"UK\",\n }],\n flavor: \"db1-4\",\n});\nconst pgsqldb = new ovh.cloudproject.Database(\"pgsqldb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-postgresql\",\n engine: \"postgresql\",\n version: \"14\",\n plan: \"essential\",\n nodes: [{\n region: \"WAW\",\n }],\n flavor: \"db1-4\",\n ipRestrictions: [\n {\n description: \"ip 1\",\n ip: \"178.97.6.0/24\",\n },\n {\n description: \"ip 2\",\n ip: \"178.97.7.0/24\",\n },\n ],\n});\nconst redisdb = new ovh.cloudproject.Database(\"redisdb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-redis\",\n engine: \"redis\",\n version: \"6.2\",\n plan: \"essential\",\n nodes: [{\n region: \"BHS\",\n }],\n flavor: \"db1-4\",\n});\nconst grafana = new ovh.cloudproject.Database(\"grafana\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-grafana\",\n engine: \"grafana\",\n version: \"9.1\",\n plan: \"essential\",\n nodes: [{\n region: \"GRA\",\n }],\n flavor: \"db1-4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ncassandradb = ovh.cloud_project.Database(\"cassandradb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-cassandra\",\n engine=\"cassandra\",\n version=\"4.0\",\n plan=\"essential\",\n nodes=[\n {\n \"region\": \"BHS\",\n },\n {\n \"region\": \"BHS\",\n },\n {\n \"region\": \"BHS\",\n },\n ],\n flavor=\"db1-4\")\nkafkadb = ovh.cloud_project.Database(\"kafkadb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-kafka\",\n engine=\"kafka\",\n version=\"3.4\",\n plan=\"business\",\n kafka_rest_api=True,\n kafka_schema_registry=True,\n nodes=[\n {\n \"region\": \"DE\",\n },\n {\n \"region\": \"DE\",\n },\n {\n \"region\": \"DE\",\n },\n ],\n flavor=\"db1-4\")\nm3db = ovh.cloud_project.Database(\"m3db\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-m3db\",\n engine=\"m3db\",\n version=\"1.2\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"BHS\",\n }],\n flavor=\"db1-7\")\nmongodb = ovh.cloud_project.Database(\"mongodb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-mongodb\",\n engine=\"mongodb\",\n version=\"5.0\",\n plan=\"discovery\",\n nodes=[{\n \"region\": \"GRA\",\n }],\n flavor=\"db1-2\")\nmysqldb = ovh.cloud_project.Database(\"mysqldb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-mysql\",\n engine=\"mysql\",\n version=\"8\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"SBG\",\n }],\n flavor=\"db1-4\",\n advanced_configuration={\n \"mysql.sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n \"mysql.sql_require_primary_key\": \"true\",\n })\nopensearchdb = ovh.cloud_project.Database(\"opensearchdb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-opensearch\",\n engine=\"opensearch\",\n version=\"1\",\n plan=\"essential\",\n opensearch_acls_enabled=True,\n nodes=[{\n \"region\": \"UK\",\n }],\n flavor=\"db1-4\")\npgsqldb = ovh.cloud_project.Database(\"pgsqldb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-postgresql\",\n engine=\"postgresql\",\n version=\"14\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"WAW\",\n }],\n flavor=\"db1-4\",\n ip_restrictions=[\n {\n \"description\": \"ip 1\",\n \"ip\": \"178.97.6.0/24\",\n },\n {\n \"description\": \"ip 2\",\n \"ip\": \"178.97.7.0/24\",\n },\n ])\nredisdb = ovh.cloud_project.Database(\"redisdb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-redis\",\n engine=\"redis\",\n version=\"6.2\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"BHS\",\n }],\n flavor=\"db1-4\")\ngrafana = ovh.cloud_project.Database(\"grafana\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-grafana\",\n engine=\"grafana\",\n version=\"9.1\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"GRA\",\n }],\n flavor=\"db1-4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cassandradb = new Ovh.CloudProject.Database(\"cassandradb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-cassandra\",\n Engine = \"cassandra\",\n Version = \"4.0\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var kafkadb = new Ovh.CloudProject.Database(\"kafkadb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-kafka\",\n Engine = \"kafka\",\n Version = \"3.4\",\n Plan = \"business\",\n KafkaRestApi = true,\n KafkaSchemaRegistry = true,\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var m3db = new Ovh.CloudProject.Database(\"m3db\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-m3db\",\n Engine = \"m3db\",\n Version = \"1.2\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-7\",\n });\n\n var mongodb = new Ovh.CloudProject.Database(\"mongodb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-mongodb\",\n Engine = \"mongodb\",\n Version = \"5.0\",\n Plan = \"discovery\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Flavor = \"db1-2\",\n });\n\n var mysqldb = new Ovh.CloudProject.Database(\"mysqldb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-mysql\",\n Engine = \"mysql\",\n Version = \"8\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"SBG\",\n },\n },\n Flavor = \"db1-4\",\n AdvancedConfiguration = \n {\n { \"mysql.sql_mode\", \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\" },\n { \"mysql.sql_require_primary_key\", \"true\" },\n },\n });\n\n var opensearchdb = new Ovh.CloudProject.Database(\"opensearchdb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-opensearch\",\n Engine = \"opensearch\",\n Version = \"1\",\n Plan = \"essential\",\n OpensearchAclsEnabled = true,\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"UK\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var pgsqldb = new Ovh.CloudProject.Database(\"pgsqldb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-postgresql\",\n Engine = \"postgresql\",\n Version = \"14\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"WAW\",\n },\n },\n Flavor = \"db1-4\",\n IpRestrictions = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseIpRestrictionArgs\n {\n Description = \"ip 1\",\n Ip = \"178.97.6.0/24\",\n },\n new Ovh.CloudProject.Inputs.DatabaseIpRestrictionArgs\n {\n Description = \"ip 2\",\n Ip = \"178.97.7.0/24\",\n },\n },\n });\n\n var redisdb = new Ovh.CloudProject.Database(\"redisdb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-redis\",\n Engine = \"redis\",\n Version = \"6.2\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var grafana = new Ovh.CloudProject.Database(\"grafana\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-grafana\",\n Engine = \"grafana\",\n Version = \"9.1\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"cassandradb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-cassandra\"),\n\t\t\tEngine: pulumi.String(\"cassandra\"),\n\t\t\tVersion: pulumi.String(\"4.0\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"kafkadb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-kafka\"),\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.4\"),\n\t\t\tPlan: pulumi.String(\"business\"),\n\t\t\tKafkaRestApi: pulumi.Bool(true),\n\t\t\tKafkaSchemaRegistry: pulumi.Bool(true),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"m3db\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-m3db\"),\n\t\t\tEngine: pulumi.String(\"m3db\"),\n\t\t\tVersion: pulumi.String(\"1.2\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"mongodb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-mongodb\"),\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tVersion: pulumi.String(\"5.0\"),\n\t\t\tPlan: pulumi.String(\"discovery\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"mysqldb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-mysql\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tVersion: pulumi.String(\"8\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t\tAdvancedConfiguration: pulumi.StringMap{\n\t\t\t\t\"mysql.sql_mode\": pulumi.String(\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\"),\n\t\t\t\t\"mysql.sql_require_primary_key\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"opensearchdb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-opensearch\"),\n\t\t\tEngine: pulumi.String(\"opensearch\"),\n\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tOpensearchAclsEnabled: pulumi.Bool(true),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"UK\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"pgsqldb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-postgresql\"),\n\t\t\tEngine: pulumi.String(\"postgresql\"),\n\t\t\tVersion: pulumi.String(\"14\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"WAW\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t\tIpRestrictions: cloudproject.DatabaseIpRestrictionArray{\n\t\t\t\t\u0026cloudproject.DatabaseIpRestrictionArgs{\n\t\t\t\t\tDescription: pulumi.String(\"ip 1\"),\n\t\t\t\t\tIp: pulumi.String(\"178.97.6.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseIpRestrictionArgs{\n\t\t\t\t\tDescription: pulumi.String(\"ip 2\"),\n\t\t\t\t\tIp: pulumi.String(\"178.97.7.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 = CloudProject.NewDatabase(ctx, \"redisdb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-redis\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tVersion: pulumi.String(\"6.2\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"grafana\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-grafana\"),\n\t\t\tEngine: pulumi.String(\"grafana\"),\n\t\t\tVersion: pulumi.String(\"9.1\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseIpRestrictionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cassandradb = new Database(\"cassandradb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-cassandra\")\n .engine(\"cassandra\")\n .version(\"4.0\")\n .plan(\"essential\")\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var kafkadb = new Database(\"kafkadb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-kafka\")\n .engine(\"kafka\")\n .version(\"3.4\")\n .plan(\"business\")\n .kafkaRestApi(true)\n .kafkaSchemaRegistry(true)\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var m3db = new Database(\"m3db\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-m3db\")\n .engine(\"m3db\")\n .version(\"1.2\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-7\")\n .build());\n\n var mongodb = new Database(\"mongodb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-mongodb\")\n .engine(\"mongodb\")\n .version(\"5.0\")\n .plan(\"discovery\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .flavor(\"db1-2\")\n .build());\n\n var mysqldb = new Database(\"mysqldb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-mysql\")\n .engine(\"mysql\")\n .version(\"8\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"SBG\")\n .build())\n .flavor(\"db1-4\")\n .advancedConfiguration(Map.ofEntries(\n Map.entry(\"mysql.sql_mode\", \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\"),\n Map.entry(\"mysql.sql_require_primary_key\", \"true\")\n ))\n .build());\n\n var opensearchdb = new Database(\"opensearchdb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-opensearch\")\n .engine(\"opensearch\")\n .version(\"1\")\n .plan(\"essential\")\n .opensearchAclsEnabled(true)\n .nodes(DatabaseNodeArgs.builder()\n .region(\"UK\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var pgsqldb = new Database(\"pgsqldb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-postgresql\")\n .engine(\"postgresql\")\n .version(\"14\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"WAW\")\n .build())\n .flavor(\"db1-4\")\n .ipRestrictions( \n DatabaseIpRestrictionArgs.builder()\n .description(\"ip 1\")\n .ip(\"178.97.6.0/24\")\n .build(),\n DatabaseIpRestrictionArgs.builder()\n .description(\"ip 2\")\n .ip(\"178.97.7.0/24\")\n .build())\n .build());\n\n var redisdb = new Database(\"redisdb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-redis\")\n .engine(\"redis\")\n .version(\"6.2\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var grafana = new Database(\"grafana\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-grafana\")\n .engine(\"grafana\")\n .version(\"9.1\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cassandradb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-cassandra\n engine: cassandra\n version: '4.0'\n plan: essential\n nodes:\n - region: BHS\n - region: BHS\n - region: BHS\n flavor: db1-4\n kafkadb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-kafka\n engine: kafka\n version: '3.4'\n plan: business\n kafkaRestApi: true\n kafkaSchemaRegistry: true\n nodes:\n - region: DE\n - region: DE\n - region: DE\n flavor: db1-4\n m3db:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-m3db\n engine: m3db\n version: '1.2'\n plan: essential\n nodes:\n - region: BHS\n flavor: db1-7\n mongodb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-mongodb\n engine: mongodb\n version: '5.0'\n plan: discovery\n nodes:\n - region: GRA\n flavor: db1-2\n mysqldb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-mysql\n engine: mysql\n version: '8'\n plan: essential\n nodes:\n - region: SBG\n flavor: db1-4\n advancedConfiguration:\n mysql.sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\n mysql.sql_require_primary_key: 'true'\n opensearchdb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-opensearch\n engine: opensearch\n version: '1'\n plan: essential\n opensearchAclsEnabled: true\n nodes:\n - region: UK\n flavor: db1-4\n pgsqldb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-postgresql\n engine: postgresql\n version: '14'\n plan: essential\n nodes:\n - region: WAW\n flavor: db1-4\n ipRestrictions:\n - description: ip 1\n ip: 178.97.6.0/24\n - description: ip 2\n ip: 178.97.7.0/24\n redisdb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-redis\n engine: redis\n version: '6.2'\n plan: essential\n nodes:\n - region: BHS\n flavor: db1-4\n grafana:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-grafana\n engine: grafana\n version: '9.1'\n plan: essential\n nodes:\n - region: GRA\n flavor: db1-4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo deploy a business PostgreSQL service with two nodes on public network:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst postgresql = new ovh.cloudproject.Database(\"postgresql\", {\n description: \"my-first-postgresql\",\n engine: \"postgresql\",\n flavor: \"db1-15\",\n nodes: [\n {\n region: \"GRA\",\n },\n {\n region: \"GRA\",\n },\n ],\n plan: \"business\",\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version: \"14\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\npostgresql = ovh.cloud_project.Database(\"postgresql\",\n description=\"my-first-postgresql\",\n engine=\"postgresql\",\n flavor=\"db1-15\",\n nodes=[\n {\n \"region\": \"GRA\",\n },\n {\n \"region\": \"GRA\",\n },\n ],\n plan=\"business\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version=\"14\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Ovh.CloudProject.Database(\"postgresql\", new()\n {\n Description = \"my-first-postgresql\",\n Engine = \"postgresql\",\n Flavor = \"db1-15\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Plan = \"business\",\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Version = \"14\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"postgresql\", \u0026CloudProject.DatabaseArgs{\n\t\t\tDescription: pulumi.String(\"my-first-postgresql\"),\n\t\t\tEngine: pulumi.String(\"postgresql\"),\n\t\t\tFlavor: pulumi.String(\"db1-15\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlan: pulumi.String(\"business\"),\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tVersion: pulumi.String(\"14\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Database(\"postgresql\", DatabaseArgs.builder()\n .description(\"my-first-postgresql\")\n .engine(\"postgresql\")\n .flavor(\"db1-15\")\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .plan(\"business\")\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .version(\"14\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: ovh:CloudProject:Database\n properties:\n description: my-first-postgresql\n engine: postgresql\n flavor: db1-15\n nodes:\n - region: GRA\n - region: GRA\n plan: business\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n version: '14'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nTo deploy an enterprise MongoDB service with three nodes on private network:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst mongodb = new ovh.cloudproject.Database(\"mongodb\", {\n description: \"my-first-mongodb\",\n engine: \"mongodb\",\n flavor: \"db1-30\",\n nodes: [\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n ],\n plan: \"production\",\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version: \"5.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmongodb = ovh.cloud_project.Database(\"mongodb\",\n description=\"my-first-mongodb\",\n engine=\"mongodb\",\n flavor=\"db1-30\",\n nodes=[\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n ],\n plan=\"production\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version=\"5.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongodb = new Ovh.CloudProject.Database(\"mongodb\", new()\n {\n Description = \"my-first-mongodb\",\n Engine = \"mongodb\",\n Flavor = \"db1-30\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n },\n Plan = \"production\",\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Version = \"5.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"mongodb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tDescription: pulumi.String(\"my-first-mongodb\"),\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tFlavor: pulumi.String(\"db1-30\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlan: pulumi.String(\"production\"),\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tVersion: pulumi.String(\"5.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.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongodb = new Database(\"mongodb\", DatabaseArgs.builder()\n .description(\"my-first-mongodb\")\n .engine(\"mongodb\")\n .flavor(\"db1-30\")\n .nodes( \n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build(),\n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build(),\n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build())\n .plan(\"production\")\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .version(\"5.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongodb:\n type: ovh:CloudProject:Database\n properties:\n description: my-first-mongodb\n engine: mongodb\n flavor: db1-30\n nodes:\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n plan: production\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n version: '5.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Managed database clusters can be imported using the `service_name`, `engine`, `id` of the cluster, separated by \"/\" E.g.,\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProject/database:Database my_database_cluster service_name/engine/id\n```\n\n", + "description": "## Example Usage\n\nMinimum settings for each engine (region choice is up to the user):\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst cassandradb = new ovh.cloudproject.Database(\"cassandradb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-cassandra\",\n engine: \"cassandra\",\n version: \"4.0\",\n plan: \"essential\",\n nodes: [\n {\n region: \"BHS\",\n },\n {\n region: \"BHS\",\n },\n {\n region: \"BHS\",\n },\n ],\n flavor: \"db1-4\",\n});\nconst kafkadb = new ovh.cloudproject.Database(\"kafkadb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-kafka\",\n engine: \"kafka\",\n version: \"3.8\",\n flavor: \"db1-4\",\n plan: \"business\",\n kafkaRestApi: true,\n kafkaSchemaRegistry: true,\n nodes: [\n {\n region: \"DE\",\n },\n {\n region: \"DE\",\n },\n {\n region: \"DE\",\n },\n ],\n});\nconst m3db = new ovh.cloudproject.Database(\"m3db\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-m3db\",\n engine: \"m3db\",\n version: \"1.2\",\n plan: \"essential\",\n nodes: [{\n region: \"BHS\",\n }],\n flavor: \"db1-7\",\n});\nconst mongodb = new ovh.cloudproject.Database(\"mongodb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-mongodb\",\n engine: \"mongodb\",\n version: \"5.0\",\n plan: \"discovery\",\n nodes: [{\n region: \"GRA\",\n }],\n flavor: \"db1-2\",\n});\nconst mysqldb = new ovh.cloudproject.Database(\"mysqldb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-mysql\",\n engine: \"mysql\",\n version: \"8\",\n plan: \"essential\",\n nodes: [{\n region: \"SBG\",\n }],\n flavor: \"db1-4\",\n advancedConfiguration: {\n \"mysql.sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n \"mysql.sql_require_primary_key\": \"true\",\n },\n});\nconst opensearchdb = new ovh.cloudproject.Database(\"opensearchdb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-opensearch\",\n engine: \"opensearch\",\n version: \"1\",\n plan: \"essential\",\n opensearchAclsEnabled: true,\n nodes: [{\n region: \"UK\",\n }],\n flavor: \"db1-4\",\n});\nconst pgsqldb = new ovh.cloudproject.Database(\"pgsqldb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-postgresql\",\n engine: \"postgresql\",\n version: \"14\",\n plan: \"essential\",\n nodes: [{\n region: \"WAW\",\n }],\n flavor: \"db1-4\",\n ipRestrictions: [\n {\n description: \"ip 1\",\n ip: \"178.97.6.0/24\",\n },\n {\n description: \"ip 2\",\n ip: \"178.97.7.0/24\",\n },\n ],\n});\nconst redisdb = new ovh.cloudproject.Database(\"redisdb\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-redis\",\n engine: \"redis\",\n version: \"6.2\",\n plan: \"essential\",\n nodes: [{\n region: \"BHS\",\n }],\n flavor: \"db1-4\",\n});\nconst grafana = new ovh.cloudproject.Database(\"grafana\", {\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description: \"my-first-grafana\",\n engine: \"grafana\",\n version: \"9.1\",\n plan: \"essential\",\n nodes: [{\n region: \"GRA\",\n }],\n flavor: \"db1-4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ncassandradb = ovh.cloud_project.Database(\"cassandradb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-cassandra\",\n engine=\"cassandra\",\n version=\"4.0\",\n plan=\"essential\",\n nodes=[\n {\n \"region\": \"BHS\",\n },\n {\n \"region\": \"BHS\",\n },\n {\n \"region\": \"BHS\",\n },\n ],\n flavor=\"db1-4\")\nkafkadb = ovh.cloud_project.Database(\"kafkadb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-kafka\",\n engine=\"kafka\",\n version=\"3.8\",\n flavor=\"db1-4\",\n plan=\"business\",\n kafka_rest_api=True,\n kafka_schema_registry=True,\n nodes=[\n {\n \"region\": \"DE\",\n },\n {\n \"region\": \"DE\",\n },\n {\n \"region\": \"DE\",\n },\n ])\nm3db = ovh.cloud_project.Database(\"m3db\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-m3db\",\n engine=\"m3db\",\n version=\"1.2\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"BHS\",\n }],\n flavor=\"db1-7\")\nmongodb = ovh.cloud_project.Database(\"mongodb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-mongodb\",\n engine=\"mongodb\",\n version=\"5.0\",\n plan=\"discovery\",\n nodes=[{\n \"region\": \"GRA\",\n }],\n flavor=\"db1-2\")\nmysqldb = ovh.cloud_project.Database(\"mysqldb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-mysql\",\n engine=\"mysql\",\n version=\"8\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"SBG\",\n }],\n flavor=\"db1-4\",\n advanced_configuration={\n \"mysql.sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\",\n \"mysql.sql_require_primary_key\": \"true\",\n })\nopensearchdb = ovh.cloud_project.Database(\"opensearchdb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-opensearch\",\n engine=\"opensearch\",\n version=\"1\",\n plan=\"essential\",\n opensearch_acls_enabled=True,\n nodes=[{\n \"region\": \"UK\",\n }],\n flavor=\"db1-4\")\npgsqldb = ovh.cloud_project.Database(\"pgsqldb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-postgresql\",\n engine=\"postgresql\",\n version=\"14\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"WAW\",\n }],\n flavor=\"db1-4\",\n ip_restrictions=[\n {\n \"description\": \"ip 1\",\n \"ip\": \"178.97.6.0/24\",\n },\n {\n \"description\": \"ip 2\",\n \"ip\": \"178.97.7.0/24\",\n },\n ])\nredisdb = ovh.cloud_project.Database(\"redisdb\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-redis\",\n engine=\"redis\",\n version=\"6.2\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"BHS\",\n }],\n flavor=\"db1-4\")\ngrafana = ovh.cloud_project.Database(\"grafana\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n description=\"my-first-grafana\",\n engine=\"grafana\",\n version=\"9.1\",\n plan=\"essential\",\n nodes=[{\n \"region\": \"GRA\",\n }],\n flavor=\"db1-4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cassandradb = new Ovh.CloudProject.Database(\"cassandradb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-cassandra\",\n Engine = \"cassandra\",\n Version = \"4.0\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var kafkadb = new Ovh.CloudProject.Database(\"kafkadb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-kafka\",\n Engine = \"kafka\",\n Version = \"3.8\",\n Flavor = \"db1-4\",\n Plan = \"business\",\n KafkaRestApi = true,\n KafkaSchemaRegistry = true,\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"DE\",\n },\n },\n });\n\n var m3db = new Ovh.CloudProject.Database(\"m3db\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-m3db\",\n Engine = \"m3db\",\n Version = \"1.2\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-7\",\n });\n\n var mongodb = new Ovh.CloudProject.Database(\"mongodb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-mongodb\",\n Engine = \"mongodb\",\n Version = \"5.0\",\n Plan = \"discovery\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Flavor = \"db1-2\",\n });\n\n var mysqldb = new Ovh.CloudProject.Database(\"mysqldb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-mysql\",\n Engine = \"mysql\",\n Version = \"8\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"SBG\",\n },\n },\n Flavor = \"db1-4\",\n AdvancedConfiguration = \n {\n { \"mysql.sql_mode\", \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\" },\n { \"mysql.sql_require_primary_key\", \"true\" },\n },\n });\n\n var opensearchdb = new Ovh.CloudProject.Database(\"opensearchdb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-opensearch\",\n Engine = \"opensearch\",\n Version = \"1\",\n Plan = \"essential\",\n OpensearchAclsEnabled = true,\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"UK\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var pgsqldb = new Ovh.CloudProject.Database(\"pgsqldb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-postgresql\",\n Engine = \"postgresql\",\n Version = \"14\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"WAW\",\n },\n },\n Flavor = \"db1-4\",\n IpRestrictions = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseIpRestrictionArgs\n {\n Description = \"ip 1\",\n Ip = \"178.97.6.0/24\",\n },\n new Ovh.CloudProject.Inputs.DatabaseIpRestrictionArgs\n {\n Description = \"ip 2\",\n Ip = \"178.97.7.0/24\",\n },\n },\n });\n\n var redisdb = new Ovh.CloudProject.Database(\"redisdb\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-redis\",\n Engine = \"redis\",\n Version = \"6.2\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"BHS\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n var grafana = new Ovh.CloudProject.Database(\"grafana\", new()\n {\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Description = \"my-first-grafana\",\n Engine = \"grafana\",\n Version = \"9.1\",\n Plan = \"essential\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Flavor = \"db1-4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"cassandradb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-cassandra\"),\n\t\t\tEngine: pulumi.String(\"cassandra\"),\n\t\t\tVersion: pulumi.String(\"4.0\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"kafkadb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-kafka\"),\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.8\"),\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t\tPlan: pulumi.String(\"business\"),\n\t\t\tKafkaRestApi: pulumi.Bool(true),\n\t\t\tKafkaSchemaRegistry: pulumi.Bool(true),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"DE\"),\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 = CloudProject.NewDatabase(ctx, \"m3db\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-m3db\"),\n\t\t\tEngine: pulumi.String(\"m3db\"),\n\t\t\tVersion: pulumi.String(\"1.2\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"mongodb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-mongodb\"),\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tVersion: pulumi.String(\"5.0\"),\n\t\t\tPlan: pulumi.String(\"discovery\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"mysqldb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-mysql\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tVersion: pulumi.String(\"8\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t\tAdvancedConfiguration: pulumi.StringMap{\n\t\t\t\t\"mysql.sql_mode\": pulumi.String(\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\"),\n\t\t\t\t\"mysql.sql_require_primary_key\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"opensearchdb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-opensearch\"),\n\t\t\tEngine: pulumi.String(\"opensearch\"),\n\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tOpensearchAclsEnabled: pulumi.Bool(true),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"UK\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"pgsqldb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-postgresql\"),\n\t\t\tEngine: pulumi.String(\"postgresql\"),\n\t\t\tVersion: pulumi.String(\"14\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"WAW\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t\tIpRestrictions: cloudproject.DatabaseIpRestrictionArray{\n\t\t\t\t\u0026cloudproject.DatabaseIpRestrictionArgs{\n\t\t\t\t\tDescription: pulumi.String(\"ip 1\"),\n\t\t\t\t\tIp: pulumi.String(\"178.97.6.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseIpRestrictionArgs{\n\t\t\t\t\tDescription: pulumi.String(\"ip 2\"),\n\t\t\t\t\tIp: pulumi.String(\"178.97.7.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 = CloudProject.NewDatabase(ctx, \"redisdb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-redis\"),\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tVersion: pulumi.String(\"6.2\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"BHS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProject.NewDatabase(ctx, \"grafana\", \u0026CloudProject.DatabaseArgs{\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tDescription: pulumi.String(\"my-first-grafana\"),\n\t\t\tEngine: pulumi.String(\"grafana\"),\n\t\t\tVersion: pulumi.String(\"9.1\"),\n\t\t\tPlan: pulumi.String(\"essential\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlavor: pulumi.String(\"db1-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseIpRestrictionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 cassandradb = new Database(\"cassandradb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-cassandra\")\n .engine(\"cassandra\")\n .version(\"4.0\")\n .plan(\"essential\")\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var kafkadb = new Database(\"kafkadb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-kafka\")\n .engine(\"kafka\")\n .version(\"3.8\")\n .flavor(\"db1-4\")\n .plan(\"business\")\n .kafkaRestApi(true)\n .kafkaSchemaRegistry(true)\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"DE\")\n .build())\n .build());\n\n var m3db = new Database(\"m3db\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-m3db\")\n .engine(\"m3db\")\n .version(\"1.2\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-7\")\n .build());\n\n var mongodb = new Database(\"mongodb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-mongodb\")\n .engine(\"mongodb\")\n .version(\"5.0\")\n .plan(\"discovery\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .flavor(\"db1-2\")\n .build());\n\n var mysqldb = new Database(\"mysqldb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-mysql\")\n .engine(\"mysql\")\n .version(\"8\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"SBG\")\n .build())\n .flavor(\"db1-4\")\n .advancedConfiguration(Map.ofEntries(\n Map.entry(\"mysql.sql_mode\", \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\"),\n Map.entry(\"mysql.sql_require_primary_key\", \"true\")\n ))\n .build());\n\n var opensearchdb = new Database(\"opensearchdb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-opensearch\")\n .engine(\"opensearch\")\n .version(\"1\")\n .plan(\"essential\")\n .opensearchAclsEnabled(true)\n .nodes(DatabaseNodeArgs.builder()\n .region(\"UK\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var pgsqldb = new Database(\"pgsqldb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-postgresql\")\n .engine(\"postgresql\")\n .version(\"14\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"WAW\")\n .build())\n .flavor(\"db1-4\")\n .ipRestrictions( \n DatabaseIpRestrictionArgs.builder()\n .description(\"ip 1\")\n .ip(\"178.97.6.0/24\")\n .build(),\n DatabaseIpRestrictionArgs.builder()\n .description(\"ip 2\")\n .ip(\"178.97.7.0/24\")\n .build())\n .build());\n\n var redisdb = new Database(\"redisdb\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-redis\")\n .engine(\"redis\")\n .version(\"6.2\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"BHS\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n var grafana = new Database(\"grafana\", DatabaseArgs.builder()\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .description(\"my-first-grafana\")\n .engine(\"grafana\")\n .version(\"9.1\")\n .plan(\"essential\")\n .nodes(DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .flavor(\"db1-4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cassandradb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-cassandra\n engine: cassandra\n version: '4.0'\n plan: essential\n nodes:\n - region: BHS\n - region: BHS\n - region: BHS\n flavor: db1-4\n kafkadb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-kafka\n engine: kafka\n version: '3.8'\n flavor: db1-4\n plan: business\n kafkaRestApi: true\n kafkaSchemaRegistry: true\n nodes:\n - region: DE\n - region: DE\n - region: DE\n m3db:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-m3db\n engine: m3db\n version: '1.2'\n plan: essential\n nodes:\n - region: BHS\n flavor: db1-7\n mongodb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-mongodb\n engine: mongodb\n version: '5.0'\n plan: discovery\n nodes:\n - region: GRA\n flavor: db1-2\n mysqldb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-mysql\n engine: mysql\n version: '8'\n plan: essential\n nodes:\n - region: SBG\n flavor: db1-4\n advancedConfiguration:\n mysql.sql_mode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES\n mysql.sql_require_primary_key: 'true'\n opensearchdb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-opensearch\n engine: opensearch\n version: '1'\n plan: essential\n opensearchAclsEnabled: true\n nodes:\n - region: UK\n flavor: db1-4\n pgsqldb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-postgresql\n engine: postgresql\n version: '14'\n plan: essential\n nodes:\n - region: WAW\n flavor: db1-4\n ipRestrictions:\n - description: ip 1\n ip: 178.97.6.0/24\n - description: ip 2\n ip: 178.97.7.0/24\n redisdb:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-redis\n engine: redis\n version: '6.2'\n plan: essential\n nodes:\n - region: BHS\n flavor: db1-4\n grafana:\n type: ovh:CloudProject:Database\n properties:\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n description: my-first-grafana\n engine: grafana\n version: '9.1'\n plan: essential\n nodes:\n - region: GRA\n flavor: db1-4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTo deploy a business PostgreSQL service with two nodes on public network:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst postgresql = new ovh.cloudproject.Database(\"postgresql\", {\n description: \"my-first-postgresql\",\n engine: \"postgresql\",\n flavor: \"db1-15\",\n nodes: [\n {\n region: \"GRA\",\n },\n {\n region: \"GRA\",\n },\n ],\n plan: \"business\",\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version: \"14\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\npostgresql = ovh.cloud_project.Database(\"postgresql\",\n description=\"my-first-postgresql\",\n engine=\"postgresql\",\n flavor=\"db1-15\",\n nodes=[\n {\n \"region\": \"GRA\",\n },\n {\n \"region\": \"GRA\",\n },\n ],\n plan=\"business\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version=\"14\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Ovh.CloudProject.Database(\"postgresql\", new()\n {\n Description = \"my-first-postgresql\",\n Engine = \"postgresql\",\n Flavor = \"db1-15\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n Region = \"GRA\",\n },\n },\n Plan = \"business\",\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Version = \"14\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"postgresql\", \u0026CloudProject.DatabaseArgs{\n\t\t\tDescription: pulumi.String(\"my-first-postgresql\"),\n\t\t\tEngine: pulumi.String(\"postgresql\"),\n\t\t\tFlavor: pulumi.String(\"db1-15\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tRegion: pulumi.String(\"GRA\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlan: pulumi.String(\"business\"),\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tVersion: pulumi.String(\"14\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Database(\"postgresql\", DatabaseArgs.builder()\n .description(\"my-first-postgresql\")\n .engine(\"postgresql\")\n .flavor(\"db1-15\")\n .nodes( \n DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build(),\n DatabaseNodeArgs.builder()\n .region(\"GRA\")\n .build())\n .plan(\"business\")\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .version(\"14\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: ovh:CloudProject:Database\n properties:\n description: my-first-postgresql\n engine: postgresql\n flavor: db1-15\n nodes:\n - region: GRA\n - region: GRA\n plan: business\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n version: '14'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nTo deploy an enterprise MongoDB service with three nodes on private network:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst mongodb = new ovh.cloudproject.Database(\"mongodb\", {\n description: \"my-first-mongodb\",\n engine: \"mongodb\",\n flavor: \"db1-30\",\n nodes: [\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n networkId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n region: \"SBG\",\n subnetId: \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n ],\n plan: \"production\",\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version: \"5.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmongodb = ovh.cloud_project.Database(\"mongodb\",\n description=\"my-first-mongodb\",\n engine=\"mongodb\",\n flavor=\"db1-30\",\n nodes=[\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n {\n \"network_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n \"region\": \"SBG\",\n \"subnet_id\": \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n ],\n plan=\"production\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n version=\"5.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongodb = new Ovh.CloudProject.Database(\"mongodb\", new()\n {\n Description = \"my-first-mongodb\",\n Engine = \"mongodb\",\n Flavor = \"db1-30\",\n Nodes = new[]\n {\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n new Ovh.CloudProject.Inputs.DatabaseNodeArgs\n {\n NetworkId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n Region = \"SBG\",\n SubnetId = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n },\n },\n Plan = \"production\",\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n Version = \"5.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewDatabase(ctx, \"mongodb\", \u0026CloudProject.DatabaseArgs{\n\t\t\tDescription: pulumi.String(\"my-first-mongodb\"),\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tFlavor: pulumi.String(\"db1-30\"),\n\t\t\tNodes: cloudproject.DatabaseNodeArray{\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudproject.DatabaseNodeArgs{\n\t\t\t\t\tNetworkId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t\tRegion: pulumi.String(\"SBG\"),\n\t\t\t\t\tSubnetId: pulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPlan: pulumi.String(\"production\"),\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t\tVersion: pulumi.String(\"5.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.ovh.CloudProject.Database;\nimport com.pulumi.ovh.CloudProject.DatabaseArgs;\nimport com.pulumi.ovh.CloudProject.inputs.DatabaseNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var mongodb = new Database(\"mongodb\", DatabaseArgs.builder()\n .description(\"my-first-mongodb\")\n .engine(\"mongodb\")\n .flavor(\"db1-30\")\n .nodes( \n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build(),\n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build(),\n DatabaseNodeArgs.builder()\n .networkId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .region(\"SBG\")\n .subnetId(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n .build())\n .plan(\"production\")\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .version(\"5.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongodb:\n type: ovh:CloudProject:Database\n properties:\n description: my-first-mongodb\n engine: mongodb\n flavor: db1-30\n nodes:\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n - networkId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n region: SBG\n subnetId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n plan: production\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n version: '5.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Managed database clusters can be imported using the `service_name`, `engine`, `id` of the cluster, separated by \"/\" E.g.,\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProject/database:Database my_database_cluster service_name/engine/id\n```\n\n", "properties": { "advancedConfiguration": { "type": "object", @@ -7012,7 +7069,7 @@ }, "backupTime": { "type": "string", - "description": "Time on which backups start every day.\n" + "description": "Time on which backups start every day (this parameter is not usable on the following engines: \"m3db\", \"grafana\", \"kafka\", \"kafkaconnect\", \"kafkamirrormaker\", \"opensearch\", \"m3aggregator\").\n" }, "createdAt": { "type": "string", @@ -7131,7 +7188,7 @@ }, "backupTime": { "type": "string", - "description": "Time on which backups start every day.\n" + "description": "Time on which backups start every day (this parameter is not usable on the following engines: \"m3db\", \"grafana\", \"kafka\", \"kafkaconnect\", \"kafkamirrormaker\", \"opensearch\", \"m3aggregator\").\n" }, "description": { "type": "string", @@ -7165,6 +7222,10 @@ "type": "boolean", "description": "Defines whether the schema registry is enabled on a Kafka cluster\n" }, + "maintenanceTime": { + "type": "string", + "description": "Time on which maintenances can start every day.\n" + }, "nodes": { "type": "array", "items": { @@ -7217,7 +7278,7 @@ }, "backupTime": { "type": "string", - "description": "Time on which backups start every day.\n" + "description": "Time on which backups start every day (this parameter is not usable on the following engines: \"m3db\", \"grafana\", \"kafka\", \"kafkaconnect\", \"kafkamirrormaker\", \"opensearch\", \"m3aggregator\").\n" }, "createdAt": { "type": "string", @@ -7719,7 +7780,7 @@ }, "loadBalancersSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for load balancers.\n" + "description": "Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view\u0026sysparm_article=KB0062873) for more information.\n" }, "name": { "type": "string", @@ -7734,7 +7795,7 @@ }, "nodesSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.**\n" + "description": "Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.**\n" }, "nodesUrl": { "type": "string", @@ -7746,7 +7807,7 @@ }, "privateNetworkId": { "type": "string", - "description": "OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n" + "description": "Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n" }, "region": { "type": "string", @@ -7819,7 +7880,7 @@ }, "loadBalancersSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for load balancers.\n" + "description": "Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view\u0026sysparm_article=KB0062873) for more information.\n" }, "name": { "type": "string", @@ -7827,7 +7888,7 @@ }, "nodesSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.**\n" + "description": "Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.**\n" }, "privateNetworkConfiguration": { "$ref": "#/types/ovh:CloudProject/KubePrivateNetworkConfiguration:KubePrivateNetworkConfiguration", @@ -7835,7 +7896,7 @@ }, "privateNetworkId": { "type": "string", - "description": "OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n", + "description": "Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n", "willReplaceOnChanges": true }, "region": { @@ -7911,7 +7972,7 @@ }, "loadBalancersSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for load balancers.\n" + "description": "Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view\u0026sysparm_article=KB0062873) for more information.\n" }, "name": { "type": "string", @@ -7926,7 +7987,7 @@ }, "nodesSubnetId": { "type": "string", - "description": "Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.**\n" + "description": "Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.**\n" }, "nodesUrl": { "type": "string", @@ -7938,7 +7999,7 @@ }, "privateNetworkId": { "type": "string", - "description": "OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n", + "description": "Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network.\n\n\u003e __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted.\n", "willReplaceOnChanges": true }, "region": { @@ -8666,7 +8727,7 @@ }, "dhcp": { "type": "boolean", - "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n_\n" + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n" }, "end": { "type": "string", @@ -8722,7 +8783,7 @@ "inputProperties": { "dhcp": { "type": "boolean", - "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n_\n", + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n", "willReplaceOnChanges": true }, "end": { @@ -8778,7 +8839,7 @@ }, "dhcp": { "type": "boolean", - "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n_\n", + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to false.\n", "willReplaceOnChanges": true }, "end": { @@ -8831,8 +8892,217 @@ "type": "object" } }, + "ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2": { + "description": "Creates a subnet in a private network of a public cloud region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst subnet = new ovh.cloudproject.NetworkPrivateSubnetV2(\"subnet\", {\n cidr: \"192.168.168.0/24\",\n dhcp: true,\n dnsNameservers: [\"1.1.1.1\"],\n enableGatewayIp: true,\n networkId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n region: \"XXX1\",\n serviceName: \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nsubnet = ovh.cloud_project.NetworkPrivateSubnetV2(\"subnet\",\n cidr=\"192.168.168.0/24\",\n dhcp=True,\n dns_nameservers=[\"1.1.1.1\"],\n enable_gateway_ip=True,\n network_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n region=\"XXX1\",\n service_name=\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subnet = new Ovh.CloudProject.NetworkPrivateSubnetV2(\"subnet\", new()\n {\n Cidr = \"192.168.168.0/24\",\n Dhcp = true,\n DnsNameservers = new[]\n {\n \"1.1.1.1\",\n },\n EnableGatewayIp = true,\n NetworkId = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n Region = \"XXX1\",\n ServiceName = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.NewNetworkPrivateSubnetV2(ctx, \"subnet\", \u0026CloudProject.NetworkPrivateSubnetV2Args{\n\t\t\tCidr: pulumi.String(\"192.168.168.0/24\"),\n\t\t\tDhcp: pulumi.Bool(true),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tEnableGatewayIp: pulumi.Bool(true),\n\t\t\tNetworkId: pulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\tRegion: pulumi.String(\"XXX1\"),\n\t\t\tServiceName: pulumi.String(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProject.NetworkPrivateSubnetV2;\nimport com.pulumi.ovh.CloudProject.NetworkPrivateSubnetV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subnet = new NetworkPrivateSubnetV2(\"subnet\", NetworkPrivateSubnetV2Args.builder()\n .cidr(\"192.168.168.0/24\")\n .dhcp(true)\n .dnsNameservers(\"1.1.1.1\")\n .enableGatewayIp(true)\n .networkId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .region(\"XXX1\")\n .serviceName(\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subnet:\n type: ovh:CloudProject:NetworkPrivateSubnetV2\n properties:\n cidr: 192.168.168.0/24\n dhcp: true\n dnsNameservers:\n - 1.1.1.1\n enableGatewayIp: true\n networkId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n region: XXX1\n serviceName: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSubnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by \"/\" E.g.,\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909\n```\n\n", + "properties": { + "allocationPools": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2AllocationPool:NetworkPrivateSubnetV2AllocationPool" + }, + "description": "DHCP allocation pools of subnet\n" + }, + "cidr": { + "type": "string", + "description": "IP range of the subnet\nChanging this value recreates the subnet.\n" + }, + "dhcp": { + "type": "boolean", + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to true.\n" + }, + "dnsNameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "DNS nameservers used by DHCP\nChanging this value recreates the resource. Defaults to OVH default DNS nameserver.\n" + }, + "enableGatewayIp": { + "type": "boolean", + "description": "Set to true if you want to set a default gateway IP.\nChanging this value recreates the resource. Defaults to true.\n" + }, + "gatewayIp": { + "type": "string", + "description": "See Argument Reference above.\n" + }, + "hostRoutes": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2HostRoute:NetworkPrivateSubnetV2HostRoute" + }, + "description": "Static host routes of subnet\n" + }, + "name": { + "type": "string", + "description": "Name of the subnet\nChanging this value recreates the subnet.\n" + }, + "networkId": { + "type": "string", + "description": "The id of the network.\nChanging this forces a new resource to be created.\n" + }, + "region": { + "type": "string", + "description": "The region in which the network subnet will be created.\nEx.: \"GRA1\". Changing this value recreates the resource.\n" + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project. If omitted,\nthe `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.\n" + } + }, + "required": [ + "allocationPools", + "cidr", + "gatewayIp", + "name", + "networkId", + "region", + "serviceName" + ], + "inputProperties": { + "allocationPools": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2AllocationPool:NetworkPrivateSubnetV2AllocationPool" + }, + "description": "DHCP allocation pools of subnet\n", + "willReplaceOnChanges": true + }, + "cidr": { + "type": "string", + "description": "IP range of the subnet\nChanging this value recreates the subnet.\n", + "willReplaceOnChanges": true + }, + "dhcp": { + "type": "boolean", + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to true.\n", + "willReplaceOnChanges": true + }, + "dnsNameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "DNS nameservers used by DHCP\nChanging this value recreates the resource. Defaults to OVH default DNS nameserver.\n", + "willReplaceOnChanges": true + }, + "enableGatewayIp": { + "type": "boolean", + "description": "Set to true if you want to set a default gateway IP.\nChanging this value recreates the resource. Defaults to true.\n", + "willReplaceOnChanges": true + }, + "gatewayIp": { + "type": "string", + "description": "See Argument Reference above.\n", + "willReplaceOnChanges": true + }, + "hostRoutes": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2HostRoute:NetworkPrivateSubnetV2HostRoute" + }, + "description": "Static host routes of subnet\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Name of the subnet\nChanging this value recreates the subnet.\n", + "willReplaceOnChanges": true + }, + "networkId": { + "type": "string", + "description": "The id of the network.\nChanging this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "region": { + "type": "string", + "description": "The region in which the network subnet will be created.\nEx.: \"GRA1\". Changing this value recreates the resource.\n", + "willReplaceOnChanges": true + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project. If omitted,\nthe `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "cidr", + "networkId", + "region", + "serviceName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NetworkPrivateSubnetV2 resources.\n", + "properties": { + "allocationPools": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2AllocationPool:NetworkPrivateSubnetV2AllocationPool" + }, + "description": "DHCP allocation pools of subnet\n", + "willReplaceOnChanges": true + }, + "cidr": { + "type": "string", + "description": "IP range of the subnet\nChanging this value recreates the subnet.\n", + "willReplaceOnChanges": true + }, + "dhcp": { + "type": "boolean", + "description": "Enable DHCP.\nChanging this forces a new resource to be created. Defaults to true.\n", + "willReplaceOnChanges": true + }, + "dnsNameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "DNS nameservers used by DHCP\nChanging this value recreates the resource. Defaults to OVH default DNS nameserver.\n", + "willReplaceOnChanges": true + }, + "enableGatewayIp": { + "type": "boolean", + "description": "Set to true if you want to set a default gateway IP.\nChanging this value recreates the resource. Defaults to true.\n", + "willReplaceOnChanges": true + }, + "gatewayIp": { + "type": "string", + "description": "See Argument Reference above.\n", + "willReplaceOnChanges": true + }, + "hostRoutes": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/NetworkPrivateSubnetV2HostRoute:NetworkPrivateSubnetV2HostRoute" + }, + "description": "Static host routes of subnet\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Name of the subnet\nChanging this value recreates the subnet.\n", + "willReplaceOnChanges": true + }, + "networkId": { + "type": "string", + "description": "The id of the network.\nChanging this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "region": { + "type": "string", + "description": "The region in which the network subnet will be created.\nEx.: \"GRA1\". Changing this value recreates the resource.\n", + "willReplaceOnChanges": true + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project. If omitted,\nthe `OVH_CLOUD_PROJECT_SERVICE` environment variable is used.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "ovh:CloudProject/project:Project": { - "description": "\n\n## Import\n\nCloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project.\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id\n```\n\n", + "description": "\n\n## Import\n\nCloud project can be imported using the `project_id`.\n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_cloud_project.my_cloud_project\n\n id = \"\u003cproject ID\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=cloudproject.tf\n\n$ pulumi up\n\nThe file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "ProjectURN": { "type": "string", @@ -8933,10 +9203,6 @@ "willReplaceOnChanges": true } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Project resources.\n", "properties": { @@ -10387,7 +10653,7 @@ } }, "ovh:CloudProjectDatabase/logSubscription:LogSubscription": { - "description": "Creates a log subscrition for a cluster associated with a public cloud project.\n\n## Example Usage\n\nCreate a log subscription for a database.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst stream = ovh.Dbaas.getLogsOutputGraylogStream({\n serviceName: \"ldp-xx-xxxxx\",\n title: \"my stream\",\n});\nconst db = ovh.CloudProjectDatabase.getDatabase({\n serviceName: \"XXX\",\n engine: \"YYY\",\n id: \"ZZZ\",\n});\nconst subscription = new ovh.cloudprojectdatabase.LogSubscription(\"subscription\", {\n serviceName: db.then(db =\u003e db.serviceName),\n engine: db.then(db =\u003e db.engine),\n clusterId: db.then(db =\u003e db.id),\n streamId: stream.then(stream =\u003e stream.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nstream = ovh.Dbaas.get_logs_output_graylog_stream(service_name=\"ldp-xx-xxxxx\",\n title=\"my stream\")\ndb = ovh.CloudProjectDatabase.get_database(service_name=\"XXX\",\n engine=\"YYY\",\n id=\"ZZZ\")\nsubscription = ovh.cloud_project_database.LogSubscription(\"subscription\",\n service_name=db.service_name,\n engine=db.engine,\n cluster_id=db.id,\n stream_id=stream.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Ovh.Dbaas.GetLogsOutputGraylogStream.Invoke(new()\n {\n ServiceName = \"ldp-xx-xxxxx\",\n Title = \"my stream\",\n });\n\n var db = Ovh.CloudProjectDatabase.GetDatabase.Invoke(new()\n {\n ServiceName = \"XXX\",\n Engine = \"YYY\",\n Id = \"ZZZ\",\n });\n\n var subscription = new Ovh.CloudProjectDatabase.LogSubscription(\"subscription\", new()\n {\n ServiceName = db.Apply(getDatabaseResult =\u003e getDatabaseResult.ServiceName),\n Engine = db.Apply(getDatabaseResult =\u003e getDatabaseResult.Engine),\n ClusterId = db.Apply(getDatabaseResult =\u003e getDatabaseResult.Id),\n StreamId = stream.Apply(getLogsOutputGraylogStreamResult =\u003e getLogsOutputGraylogStreamResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProjectDatabase\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstream, err := Dbaas.GetLogsOutputGraylogStream(ctx, \u0026dbaas.GetLogsOutputGraylogStreamArgs{\n\t\t\tServiceName: \"ldp-xx-xxxxx\",\n\t\t\tTitle: \"my stream\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdb, err := CloudProjectDatabase.GetDatabase(ctx, \u0026cloudprojectdatabase.GetDatabaseArgs{\n\t\t\tServiceName: \"XXX\",\n\t\t\tEngine: \"YYY\",\n\t\t\tId: \"ZZZ\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProjectDatabase.NewLogSubscription(ctx, \"subscription\", \u0026CloudProjectDatabase.LogSubscriptionArgs{\n\t\t\tServiceName: pulumi.String(db.ServiceName),\n\t\t\tEngine: pulumi.String(db.Engine),\n\t\t\tClusterId: pulumi.String(db.Id),\n\t\t\tStreamId: pulumi.String(stream.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.ovh.Dbaas.DbaasFunctions;\nimport com.pulumi.ovh.Dbaas.inputs.GetLogsOutputGraylogStreamArgs;\nimport com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;\nimport com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;\nimport com.pulumi.ovh.CloudProjectDatabase.LogSubscription;\nimport com.pulumi.ovh.CloudProjectDatabase.LogSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 stream = DbaasFunctions.getLogsOutputGraylogStream(GetLogsOutputGraylogStreamArgs.builder()\n .serviceName(\"ldp-xx-xxxxx\")\n .title(\"my stream\")\n .build());\n\n final var db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()\n .serviceName(\"XXX\")\n .engine(\"YYY\")\n .id(\"ZZZ\")\n .build());\n\n var subscription = new LogSubscription(\"subscription\", LogSubscriptionArgs.builder()\n .serviceName(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.serviceName()))\n .engine(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.engine()))\n .clusterId(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.id()))\n .streamId(stream.applyValue(getLogsOutputGraylogStreamResult -\u003e getLogsOutputGraylogStreamResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: ovh:CloudProjectDatabase:LogSubscription\n properties:\n serviceName: ${db.serviceName}\n engine: ${db.engine}\n clusterId: ${db.id}\n streamId: ${stream.id}\nvariables:\n stream:\n fn::invoke:\n Function: ovh:Dbaas:getLogsOutputGraylogStream\n Arguments:\n serviceName: ldp-xx-xxxxx\n title: my stream\n db:\n fn::invoke:\n Function: ovh:CloudProjectDatabase:getDatabase\n Arguments:\n serviceName: XXX\n engine: YYY\n id: ZZZ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Managed clusters logs subscription can be imported using the `service_name`, `engine`, `cluster_id` and `id` of the subscription, separated by \"/\" E.g.,\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProjectDatabase/logSubscription:LogSubscription sub service_name/engine/cluster_id/id\n```\n\n", + "description": "Creates a log subscription for a cluster associated with a public cloud project.\n\n## Example Usage\n\nCreate a log subscription for a database.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst stream = ovh.Dbaas.getLogsOutputGraylogStream({\n serviceName: \"ldp-xx-xxxxx\",\n title: \"my stream\",\n});\nconst db = ovh.CloudProjectDatabase.getDatabase({\n serviceName: \"XXX\",\n engine: \"YYY\",\n id: \"ZZZ\",\n});\nconst subscription = new ovh.cloudprojectdatabase.LogSubscription(\"subscription\", {\n serviceName: db.then(db =\u003e db.serviceName),\n engine: db.then(db =\u003e db.engine),\n clusterId: db.then(db =\u003e db.id),\n streamId: stream.then(stream =\u003e stream.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nstream = ovh.Dbaas.get_logs_output_graylog_stream(service_name=\"ldp-xx-xxxxx\",\n title=\"my stream\")\ndb = ovh.CloudProjectDatabase.get_database(service_name=\"XXX\",\n engine=\"YYY\",\n id=\"ZZZ\")\nsubscription = ovh.cloud_project_database.LogSubscription(\"subscription\",\n service_name=db.service_name,\n engine=db.engine,\n cluster_id=db.id,\n stream_id=stream.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var stream = Ovh.Dbaas.GetLogsOutputGraylogStream.Invoke(new()\n {\n ServiceName = \"ldp-xx-xxxxx\",\n Title = \"my stream\",\n });\n\n var db = Ovh.CloudProjectDatabase.GetDatabase.Invoke(new()\n {\n ServiceName = \"XXX\",\n Engine = \"YYY\",\n Id = \"ZZZ\",\n });\n\n var subscription = new Ovh.CloudProjectDatabase.LogSubscription(\"subscription\", new()\n {\n ServiceName = db.Apply(getDatabaseResult =\u003e getDatabaseResult.ServiceName),\n Engine = db.Apply(getDatabaseResult =\u003e getDatabaseResult.Engine),\n ClusterId = db.Apply(getDatabaseResult =\u003e getDatabaseResult.Id),\n StreamId = stream.Apply(getLogsOutputGraylogStreamResult =\u003e getLogsOutputGraylogStreamResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProjectDatabase\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tstream, err := Dbaas.GetLogsOutputGraylogStream(ctx, \u0026dbaas.GetLogsOutputGraylogStreamArgs{\n\t\t\tServiceName: \"ldp-xx-xxxxx\",\n\t\t\tTitle: \"my stream\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdb, err := CloudProjectDatabase.GetDatabase(ctx, \u0026cloudprojectdatabase.GetDatabaseArgs{\n\t\t\tServiceName: \"XXX\",\n\t\t\tEngine: \"YYY\",\n\t\t\tId: \"ZZZ\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = CloudProjectDatabase.NewLogSubscription(ctx, \"subscription\", \u0026CloudProjectDatabase.LogSubscriptionArgs{\n\t\t\tServiceName: pulumi.String(db.ServiceName),\n\t\t\tEngine: pulumi.String(db.Engine),\n\t\t\tClusterId: pulumi.String(db.Id),\n\t\t\tStreamId: pulumi.String(stream.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.ovh.Dbaas.DbaasFunctions;\nimport com.pulumi.ovh.Dbaas.inputs.GetLogsOutputGraylogStreamArgs;\nimport com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;\nimport com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseArgs;\nimport com.pulumi.ovh.CloudProjectDatabase.LogSubscription;\nimport com.pulumi.ovh.CloudProjectDatabase.LogSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 stream = DbaasFunctions.getLogsOutputGraylogStream(GetLogsOutputGraylogStreamArgs.builder()\n .serviceName(\"ldp-xx-xxxxx\")\n .title(\"my stream\")\n .build());\n\n final var db = CloudProjectDatabaseFunctions.getDatabase(GetDatabaseArgs.builder()\n .serviceName(\"XXX\")\n .engine(\"YYY\")\n .id(\"ZZZ\")\n .build());\n\n var subscription = new LogSubscription(\"subscription\", LogSubscriptionArgs.builder()\n .serviceName(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.serviceName()))\n .engine(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.engine()))\n .clusterId(db.applyValue(getDatabaseResult -\u003e getDatabaseResult.id()))\n .streamId(stream.applyValue(getLogsOutputGraylogStreamResult -\u003e getLogsOutputGraylogStreamResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: ovh:CloudProjectDatabase:LogSubscription\n properties:\n serviceName: ${db.serviceName}\n engine: ${db.engine}\n clusterId: ${db.id}\n streamId: ${stream.id}\nvariables:\n stream:\n fn::invoke:\n Function: ovh:Dbaas:getLogsOutputGraylogStream\n Arguments:\n serviceName: ldp-xx-xxxxx\n title: my stream\n db:\n fn::invoke:\n Function: ovh:CloudProjectDatabase:getDatabase\n Arguments:\n serviceName: XXX\n engine: YYY\n id: ZZZ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Managed clusters logs subscription can be imported using the `service_name`, `engine`, `cluster_id` and `id` of the subscription, separated by \"/\" E.g.,\n\nbash\n\n```sh\n$ pulumi import ovh:CloudProjectDatabase/logSubscription:LogSubscription sub service_name/engine/cluster_id/id\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -12460,90 +12726,418 @@ }, "coldStorageNotifyEnabled": { "type": "boolean", - "description": "Notify on new Cold storage archive\n" - }, - "coldStorageRetention": { - "type": "integer", - "description": "Cold storage retention in year\n" - }, - "coldStorageTarget": { - "type": "string", - "description": "ColdStorage destination. One of \"PCA\", \"PCS\"\n" + "description": "Notify on new Cold storage archive\n" + }, + "coldStorageRetention": { + "type": "integer", + "description": "Cold storage retention in year\n" + }, + "coldStorageTarget": { + "type": "string", + "description": "ColdStorage destination. One of \"PCA\", \"PCS\"\n" + }, + "createdAt": { + "type": "string", + "description": "Stream creation\n" + }, + "description": { + "type": "string", + "description": "Stream description\n" + }, + "indexingEnabled": { + "type": "boolean", + "description": "Enable ES indexing\n" + }, + "indexingMaxSize": { + "type": "integer", + "description": "Maximum indexing size (in GB)\n" + }, + "indexingNotifyEnabled": { + "type": "boolean", + "description": "If set, notify when size is near 80, 90 or 100 % of the maximum configured setting\n" + }, + "isEditable": { + "type": "boolean", + "description": "Indicates if you are allowed to edit entry\n" + }, + "isShareable": { + "type": "boolean", + "description": "Indicates if you are allowed to share entry\n" + }, + "nbAlertCondition": { + "type": "integer", + "description": "Number of alert condition\n" + }, + "nbArchive": { + "type": "integer", + "description": "Number of coldstored archivesr\n" + }, + "parentStreamId": { + "type": "string", + "description": "Parent stream ID\n", + "willReplaceOnChanges": true + }, + "pauseIndexingOnMaxSize": { + "type": "boolean", + "description": "If set, pause indexing when maximum size is reach\n" + }, + "retentionId": { + "type": "string", + "description": "Retention ID\n", + "willReplaceOnChanges": true + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "streamId": { + "type": "string", + "description": "Stream ID\n" + }, + "title": { + "type": "string", + "description": "Stream description\n" + }, + "updatedAt": { + "type": "string", + "description": "Stream last updater\n" + }, + "webSocketEnabled": { + "type": "boolean", + "description": "Enable Websocket\n" + }, + "writeToken": { + "type": "string", + "description": "Write token of the stream (empty if the caller is not the owner of the stream)\n", + "secret": true + } + }, + "type": "object" + } + }, + "ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias": { + "description": "Creates a DBaaS Logs Opensearch output alias.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst alias = new ovh.dbaas.LogsOutputOpenSearchAlias(\"alias\", {\n description: \"my opensearch alias\",\n serviceName: \"....\",\n suffix: \"alias\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nalias = ovh.dbaas.LogsOutputOpenSearchAlias(\"alias\",\n description=\"my opensearch alias\",\n service_name=\"....\",\n suffix=\"alias\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @alias = new Ovh.Dbaas.LogsOutputOpenSearchAlias(\"alias\", new()\n {\n Description = \"my opensearch alias\",\n ServiceName = \"....\",\n Suffix = \"alias\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Dbaas.NewLogsOutputOpenSearchAlias(ctx, \"alias\", \u0026Dbaas.LogsOutputOpenSearchAliasArgs{\n\t\t\tDescription: pulumi.String(\"my opensearch alias\"),\n\t\t\tServiceName: pulumi.String(\"....\"),\n\t\t\tSuffix: pulumi.String(\"alias\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Dbaas.LogsOutputOpenSearchAlias;\nimport com.pulumi.ovh.Dbaas.LogsOutputOpenSearchAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 alias = new LogsOutputOpenSearchAlias(\"alias\", LogsOutputOpenSearchAliasArgs.builder()\n .description(\"my opensearch alias\")\n .serviceName(\"....\")\n .suffix(\"alias\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alias:\n type: ovh:Dbaas:LogsOutputOpenSearchAlias\n properties:\n description: my opensearch alias\n serviceName: '....'\n suffix: alias\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "aliasId": { + "type": "string", + "description": "Alias Id\n" + }, + "createdAt": { + "type": "string", + "description": "Alias creation\n" + }, + "currentSize": { + "type": "integer", + "description": "Current alias size (in bytes)\n" + }, + "description": { + "type": "string", + "description": "Index description\n" + }, + "indexes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached indexes id\n" + }, + "isEditable": { + "type": "boolean", + "description": "Indicates if you are allowed to edit entry\n" + }, + "name": { + "type": "string", + "description": "Alias name\n" + }, + "nbIndex": { + "type": "integer", + "description": "Number of indices linked\n" + }, + "nbStream": { + "type": "integer", + "description": "Number of streams linked\n" + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "streams": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached streams id\n" + }, + "suffix": { + "type": "string", + "description": "Index suffix\n" + }, + "updatedAt": { + "type": "string", + "description": "Input last update\n" + } + }, + "required": [ + "aliasId", + "createdAt", + "currentSize", + "description", + "indexes", + "isEditable", + "name", + "nbIndex", + "nbStream", + "serviceName", + "streams", + "suffix", + "updatedAt" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Index description\n" + }, + "indexes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached indexes id\n" + }, + "nbIndex": { + "type": "integer", + "description": "Number of indices linked\n" + }, + "nbStream": { + "type": "integer", + "description": "Number of streams linked\n" + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "streams": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached streams id\n" + }, + "suffix": { + "type": "string", + "description": "Index suffix\n" + } + }, + "requiredInputs": [ + "description", + "serviceName", + "suffix" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogsOutputOpenSearchAlias resources.\n", + "properties": { + "aliasId": { + "type": "string", + "description": "Alias Id\n" + }, + "createdAt": { + "type": "string", + "description": "Alias creation\n" + }, + "currentSize": { + "type": "integer", + "description": "Current alias size (in bytes)\n" + }, + "description": { + "type": "string", + "description": "Index description\n" + }, + "indexes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached indexes id\n" + }, + "isEditable": { + "type": "boolean", + "description": "Indicates if you are allowed to edit entry\n" + }, + "name": { + "type": "string", + "description": "Alias name\n" + }, + "nbIndex": { + "type": "integer", + "description": "Number of indices linked\n" + }, + "nbStream": { + "type": "integer", + "description": "Number of streams linked\n" + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "streams": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of attached streams id\n" + }, + "suffix": { + "type": "string", + "description": "Index suffix\n" + }, + "updatedAt": { + "type": "string", + "description": "Input last update\n" + } + }, + "type": "object" + } + }, + "ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex": { + "description": "Creates a DBaaS Logs Opensearch output index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\n\nconst index = new ovh.dbaas.LogsOutputOpenSearchIndex(\"index\", {\n description: \"my opensearch index\",\n serviceName: \"....\",\n suffix: \"index\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nindex = ovh.dbaas.LogsOutputOpenSearchIndex(\"index\",\n description=\"my opensearch index\",\n service_name=\"....\",\n suffix=\"index\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var index = new Ovh.Dbaas.LogsOutputOpenSearchIndex(\"index\", new()\n {\n Description = \"my opensearch index\",\n ServiceName = \"....\",\n Suffix = \"index\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Dbaas.NewLogsOutputOpenSearchIndex(ctx, \"index\", \u0026Dbaas.LogsOutputOpenSearchIndexArgs{\n\t\t\tDescription: pulumi.String(\"my opensearch index\"),\n\t\t\tServiceName: pulumi.String(\"....\"),\n\t\t\tSuffix: pulumi.String(\"index\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Dbaas.LogsOutputOpenSearchIndex;\nimport com.pulumi.ovh.Dbaas.LogsOutputOpenSearchIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 index = new LogsOutputOpenSearchIndex(\"index\", LogsOutputOpenSearchIndexArgs.builder()\n .description(\"my opensearch index\")\n .serviceName(\"....\")\n .suffix(\"index\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n index:\n type: ovh:Dbaas:LogsOutputOpenSearchIndex\n properties:\n description: my opensearch index\n serviceName: '....'\n suffix: index\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "alertNotifyEnabled": { + "type": "boolean", + "description": "If set, notify when size is near 80, 90 or 100 % of its maximum capacity\n" + }, + "createdAt": { + "type": "string", + "description": "Index creation\n" + }, + "currentSize": { + "type": "integer", + "description": "Current index size (in bytes)\n" + }, + "description": { + "type": "string", + "description": "Index description\n" + }, + "indexId": { + "type": "string", + "description": "Index ID\n" + }, + "isEditable": { + "type": "boolean", + "description": "Indicates if you are allowed to edit entry\n" + }, + "maxSize": { + "type": "integer", + "description": "Maximum index size (in bytes)\n" + }, + "name": { + "type": "string", + "description": "Index name\n" + }, + "nbShard": { + "type": "integer", + "description": "Number of shards\n" + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "suffix": { + "type": "string", + "description": "Index suffix\n" + }, + "updatedAt": { + "type": "string", + "description": "Index last update\n" + } + }, + "required": [ + "alertNotifyEnabled", + "createdAt", + "currentSize", + "description", + "indexId", + "isEditable", + "maxSize", + "name", + "nbShard", + "serviceName", + "suffix", + "updatedAt" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Index description\n" + }, + "nbShard": { + "type": "integer", + "description": "Number of shards\n" + }, + "serviceName": { + "type": "string", + "description": "The service name\n" + }, + "suffix": { + "type": "string", + "description": "Index suffix\n" + } + }, + "requiredInputs": [ + "description", + "nbShard", + "serviceName", + "suffix" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogsOutputOpenSearchIndex resources.\n", + "properties": { + "alertNotifyEnabled": { + "type": "boolean", + "description": "If set, notify when size is near 80, 90 or 100 % of its maximum capacity\n" }, "createdAt": { "type": "string", - "description": "Stream creation\n" + "description": "Index creation\n" + }, + "currentSize": { + "type": "integer", + "description": "Current index size (in bytes)\n" }, "description": { "type": "string", - "description": "Stream description\n" - }, - "indexingEnabled": { - "type": "boolean", - "description": "Enable ES indexing\n" - }, - "indexingMaxSize": { - "type": "integer", - "description": "Maximum indexing size (in GB)\n" + "description": "Index description\n" }, - "indexingNotifyEnabled": { - "type": "boolean", - "description": "If set, notify when size is near 80, 90 or 100 % of the maximum configured setting\n" + "indexId": { + "type": "string", + "description": "Index ID\n" }, "isEditable": { "type": "boolean", "description": "Indicates if you are allowed to edit entry\n" }, - "isShareable": { - "type": "boolean", - "description": "Indicates if you are allowed to share entry\n" - }, - "nbAlertCondition": { - "type": "integer", - "description": "Number of alert condition\n" - }, - "nbArchive": { + "maxSize": { "type": "integer", - "description": "Number of coldstored archivesr\n" + "description": "Maximum index size (in bytes)\n" }, - "parentStreamId": { + "name": { "type": "string", - "description": "Parent stream ID\n", - "willReplaceOnChanges": true - }, - "pauseIndexingOnMaxSize": { - "type": "boolean", - "description": "If set, pause indexing when maximum size is reach\n" + "description": "Index name\n" }, - "retentionId": { - "type": "string", - "description": "Retention ID\n", - "willReplaceOnChanges": true + "nbShard": { + "type": "integer", + "description": "Number of shards\n" }, "serviceName": { "type": "string", "description": "The service name\n" }, - "streamId": { - "type": "string", - "description": "Stream ID\n" - }, - "title": { + "suffix": { "type": "string", - "description": "Stream description\n" + "description": "Index suffix\n" }, "updatedAt": { "type": "string", - "description": "Stream last updater\n" - }, - "webSocketEnabled": { - "type": "boolean", - "description": "Enable Websocket\n" - }, - "writeToken": { - "type": "string", - "description": "Write token of the stream (empty if the caller is not the owner of the stream)\n", - "secret": true + "description": "Index last update\n" } }, "type": "object" @@ -12985,7 +13579,7 @@ } }, "ovh:Dedicated/server:Server": { - "description": "\n\n## Import\n\nDedicated servers can be imported using the `service_name`, e.g.:\n\nbash\n\n```sh\n$ pulumi import ovh:Dedicated/server:Server server service_name\n```\n\n", + "description": "\n\n## Import\n\nDedicated servers can be imported using the `service_name`.\n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_dedicated_server.server\n\n id = \"\u003cservice name\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=dedicated.tf\n\n$ pulumi up\n\nThe file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "availabilityZone": { "type": "string", @@ -13146,7 +13740,6 @@ "noIntervention", "order", "os", - "ovhSubsidiary", "plans", "planOptions", "powerState", @@ -13235,9 +13828,6 @@ "description": "Metadata\n" } }, - "requiredInputs": [ - "ovhSubsidiary" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Server resources.\n", "properties": { @@ -13836,7 +14426,7 @@ } }, "ovh:Domain/zone:Zone": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst zoneCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"dns\",\n planCode: \"zone\",\n}));\nconst zoneZone = new ovh.domain.Zone(\"zoneZone\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n plan: {\n duration: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.planCode),\n pricingMode: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [\n {\n label: \"zone\",\n value: \"myzone.mydomain.com\",\n },\n {\n label: \"template\",\n value: \"minimized\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nzone_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"dns\",\n plan_code=\"zone\")\nzone_zone = ovh.domain.Zone(\"zoneZone\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n plan={\n \"duration\": zone_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": zone_cart_product_plan.plan_code,\n \"pricing_mode\": zone_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [\n {\n \"label\": \"zone\",\n \"value\": \"myzone.mydomain.com\",\n },\n {\n \"label\": \"template\",\n \"value\": \"minimized\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var zoneCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"dns\",\n PlanCode = \"zone\",\n });\n\n var zoneZone = new Ovh.Domain.Zone(\"zoneZone\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Plan = new Ovh.Domain.Inputs.ZonePlanArgs\n {\n Duration = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Domain.Inputs.ZonePlanConfigurationArgs\n {\n Label = \"zone\",\n Value = \"myzone.mydomain.com\",\n },\n new Ovh.Domain.Inputs.ZonePlanConfigurationArgs\n {\n Label = \"template\",\n Value = \"minimized\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Domain\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzoneCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"dns\",\n\t\t\tPlanCode: \"zone\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Domain.NewZone(ctx, \"zoneZone\", \u0026Domain.ZoneArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tPlan: \u0026domain.ZonePlanArgs{\n\t\t\t\tDuration: pulumi.String(zoneCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(zoneCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(zoneCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: domain.ZonePlanConfigurationArray{\n\t\t\t\t\t\u0026domain.ZonePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"zone\"),\n\t\t\t\t\t\tValue: pulumi.String(\"myzone.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026domain.ZonePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"template\"),\n\t\t\t\t\t\tValue: pulumi.String(\"minimized\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Domain.Zone;\nimport com.pulumi.ovh.Domain.ZoneArgs;\nimport com.pulumi.ovh.Domain.inputs.ZonePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var zoneCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"dns\")\n .planCode(\"zone\")\n .build());\n\n var zoneZone = new Zone(\"zoneZone\", ZoneArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .plan(ZonePlanArgs.builder()\n .duration(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations( \n ZonePlanConfigurationArgs.builder()\n .label(\"zone\")\n .value(\"myzone.mydomain.com\")\n .build(),\n ZonePlanConfigurationArgs.builder()\n .label(\"template\")\n .value(\"minimized\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zoneZone:\n type: ovh:Domain:Zone\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n plan:\n duration: ${zoneCartProductPlan.selectedPrices[0].duration}\n planCode: ${zoneCartProductPlan.planCode}\n pricingMode: ${zoneCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: zone\n value: myzone.mydomain.com\n - label: template\n value: minimized\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n zoneCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: dns\n planCode: zone\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. \n\nbash\n\n```sh\n$ pulumi import ovh:Domain/zone:Zone zone order_id\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst zoneCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"dns\",\n planCode: \"zone\",\n}));\nconst zoneZone = new ovh.domain.Zone(\"zoneZone\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n plan: {\n duration: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.planCode),\n pricingMode: zoneCartProductPlan.then(zoneCartProductPlan =\u003e zoneCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [\n {\n label: \"zone\",\n value: \"myzone.mydomain.com\",\n },\n {\n label: \"template\",\n value: \"minimized\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nzone_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"dns\",\n plan_code=\"zone\")\nzone_zone = ovh.domain.Zone(\"zoneZone\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n plan={\n \"duration\": zone_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": zone_cart_product_plan.plan_code,\n \"pricing_mode\": zone_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [\n {\n \"label\": \"zone\",\n \"value\": \"myzone.mydomain.com\",\n },\n {\n \"label\": \"template\",\n \"value\": \"minimized\",\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var zoneCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"dns\",\n PlanCode = \"zone\",\n });\n\n var zoneZone = new Ovh.Domain.Zone(\"zoneZone\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Plan = new Ovh.Domain.Inputs.ZonePlanArgs\n {\n Duration = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = zoneCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Domain.Inputs.ZonePlanConfigurationArgs\n {\n Label = \"zone\",\n Value = \"myzone.mydomain.com\",\n },\n new Ovh.Domain.Inputs.ZonePlanConfigurationArgs\n {\n Label = \"template\",\n Value = \"minimized\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Domain\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzoneCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"dns\",\n\t\t\tPlanCode: \"zone\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Domain.NewZone(ctx, \"zoneZone\", \u0026Domain.ZoneArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tPlan: \u0026domain.ZonePlanArgs{\n\t\t\t\tDuration: pulumi.String(zoneCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(zoneCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(zoneCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: domain.ZonePlanConfigurationArray{\n\t\t\t\t\t\u0026domain.ZonePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"zone\"),\n\t\t\t\t\t\tValue: pulumi.String(\"myzone.mydomain.com\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026domain.ZonePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"template\"),\n\t\t\t\t\t\tValue: pulumi.String(\"minimized\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Domain.Zone;\nimport com.pulumi.ovh.Domain.ZoneArgs;\nimport com.pulumi.ovh.Domain.inputs.ZonePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var zoneCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"dns\")\n .planCode(\"zone\")\n .build());\n\n var zoneZone = new Zone(\"zoneZone\", ZoneArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .plan(ZonePlanArgs.builder()\n .duration(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(zoneCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations( \n ZonePlanConfigurationArgs.builder()\n .label(\"zone\")\n .value(\"myzone.mydomain.com\")\n .build(),\n ZonePlanConfigurationArgs.builder()\n .label(\"template\")\n .value(\"minimized\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zoneZone:\n type: ovh:Domain:Zone\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n plan:\n duration: ${zoneCartProductPlan.selectedPrices[0].duration}\n planCode: ${zoneCartProductPlan.planCode}\n pricingMode: ${zoneCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: zone\n value: myzone.mydomain.com\n - label: template\n value: minimized\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n zoneCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: dns\n planCode: zone\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nZone can be imported using its `name`. \n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_domain_zone.zone\n\n id = \"\u003czone name\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=zone.tf\n\n$ pulumi up\n\nThe file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "ZoneURN": { "type": "string" @@ -13936,10 +14526,6 @@ "willReplaceOnChanges": true } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Zone resources.\n", "properties": { @@ -14295,7 +14881,7 @@ } }, "ovh:Hosting/privateDatabase:PrivateDatabase": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst databaseCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"privateSQL\",\n planCode: \"private-sql-512-instance\",\n}));\nconst databasePrivateDatabase = new ovh.hosting.PrivateDatabase(\"databasePrivateDatabase\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n displayName: \"Postgresql-12\",\n plan: {\n duration: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.prices?.[3]?.duration),\n planCode: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.planCode),\n pricingMode: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [\n {\n label: \"dc\",\n value: \"gra3\",\n },\n {\n label: \"engine\",\n value: \"postgresql_12\",\n },\n ],\n },\n});\nexport const privatedatabaseServiceName = databasePrivateDatabase.serviceName;\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\ndatabase_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"privateSQL\",\n plan_code=\"private-sql-512-instance\")\ndatabase_private_database = ovh.hosting.PrivateDatabase(\"databasePrivateDatabase\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n display_name=\"Postgresql-12\",\n plan={\n \"duration\": database_cart_product_plan.prices[3].duration,\n \"plan_code\": database_cart_product_plan.plan_code,\n \"pricing_mode\": database_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [\n {\n \"label\": \"dc\",\n \"value\": \"gra3\",\n },\n {\n \"label\": \"engine\",\n \"value\": \"postgresql_12\",\n },\n ],\n })\npulumi.export(\"privatedatabaseServiceName\", database_private_database.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var databaseCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"privateSQL\",\n PlanCode = \"private-sql-512-instance\",\n });\n\n var databasePrivateDatabase = new Ovh.Hosting.PrivateDatabase(\"databasePrivateDatabase\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n DisplayName = \"Postgresql-12\",\n Plan = new Ovh.Hosting.Inputs.PrivateDatabasePlanArgs\n {\n Duration = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.Prices[3]?.Duration),\n PlanCode = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Hosting.Inputs.PrivateDatabasePlanConfigurationArgs\n {\n Label = \"dc\",\n Value = \"gra3\",\n },\n new Ovh.Hosting.Inputs.PrivateDatabasePlanConfigurationArgs\n {\n Label = \"engine\",\n Value = \"postgresql_12\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privatedatabaseServiceName\"] = databasePrivateDatabase.ServiceName,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Hosting\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabaseCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"privateSQL\",\n\t\t\tPlanCode: \"private-sql-512-instance\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabasePrivateDatabase, err := Hosting.NewPrivateDatabase(ctx, \"databasePrivateDatabase\", \u0026Hosting.PrivateDatabaseArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDisplayName: pulumi.String(\"Postgresql-12\"),\n\t\t\tPlan: \u0026hosting.PrivateDatabasePlanArgs{\n\t\t\t\tDuration: pulumi.String(databaseCartProductPlan.Prices[3].Duration),\n\t\t\t\tPlanCode: pulumi.String(databaseCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(databaseCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: hosting.PrivateDatabasePlanConfigurationArray{\n\t\t\t\t\t\u0026hosting.PrivateDatabasePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"dc\"),\n\t\t\t\t\t\tValue: pulumi.String(\"gra3\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026hosting.PrivateDatabasePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"engine\"),\n\t\t\t\t\t\tValue: pulumi.String(\"postgresql_12\"),\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\tctx.Export(\"privatedatabaseServiceName\", databasePrivateDatabase.ServiceName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Hosting.PrivateDatabase;\nimport com.pulumi.ovh.Hosting.PrivateDatabaseArgs;\nimport com.pulumi.ovh.Hosting.inputs.PrivateDatabasePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var databaseCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"privateSQL\")\n .planCode(\"private-sql-512-instance\")\n .build());\n\n var databasePrivateDatabase = new PrivateDatabase(\"databasePrivateDatabase\", PrivateDatabaseArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .displayName(\"Postgresql-12\")\n .plan(PrivateDatabasePlanArgs.builder()\n .duration(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.prices()[3].duration()))\n .planCode(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations( \n PrivateDatabasePlanConfigurationArgs.builder()\n .label(\"dc\")\n .value(\"gra3\")\n .build(),\n PrivateDatabasePlanConfigurationArgs.builder()\n .label(\"engine\")\n .value(\"postgresql_12\")\n .build())\n .build())\n .build());\n\n ctx.export(\"privatedatabaseServiceName\", databasePrivateDatabase.serviceName());\n }\n}\n```\n```yaml\nresources:\n databasePrivateDatabase:\n type: ovh:Hosting:PrivateDatabase\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n displayName: Postgresql-12\n plan:\n duration: ${databaseCartProductPlan.prices[3].duration}\n planCode: ${databaseCartProductPlan.planCode}\n pricingMode: ${databaseCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: dc\n value: gra3\n - label: engine\n value: postgresql_12\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n databaseCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: privateSQL\n planCode: private-sql-512-instance\noutputs:\n privatedatabaseServiceName: ${databasePrivateDatabase.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Webhosting database can be imported using the `service_name`, E.g.,\n\n```sh\n$ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name\n```\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst databaseCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"privateSQL\",\n planCode: \"private-sql-512-instance\",\n}));\nconst databasePrivateDatabase = new ovh.hosting.PrivateDatabase(\"databasePrivateDatabase\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n displayName: \"Postgresql-12\",\n plan: {\n duration: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.prices?.[3]?.duration),\n planCode: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.planCode),\n pricingMode: databaseCartProductPlan.then(databaseCartProductPlan =\u003e databaseCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [\n {\n label: \"dc\",\n value: \"gra3\",\n },\n {\n label: \"engine\",\n value: \"postgresql_12\",\n },\n ],\n },\n});\nexport const privatedatabaseServiceName = databasePrivateDatabase.serviceName;\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\ndatabase_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"privateSQL\",\n plan_code=\"private-sql-512-instance\")\ndatabase_private_database = ovh.hosting.PrivateDatabase(\"databasePrivateDatabase\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n display_name=\"Postgresql-12\",\n plan={\n \"duration\": database_cart_product_plan.prices[3].duration,\n \"plan_code\": database_cart_product_plan.plan_code,\n \"pricing_mode\": database_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [\n {\n \"label\": \"dc\",\n \"value\": \"gra3\",\n },\n {\n \"label\": \"engine\",\n \"value\": \"postgresql_12\",\n },\n ],\n })\npulumi.export(\"privatedatabaseServiceName\", database_private_database.service_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var databaseCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"privateSQL\",\n PlanCode = \"private-sql-512-instance\",\n });\n\n var databasePrivateDatabase = new Ovh.Hosting.PrivateDatabase(\"databasePrivateDatabase\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n DisplayName = \"Postgresql-12\",\n Plan = new Ovh.Hosting.Inputs.PrivateDatabasePlanArgs\n {\n Duration = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.Prices[3]?.Duration),\n PlanCode = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = databaseCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Hosting.Inputs.PrivateDatabasePlanConfigurationArgs\n {\n Label = \"dc\",\n Value = \"gra3\",\n },\n new Ovh.Hosting.Inputs.PrivateDatabasePlanConfigurationArgs\n {\n Label = \"engine\",\n Value = \"postgresql_12\",\n },\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privatedatabaseServiceName\"] = databasePrivateDatabase.ServiceName,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Hosting\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabaseCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"privateSQL\",\n\t\t\tPlanCode: \"private-sql-512-instance\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabasePrivateDatabase, err := Hosting.NewPrivateDatabase(ctx, \"databasePrivateDatabase\", \u0026Hosting.PrivateDatabaseArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDisplayName: pulumi.String(\"Postgresql-12\"),\n\t\t\tPlan: \u0026hosting.PrivateDatabasePlanArgs{\n\t\t\t\tDuration: pulumi.String(databaseCartProductPlan.Prices[3].Duration),\n\t\t\t\tPlanCode: pulumi.String(databaseCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(databaseCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: hosting.PrivateDatabasePlanConfigurationArray{\n\t\t\t\t\t\u0026hosting.PrivateDatabasePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"dc\"),\n\t\t\t\t\t\tValue: pulumi.String(\"gra3\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026hosting.PrivateDatabasePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"engine\"),\n\t\t\t\t\t\tValue: pulumi.String(\"postgresql_12\"),\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\tctx.Export(\"privatedatabaseServiceName\", databasePrivateDatabase.ServiceName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Hosting.PrivateDatabase;\nimport com.pulumi.ovh.Hosting.PrivateDatabaseArgs;\nimport com.pulumi.ovh.Hosting.inputs.PrivateDatabasePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var databaseCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"privateSQL\")\n .planCode(\"private-sql-512-instance\")\n .build());\n\n var databasePrivateDatabase = new PrivateDatabase(\"databasePrivateDatabase\", PrivateDatabaseArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .displayName(\"Postgresql-12\")\n .plan(PrivateDatabasePlanArgs.builder()\n .duration(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.prices()[3].duration()))\n .planCode(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(databaseCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations( \n PrivateDatabasePlanConfigurationArgs.builder()\n .label(\"dc\")\n .value(\"gra3\")\n .build(),\n PrivateDatabasePlanConfigurationArgs.builder()\n .label(\"engine\")\n .value(\"postgresql_12\")\n .build())\n .build())\n .build());\n\n ctx.export(\"privatedatabaseServiceName\", databasePrivateDatabase.serviceName());\n }\n}\n```\n```yaml\nresources:\n databasePrivateDatabase:\n type: ovh:Hosting:PrivateDatabase\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n displayName: Postgresql-12\n plan:\n duration: ${databaseCartProductPlan.prices[3].duration}\n planCode: ${databaseCartProductPlan.planCode}\n pricingMode: ${databaseCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: dc\n value: gra3\n - label: engine\n value: postgresql_12\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n databaseCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: privateSQL\n planCode: private-sql-512-instance\noutputs:\n privatedatabaseServiceName: ${databasePrivateDatabase.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud Webhosting database can be imported using the `service_name`.\n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_hosting_privatedatabase.database\n\n id = \"\u003cservice name\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=database.tf\n\n$ pulumi up\n\nThe file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "DatabaseURN": { "type": "string", @@ -14471,10 +15057,6 @@ "description": "Service name\n" } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering PrivateDatabase resources.\n", "properties": { @@ -15027,7 +15609,7 @@ } }, "ovh:Iam/policy:Policy": { - "description": "Creates an IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst account = ovh.Me.getMe({});\nconst myGroup = new ovh.me.IdentityGroup(\"myGroup\", {description: \"my_group created in Terraform\"});\nconst manager = new ovh.iam.Policy(\"manager\", {\n description: \"Users are allowed to use the OVH manager\",\n identities: [myGroup.GroupURN],\n resources: [account.then(account =\u003e account.AccountURN)],\n allows: [\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\naccount = ovh.Me.get_me()\nmy_group = ovh.me.IdentityGroup(\"myGroup\", description=\"my_group created in Terraform\")\nmanager = ovh.iam.Policy(\"manager\",\n description=\"Users are allowed to use the OVH manager\",\n identities=[my_group.group_urn],\n resources=[account.account_urn],\n allows=[\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = Ovh.Me.GetMe.Invoke();\n\n var myGroup = new Ovh.Me.IdentityGroup(\"myGroup\", new()\n {\n Description = \"my_group created in Terraform\",\n });\n\n var manager = new Ovh.Iam.Policy(\"manager\", new()\n {\n Description = \"Users are allowed to use the OVH manager\",\n Identities = new[]\n {\n myGroup.GroupURN,\n },\n Resources = new[]\n {\n account.Apply(getMeResult =\u003e getMeResult.AccountURN),\n },\n Allows = new[]\n {\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyGroup, err := Me.NewIdentityGroup(ctx, \"myGroup\", \u0026Me.IdentityGroupArgs{\n\t\t\tDescription: pulumi.String(\"my_group created in Terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Iam.NewPolicy(ctx, \"manager\", \u0026Iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"Users are allowed to use the OVH manager\"),\n\t\t\tIdentities: pulumi.StringArray{\n\t\t\t\tmyGroup.GroupURN,\n\t\t\t},\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(account.AccountURN),\n\t\t\t},\n\t\t\tAllows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account:apiovh:me/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/supportLevel/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/certificates/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/tag/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:services/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:*\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Me.IdentityGroup;\nimport com.pulumi.ovh.Me.IdentityGroupArgs;\nimport com.pulumi.ovh.Iam.Policy;\nimport com.pulumi.ovh.Iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = MeFunctions.getMe();\n\n var myGroup = new IdentityGroup(\"myGroup\", IdentityGroupArgs.builder()\n .description(\"my_group created in Terraform\")\n .build());\n\n var manager = new Policy(\"manager\", PolicyArgs.builder()\n .description(\"Users are allowed to use the OVH manager\")\n .identities(myGroup.GroupURN())\n .resources(account.applyValue(getMeResult -\u003e getMeResult.AccountURN()))\n .allows( \n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myGroup:\n type: ovh:Me:IdentityGroup\n properties:\n description: my_group created in Terraform\n manager:\n type: ovh:Iam:Policy\n properties:\n description: Users are allowed to use the OVH manager\n identities:\n - ${myGroup.GroupURN}\n resources:\n - ${account.AccountURN}\n # these are all the actions\n allows:\n - account:apiovh:me/get\n - account:apiovh:me/supportLevel/get\n - account:apiovh:me/certificates/get\n - account:apiovh:me/tag/get\n - account:apiovh:services/get\n - account:apiovh:*\nvariables:\n account:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates an IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst account = ovh.Me.getMe({});\nconst myGroup = new ovh.me.IdentityGroup(\"myGroup\", {description: \"my_group created in Terraform\"});\nconst manager = new ovh.iam.Policy(\"manager\", {\n description: \"Users are allowed to use the OVH manager\",\n identities: [myGroup.GroupURN],\n resources: [account.then(account =\u003e account.AccountURN)],\n allows: [\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\naccount = ovh.Me.get_me()\nmy_group = ovh.me.IdentityGroup(\"myGroup\", description=\"my_group created in Terraform\")\nmanager = ovh.iam.Policy(\"manager\",\n description=\"Users are allowed to use the OVH manager\",\n identities=[my_group.group_urn],\n resources=[account.account_urn],\n allows=[\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var account = Ovh.Me.GetMe.Invoke();\n\n var myGroup = new Ovh.Me.IdentityGroup(\"myGroup\", new()\n {\n Description = \"my_group created in Terraform\",\n });\n\n var manager = new Ovh.Iam.Policy(\"manager\", new()\n {\n Description = \"Users are allowed to use the OVH manager\",\n Identities = new[]\n {\n myGroup.GroupURN,\n },\n Resources = new[]\n {\n account.Apply(getMeResult =\u003e getMeResult.AccountURN),\n },\n Allows = new[]\n {\n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyGroup, err := Me.NewIdentityGroup(ctx, \"myGroup\", \u0026Me.IdentityGroupArgs{\n\t\t\tDescription: pulumi.String(\"my_group created in Terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Iam.NewPolicy(ctx, \"manager\", \u0026Iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"Users are allowed to use the OVH manager\"),\n\t\t\tIdentities: pulumi.StringArray{\n\t\t\t\tmyGroup.GroupURN,\n\t\t\t},\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(account.AccountURN),\n\t\t\t},\n\t\t\tAllows: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account:apiovh:me/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/supportLevel/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/certificates/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:me/tag/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:services/get\"),\n\t\t\t\tpulumi.String(\"account:apiovh:*\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Me.IdentityGroup;\nimport com.pulumi.ovh.Me.IdentityGroupArgs;\nimport com.pulumi.ovh.Iam.Policy;\nimport com.pulumi.ovh.Iam.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 account = MeFunctions.getMe();\n\n var myGroup = new IdentityGroup(\"myGroup\", IdentityGroupArgs.builder()\n .description(\"my_group created in Terraform\")\n .build());\n\n var manager = new Policy(\"manager\", PolicyArgs.builder()\n .description(\"Users are allowed to use the OVH manager\")\n .identities(myGroup.GroupURN())\n .resources(account.applyValue(getMeResult -\u003e getMeResult.AccountURN()))\n .allows( \n \"account:apiovh:me/get\",\n \"account:apiovh:me/supportLevel/get\",\n \"account:apiovh:me/certificates/get\",\n \"account:apiovh:me/tag/get\",\n \"account:apiovh:services/get\",\n \"account:apiovh:*\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myGroup:\n type: ovh:Me:IdentityGroup\n properties:\n description: my_group created in Terraform\n manager:\n type: ovh:Iam:Policy\n properties:\n description: Users are allowed to use the OVH manager\n identities:\n - ${myGroup.GroupURN}\n resources:\n - ${account.AccountURN}\n # these are all the actions\n allows:\n - account:apiovh:me/get\n - account:apiovh:me/supportLevel/get\n - account:apiovh:me/certificates/get\n - account:apiovh:me/tag/get\n - account:apiovh:services/get\n - account:apiovh:*\nvariables:\n account:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "allows": { "type": "array", @@ -15599,7 +16181,7 @@ } }, "ovh:Ip/ipService:IpService": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = ovh.Order.getCart({\n ovhSubsidiary: \"fr\",\n});\nconst ipblockCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ip\",\n planCode: \"ip-v4-s30-ripe\",\n}));\nconst ipblockIpService = new ovh.ip.IpService(\"ipblockIpService\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: \"my ip block\",\n plan: {\n duration: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.planCode),\n pricingMode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [{\n label: \"country\",\n value: \"FR\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=\"fr\")\nipblock_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ip\",\n plan_code=\"ip-v4-s30-ripe\")\nipblock_ip_service = ovh.ip.IpService(\"ipblockIpService\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=\"my ip block\",\n plan={\n \"duration\": ipblock_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": ipblock_cart_product_plan.plan_code,\n \"pricing_mode\": ipblock_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [{\n \"label\": \"country\",\n \"value\": \"FR\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = \"fr\",\n });\n\n var ipblockCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ip\",\n PlanCode = \"ip-v4-s30-ripe\",\n });\n\n var ipblockIpService = new Ovh.Ip.IpService(\"ipblockIpService\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = \"my ip block\",\n Plan = new Ovh.Ip.Inputs.IpServicePlanArgs\n {\n Duration = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Ip.Inputs.IpServicePlanConfigurationArgs\n {\n Label = \"country\",\n Value = \"FR\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Ip\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: \"fr\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ip\",\n\t\t\tPlanCode: \"ip-v4-s30-ripe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Ip.NewIpService(ctx, \"ipblockIpService\", \u0026Ip.IpServiceArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(\"my ip block\"),\n\t\t\tPlan: \u0026ip.IpServicePlanArgs{\n\t\t\t\tDuration: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(ipblockCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: ip.IpServicePlanConfigurationArray{\n\t\t\t\t\t\u0026ip.IpServicePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"country\"),\n\t\t\t\t\t\tValue: pulumi.String(\"FR\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Ip.IpService;\nimport com.pulumi.ovh.Ip.IpServiceArgs;\nimport com.pulumi.ovh.Ip.inputs.IpServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(\"fr\")\n .build());\n\n final var ipblockCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ip\")\n .planCode(\"ip-v4-s30-ripe\")\n .build());\n\n var ipblockIpService = new IpService(\"ipblockIpService\", IpServiceArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(\"my ip block\")\n .plan(IpServicePlanArgs.builder()\n .duration(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations(IpServicePlanConfigurationArgs.builder()\n .label(\"country\")\n .value(\"FR\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipblockIpService:\n type: ovh:Ip:IpService\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: my ip block\n plan:\n duration: ${ipblockCartProductPlan.selectedPrices[0].duration}\n planCode: ${ipblockCartProductPlan.planCode}\n pricingMode: ${ipblockCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: country\n value: FR\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: fr\n ipblockCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ip\n planCode: ip-v4-s30-ripe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = ovh.Order.getCart({\n ovhSubsidiary: \"fr\",\n});\nconst ipblockCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ip\",\n planCode: \"ip-v4-s30-ripe\",\n}));\nconst ipblockIpService = new ovh.ip.IpService(\"ipblockIpService\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: \"my ip block\",\n plan: {\n duration: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.planCode),\n pricingMode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [{\n label: \"country\",\n value: \"FR\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=\"fr\")\nipblock_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ip\",\n plan_code=\"ip-v4-s30-ripe\")\nipblock_ip_service = ovh.ip.IpService(\"ipblockIpService\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=\"my ip block\",\n plan={\n \"duration\": ipblock_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": ipblock_cart_product_plan.plan_code,\n \"pricing_mode\": ipblock_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [{\n \"label\": \"country\",\n \"value\": \"FR\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = \"fr\",\n });\n\n var ipblockCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ip\",\n PlanCode = \"ip-v4-s30-ripe\",\n });\n\n var ipblockIpService = new Ovh.Ip.IpService(\"ipblockIpService\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = \"my ip block\",\n Plan = new Ovh.Ip.Inputs.IpServicePlanArgs\n {\n Duration = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Ip.Inputs.IpServicePlanConfigurationArgs\n {\n Label = \"country\",\n Value = \"FR\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Ip\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: \"fr\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ip\",\n\t\t\tPlanCode: \"ip-v4-s30-ripe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Ip.NewIpService(ctx, \"ipblockIpService\", \u0026Ip.IpServiceArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(\"my ip block\"),\n\t\t\tPlan: \u0026ip.IpServicePlanArgs{\n\t\t\t\tDuration: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(ipblockCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: ip.IpServicePlanConfigurationArray{\n\t\t\t\t\t\u0026ip.IpServicePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"country\"),\n\t\t\t\t\t\tValue: pulumi.String(\"FR\"),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Ip.IpService;\nimport com.pulumi.ovh.Ip.IpServiceArgs;\nimport com.pulumi.ovh.Ip.inputs.IpServicePlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(\"fr\")\n .build());\n\n final var ipblockCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ip\")\n .planCode(\"ip-v4-s30-ripe\")\n .build());\n\n var ipblockIpService = new IpService(\"ipblockIpService\", IpServiceArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(\"my ip block\")\n .plan(IpServicePlanArgs.builder()\n .duration(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations(IpServicePlanConfigurationArgs.builder()\n .label(\"country\")\n .value(\"FR\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipblockIpService:\n type: ovh:Ip:IpService\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: my ip block\n plan:\n duration: ${ipblockCartProductPlan.selectedPrices[0].duration}\n planCode: ${ipblockCartProductPlan.planCode}\n pricingMode: ${ipblockCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: country\n value: FR\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: fr\n ipblockCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ip\n planCode: ip-v4-s30-ripe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource can be imported using its `service_name`, E.g.,\n\nhcl\n\nimport {\n\n to = ovh_ip_service.ipblock\n\n id = \"ip-xx.xx.xx.xx\"\n\n}\n\nbash\n\n$ pulumi preview -generate-config-out=ipblock.tf\n\n$ pulumi up\n\nThe file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "canBeTerminated": { "type": "boolean", @@ -15714,10 +16296,6 @@ "willReplaceOnChanges": true } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering IpService resources.\n", "properties": { @@ -16813,7 +17391,7 @@ } }, "ovh:IpLoadBalancing/loadBalancer:LoadBalancer": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst iplb = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ipLoadbalancing\",\n planCode: \"iplb-lb1\",\n}));\nconst bhs = Promise.all([iplb, iplb, iplb, iplb]).then(([iplb, iplb1, iplb2, iplb3]) =\u003e ovh.Order.getCartProductOptionsPlan({\n cartId: iplb.cartId,\n priceCapacity: iplb1.priceCapacity,\n product: iplb2.product,\n planCode: iplb3.planCode,\n optionsPlanCode: \"iplb-zone-lb1-rbx\",\n}));\nconst iplb_lb1 = new ovh.iploadbalancing.LoadBalancer(\"iplb-lb1\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n displayName: \"my ip loadbalancing\",\n plan: {\n duration: iplb.then(iplb =\u003e iplb.selectedPrices?.[0]?.duration),\n planCode: iplb.then(iplb =\u003e iplb.planCode),\n pricingMode: iplb.then(iplb =\u003e iplb.selectedPrices?.[0]?.pricingMode),\n },\n planOptions: [{\n duration: bhs.then(bhs =\u003e bhs.selectedPrices?.[0]?.duration),\n planCode: bhs.then(bhs =\u003e bhs.planCode),\n pricingMode: bhs.then(bhs =\u003e bhs.selectedPrices?.[0]?.pricingMode),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\niplb = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ipLoadbalancing\",\n plan_code=\"iplb-lb1\")\nbhs = ovh.Order.get_cart_product_options_plan(cart_id=iplb.cart_id,\n price_capacity=iplb.price_capacity,\n product=iplb.product,\n plan_code=iplb.plan_code,\n options_plan_code=\"iplb-zone-lb1-rbx\")\niplb_lb1 = ovh.ip_load_balancing.LoadBalancer(\"iplb-lb1\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n display_name=\"my ip loadbalancing\",\n plan={\n \"duration\": iplb.selected_prices[0].duration,\n \"plan_code\": iplb.plan_code,\n \"pricing_mode\": iplb.selected_prices[0].pricing_mode,\n },\n plan_options=[{\n \"duration\": bhs.selected_prices[0].duration,\n \"plan_code\": bhs.plan_code,\n \"pricing_mode\": bhs.selected_prices[0].pricing_mode,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var iplb = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ipLoadbalancing\",\n PlanCode = \"iplb-lb1\",\n });\n\n var bhs = Ovh.Order.GetCartProductOptionsPlan.Invoke(new()\n {\n CartId = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.CartId),\n PriceCapacity = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PriceCapacity),\n Product = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.Product),\n PlanCode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n OptionsPlanCode = \"iplb-zone-lb1-rbx\",\n });\n\n var iplb_lb1 = new Ovh.IpLoadBalancing.LoadBalancer(\"iplb-lb1\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n DisplayName = \"my ip loadbalancing\",\n Plan = new Ovh.IpLoadBalancing.Inputs.LoadBalancerPlanArgs\n {\n Duration = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n PlanOptions = new[]\n {\n new Ovh.IpLoadBalancing.Inputs.LoadBalancerPlanOptionArgs\n {\n Duration = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.PlanCode),\n PricingMode = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.SelectedPrices[0]?.PricingMode),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/IpLoadBalancing\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiplb, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ipLoadbalancing\",\n\t\t\tPlanCode: \"iplb-lb1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbhs, err := Order.GetCartProductOptionsPlan(ctx, \u0026order.GetCartProductOptionsPlanArgs{\n\t\t\tCartId: iplb.CartId,\n\t\t\tPriceCapacity: iplb.PriceCapacity,\n\t\t\tProduct: iplb.Product,\n\t\t\tPlanCode: iplb.PlanCode,\n\t\t\tOptionsPlanCode: \"iplb-zone-lb1-rbx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = IpLoadBalancing.NewLoadBalancer(ctx, \"iplb-lb1\", \u0026IpLoadBalancing.LoadBalancerArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDisplayName: pulumi.String(\"my ip loadbalancing\"),\n\t\t\tPlan: \u0026iploadbalancing.LoadBalancerPlanArgs{\n\t\t\t\tDuration: pulumi.String(iplb.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(iplb.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(iplb.SelectedPrices[0].PricingMode),\n\t\t\t},\n\t\t\tPlanOptions: iploadbalancing.LoadBalancerPlanOptionArray{\n\t\t\t\t\u0026iploadbalancing.LoadBalancerPlanOptionArgs{\n\t\t\t\t\tDuration: pulumi.String(bhs.SelectedPrices[0].Duration),\n\t\t\t\t\tPlanCode: pulumi.String(bhs.PlanCode),\n\t\t\t\t\tPricingMode: pulumi.String(bhs.SelectedPrices[0].PricingMode),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsPlanArgs;\nimport com.pulumi.ovh.IpLoadBalancing.LoadBalancer;\nimport com.pulumi.ovh.IpLoadBalancing.LoadBalancerArgs;\nimport com.pulumi.ovh.IpLoadBalancing.inputs.LoadBalancerPlanArgs;\nimport com.pulumi.ovh.IpLoadBalancing.inputs.LoadBalancerPlanOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var iplb = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ipLoadbalancing\")\n .planCode(\"iplb-lb1\")\n .build());\n\n final var bhs = OrderFunctions.getCartProductOptionsPlan(GetCartProductOptionsPlanArgs.builder()\n .cartId(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.cartId()))\n .priceCapacity(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.priceCapacity()))\n .product(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.product()))\n .planCode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .optionsPlanCode(\"iplb-zone-lb1-rbx\")\n .build());\n\n var iplb_lb1 = new LoadBalancer(\"iplb-lb1\", LoadBalancerArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .displayName(\"my ip loadbalancing\")\n .plan(LoadBalancerPlanArgs.builder()\n .duration(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .planOptions(LoadBalancerPlanOptionArgs.builder()\n .duration(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.selectedPrices()[0].duration()))\n .planCode(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.planCode()))\n .pricingMode(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iplb-lb1:\n type: ovh:IpLoadBalancing:LoadBalancer\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n displayName: my ip loadbalancing\n plan:\n duration: ${iplb.selectedPrices[0].duration}\n planCode: ${iplb.planCode}\n pricingMode: ${iplb.selectedPrices[0].pricingMode}\n planOptions:\n - duration: ${bhs.selectedPrices[0].duration}\n planCode: ${bhs.planCode}\n pricingMode: ${bhs.selectedPrices[0].pricingMode}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n iplb:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ipLoadbalancing\n planCode: iplb-lb1\n bhs:\n fn::invoke:\n Function: ovh:Order:getCartProductOptionsPlan\n Arguments:\n cartId: ${iplb.cartId}\n priceCapacity: ${iplb.priceCapacity}\n product: ${iplb.product}\n planCode: ${iplb.planCode}\n optionsPlanCode: iplb-zone-lb1-rbx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst iplb = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ipLoadbalancing\",\n planCode: \"iplb-lb1\",\n}));\nconst bhs = Promise.all([iplb, iplb, iplb, iplb]).then(([iplb, iplb1, iplb2, iplb3]) =\u003e ovh.Order.getCartProductOptionsPlan({\n cartId: iplb.cartId,\n priceCapacity: iplb1.priceCapacity,\n product: iplb2.product,\n planCode: iplb3.planCode,\n optionsPlanCode: \"iplb-zone-lb1-rbx\",\n}));\nconst iplb_lb1 = new ovh.iploadbalancing.LoadBalancer(\"iplb-lb1\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n displayName: \"my ip loadbalancing\",\n plan: {\n duration: iplb.then(iplb =\u003e iplb.selectedPrices?.[0]?.duration),\n planCode: iplb.then(iplb =\u003e iplb.planCode),\n pricingMode: iplb.then(iplb =\u003e iplb.selectedPrices?.[0]?.pricingMode),\n },\n planOptions: [{\n duration: bhs.then(bhs =\u003e bhs.selectedPrices?.[0]?.duration),\n planCode: bhs.then(bhs =\u003e bhs.planCode),\n pricingMode: bhs.then(bhs =\u003e bhs.selectedPrices?.[0]?.pricingMode),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\niplb = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ipLoadbalancing\",\n plan_code=\"iplb-lb1\")\nbhs = ovh.Order.get_cart_product_options_plan(cart_id=iplb.cart_id,\n price_capacity=iplb.price_capacity,\n product=iplb.product,\n plan_code=iplb.plan_code,\n options_plan_code=\"iplb-zone-lb1-rbx\")\niplb_lb1 = ovh.ip_load_balancing.LoadBalancer(\"iplb-lb1\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n display_name=\"my ip loadbalancing\",\n plan={\n \"duration\": iplb.selected_prices[0].duration,\n \"plan_code\": iplb.plan_code,\n \"pricing_mode\": iplb.selected_prices[0].pricing_mode,\n },\n plan_options=[{\n \"duration\": bhs.selected_prices[0].duration,\n \"plan_code\": bhs.plan_code,\n \"pricing_mode\": bhs.selected_prices[0].pricing_mode,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var iplb = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ipLoadbalancing\",\n PlanCode = \"iplb-lb1\",\n });\n\n var bhs = Ovh.Order.GetCartProductOptionsPlan.Invoke(new()\n {\n CartId = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.CartId),\n PriceCapacity = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PriceCapacity),\n Product = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.Product),\n PlanCode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n OptionsPlanCode = \"iplb-zone-lb1-rbx\",\n });\n\n var iplb_lb1 = new Ovh.IpLoadBalancing.LoadBalancer(\"iplb-lb1\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n DisplayName = \"my ip loadbalancing\",\n Plan = new Ovh.IpLoadBalancing.Inputs.LoadBalancerPlanArgs\n {\n Duration = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = iplb.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n PlanOptions = new[]\n {\n new Ovh.IpLoadBalancing.Inputs.LoadBalancerPlanOptionArgs\n {\n Duration = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.PlanCode),\n PricingMode = bhs.Apply(getCartProductOptionsPlanResult =\u003e getCartProductOptionsPlanResult.SelectedPrices[0]?.PricingMode),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/IpLoadBalancing\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiplb, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ipLoadbalancing\",\n\t\t\tPlanCode: \"iplb-lb1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbhs, err := Order.GetCartProductOptionsPlan(ctx, \u0026order.GetCartProductOptionsPlanArgs{\n\t\t\tCartId: iplb.CartId,\n\t\t\tPriceCapacity: iplb.PriceCapacity,\n\t\t\tProduct: iplb.Product,\n\t\t\tPlanCode: iplb.PlanCode,\n\t\t\tOptionsPlanCode: \"iplb-zone-lb1-rbx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = IpLoadBalancing.NewLoadBalancer(ctx, \"iplb-lb1\", \u0026IpLoadBalancing.LoadBalancerArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDisplayName: pulumi.String(\"my ip loadbalancing\"),\n\t\t\tPlan: \u0026iploadbalancing.LoadBalancerPlanArgs{\n\t\t\t\tDuration: pulumi.String(iplb.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(iplb.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(iplb.SelectedPrices[0].PricingMode),\n\t\t\t},\n\t\t\tPlanOptions: iploadbalancing.LoadBalancerPlanOptionArray{\n\t\t\t\t\u0026iploadbalancing.LoadBalancerPlanOptionArgs{\n\t\t\t\t\tDuration: pulumi.String(bhs.SelectedPrices[0].Duration),\n\t\t\t\t\tPlanCode: pulumi.String(bhs.PlanCode),\n\t\t\t\t\tPricingMode: pulumi.String(bhs.SelectedPrices[0].PricingMode),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsPlanArgs;\nimport com.pulumi.ovh.IpLoadBalancing.LoadBalancer;\nimport com.pulumi.ovh.IpLoadBalancing.LoadBalancerArgs;\nimport com.pulumi.ovh.IpLoadBalancing.inputs.LoadBalancerPlanArgs;\nimport com.pulumi.ovh.IpLoadBalancing.inputs.LoadBalancerPlanOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var iplb = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ipLoadbalancing\")\n .planCode(\"iplb-lb1\")\n .build());\n\n final var bhs = OrderFunctions.getCartProductOptionsPlan(GetCartProductOptionsPlanArgs.builder()\n .cartId(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.cartId()))\n .priceCapacity(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.priceCapacity()))\n .product(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.product()))\n .planCode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .optionsPlanCode(\"iplb-zone-lb1-rbx\")\n .build());\n\n var iplb_lb1 = new LoadBalancer(\"iplb-lb1\", LoadBalancerArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .displayName(\"my ip loadbalancing\")\n .plan(LoadBalancerPlanArgs.builder()\n .duration(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(iplb.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .planOptions(LoadBalancerPlanOptionArgs.builder()\n .duration(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.selectedPrices()[0].duration()))\n .planCode(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.planCode()))\n .pricingMode(bhs.applyValue(getCartProductOptionsPlanResult -\u003e getCartProductOptionsPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iplb-lb1:\n type: ovh:IpLoadBalancing:LoadBalancer\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n displayName: my ip loadbalancing\n plan:\n duration: ${iplb.selectedPrices[0].duration}\n planCode: ${iplb.planCode}\n pricingMode: ${iplb.selectedPrices[0].pricingMode}\n planOptions:\n - duration: ${bhs.selectedPrices[0].duration}\n planCode: ${bhs.planCode}\n pricingMode: ${bhs.selectedPrices[0].pricingMode}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n iplb:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ipLoadbalancing\n planCode: iplb-lb1\n bhs:\n fn::invoke:\n Function: ovh:Order:getCartProductOptionsPlan\n Arguments:\n cartId: ${iplb.cartId}\n priceCapacity: ${iplb.priceCapacity}\n product: ${iplb.product}\n planCode: ${iplb.planCode}\n optionsPlanCode: iplb-zone-lb1-rbx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOVHcloud IP load balancing services can be imported using its `service_name`.\n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_iploadbalancing.iplb\n\n id = \"\u003cservice name\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=iplb.tf\n\n$ pulumi up\n\nThe file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "LoadBalancerURN": { "type": "string", @@ -16966,10 +17544,6 @@ "description": "Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of \"intermediate\", \"modern\".\n" } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering LoadBalancer resources.\n", "properties": { @@ -17183,8 +17757,6 @@ }, "required": [ "certificate", - "chain", - "displayName", "expireDate", "fingerprint", "key", @@ -18032,11 +18604,9 @@ } }, "required": [ - "displayName", "farmId", "port", "serviceName", - "vrackNetworkId", "zone" ], "inputProperties": { @@ -18136,9 +18706,7 @@ "required": [ "address", "backendId", - "displayName", "farmId", - "port", "serverId", "serviceName", "status" @@ -18254,10 +18822,7 @@ } }, "required": [ - "dedicatedIpfos", - "defaultFarmId", "disabled", - "displayName", "frontendId", "port", "serviceName", @@ -19303,7 +19868,7 @@ } }, "ovh:Okms/credential:Credential": { - "description": "Creates a credential for an OVHcloud KMS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst credNoCsr = new ovh.okms.Credential(\"credNoCsr\", {\n okmsId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identityUrns: [`urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}`],\n description: \"Credential without CSR\",\n});\nconst credFromCsr = new ovh.okms.Credential(\"credFromCsr\", {\n okmsId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identityUrns: [`urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}`],\n csr: fs.readFileSync(\"cred.csr\", \"utf8\"),\n description: \"Credential from CSR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\ncred_no_csr = ovh.okms.Credential(\"credNoCsr\",\n okms_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identity_urns=[f\"urn:v1:eu:identity:account:{data['ovh_me']['current_account']['nichandle']}\"],\n description=\"Credential without CSR\")\ncred_from_csr = ovh.okms.Credential(\"credFromCsr\",\n okms_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identity_urns=[f\"urn:v1:eu:identity:account:{data['ovh_me']['current_account']['nichandle']}\"],\n csr=(lambda path: open(path).read())(\"cred.csr\"),\n description=\"Credential from CSR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var credNoCsr = new Ovh.Okms.Credential(\"credNoCsr\", new()\n {\n OkmsId = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n IdentityUrns = new[]\n {\n $\"urn:v1:eu:identity:account:{data.Ovh_me.Current_account.Nichandle}\",\n },\n Description = \"Credential without CSR\",\n });\n\n var credFromCsr = new Ovh.Okms.Credential(\"credFromCsr\", new()\n {\n OkmsId = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n IdentityUrns = new[]\n {\n $\"urn:v1:eu:identity:account:{data.Ovh_me.Current_account.Nichandle}\",\n },\n Csr = File.ReadAllText(\"cred.csr\"),\n Description = \"Credential from CSR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Okms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Okms.NewCredential(ctx, \"credNoCsr\", \u0026Okms.CredentialArgs{\n\t\t\tOkmsId: pulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\tIdentityUrns: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"urn:v1:eu:identity:account:%v\", data.Ovh_me.Current_account.Nichandle),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Credential without CSR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Okms.NewCredential(ctx, \"credFromCsr\", \u0026Okms.CredentialArgs{\n\t\t\tOkmsId: pulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\tIdentityUrns: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"urn:v1:eu:identity:account:%v\", data.Ovh_me.Current_account.Nichandle),\n\t\t\t},\n\t\t\tCsr: pulumi.String(readFileOrPanic(\"cred.csr\")),\n\t\t\tDescription: pulumi.String(\"Credential from CSR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Okms.Credential;\nimport com.pulumi.ovh.Okms.CredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n var credNoCsr = new Credential(\"credNoCsr\", CredentialArgs.builder()\n .okmsId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .identityUrns(String.format(\"urn:v1:eu:identity:account:%s\", data.ovh_me().current_account().nichandle()))\n .description(\"Credential without CSR\")\n .build());\n\n var credFromCsr = new Credential(\"credFromCsr\", CredentialArgs.builder()\n .okmsId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .identityUrns(String.format(\"urn:v1:eu:identity:account:%s\", data.ovh_me().current_account().nichandle()))\n .csr(Files.readString(Paths.get(\"cred.csr\")))\n .description(\"Credential from CSR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n credNoCsr:\n type: ovh:Okms:Credential\n properties:\n okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n identityUrns:\n - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}\n description: Credential without CSR\n credFromCsr:\n type: ovh:Okms:Credential\n properties:\n okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n identityUrns:\n - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}\n csr:\n fn::readFile: cred.csr\n description: Credential from CSR\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Creates a credential for an OVHcloud KMS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst credNoCsr = new ovh.okms.Credential(\"credNoCsr\", {\n okmsId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identityUrns: [`urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}`],\n description: \"Credential without CSR\",\n});\nconst credFromCsr = new ovh.okms.Credential(\"credFromCsr\", {\n okmsId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identityUrns: [`urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}`],\n csr: fs.readFileSync(\"cred.csr\", \"utf8\"),\n description: \"Credential from CSR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\ncred_no_csr = ovh.okms.Credential(\"credNoCsr\",\n okms_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identity_urns=[f\"urn:v1:eu:identity:account:{data['ovh_me']['current_account']['nichandle']}\"],\n description=\"Credential without CSR\")\ncred_from_csr = ovh.okms.Credential(\"credFromCsr\",\n okms_id=\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n identity_urns=[f\"urn:v1:eu:identity:account:{data['ovh_me']['current_account']['nichandle']}\"],\n csr=(lambda path: open(path).read())(\"cred.csr\"),\n description=\"Credential from CSR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var credNoCsr = new Ovh.Okms.Credential(\"credNoCsr\", new()\n {\n OkmsId = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n IdentityUrns = new[]\n {\n $\"urn:v1:eu:identity:account:{data.Ovh_me.Current_account.Nichandle}\",\n },\n Description = \"Credential without CSR\",\n });\n\n var credFromCsr = new Ovh.Okms.Credential(\"credFromCsr\", new()\n {\n OkmsId = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n IdentityUrns = new[]\n {\n $\"urn:v1:eu:identity:account:{data.Ovh_me.Current_account.Nichandle}\",\n },\n Csr = File.ReadAllText(\"cred.csr\"),\n Description = \"Credential from CSR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Okms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Okms.NewCredential(ctx, \"credNoCsr\", \u0026Okms.CredentialArgs{\n\t\t\tOkmsId: pulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\tIdentityUrns: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"urn:v1:eu:identity:account:%v\", data.Ovh_me.Current_account.Nichandle),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Credential without CSR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Okms.NewCredential(ctx, \"credFromCsr\", \u0026Okms.CredentialArgs{\n\t\t\tOkmsId: pulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\tIdentityUrns: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"urn:v1:eu:identity:account:%v\", data.Ovh_me.Current_account.Nichandle),\n\t\t\t},\n\t\t\tCsr: pulumi.String(readFileOrPanic(\"cred.csr\")),\n\t\t\tDescription: pulumi.String(\"Credential from CSR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Okms.Credential;\nimport com.pulumi.ovh.Okms.CredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n var credNoCsr = new Credential(\"credNoCsr\", CredentialArgs.builder()\n .okmsId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .identityUrns(String.format(\"urn:v1:eu:identity:account:%s\", data.ovh_me().current_account().nichandle()))\n .description(\"Credential without CSR\")\n .build());\n\n var credFromCsr = new Credential(\"credFromCsr\", CredentialArgs.builder()\n .okmsId(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")\n .identityUrns(String.format(\"urn:v1:eu:identity:account:%s\", data.ovh_me().current_account().nichandle()))\n .csr(Files.readString(Paths.get(\"cred.csr\")))\n .description(\"Credential from CSR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n credNoCsr:\n type: ovh:Okms:Credential\n properties:\n okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n identityUrns:\n - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}\n description: Credential without CSR\n credFromCsr:\n type: ovh:Okms:Credential\n properties:\n okmsId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n identityUrns:\n - urn:v1:eu:identity:account:${data.ovh_me.current_account.nichandle}\n csr:\n fn::readFile: cred.csr\n description: Credential from CSR\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "certificatePem": { "type": "string", @@ -19814,7 +20379,6 @@ "netbootMode", "offerType", "order", - "ovhSubsidiary", "plans", "planOptions", "serviceName", @@ -19893,9 +20457,6 @@ "description": "OpenStask region where the VPS is located\n" } }, - "requiredInputs": [ - "ovhSubsidiary" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Vps resources.\n", "properties": { @@ -20135,7 +20696,7 @@ } }, "ovh:Vrack/ipAddress:IpAddress": { - "description": "Attach an IP block to a VRack.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst vrackCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"vrack\",\n planCode: \"vrack\",\n}));\nconst vrackVrack = new ovh.vrack.Vrack(\"vrackVrack\", {\n description: mycart.then(mycart =\u003e mycart.description),\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n plan: {\n duration: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.planCode),\n pricingMode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.pricingMode),\n },\n});\nconst ipblockCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ip\",\n planCode: \"ip-v4-s30-ripe\",\n}));\nconst ipblockIpService = new ovh.ip.IpService(\"ipblockIpService\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: mycart.then(mycart =\u003e mycart.description),\n plan: {\n duration: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.planCode),\n pricingMode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [{\n label: \"country\",\n value: \"FR\",\n }],\n },\n});\nconst vrackblock = new ovh.vrack.IpAddress(\"vrackblock\", {\n serviceName: vrackVrack.serviceName,\n block: ipblockIpService.ip,\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nvrack_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"vrack\",\n plan_code=\"vrack\")\nvrack_vrack = ovh.vrack.Vrack(\"vrackVrack\",\n description=mycart.description,\n ovh_subsidiary=mycart.ovh_subsidiary,\n plan={\n \"duration\": vrack_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": vrack_cart_product_plan.plan_code,\n \"pricing_mode\": vrack_cart_product_plan.selected_prices[0].pricing_mode,\n })\nipblock_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ip\",\n plan_code=\"ip-v4-s30-ripe\")\nipblock_ip_service = ovh.ip.IpService(\"ipblockIpService\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=mycart.description,\n plan={\n \"duration\": ipblock_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": ipblock_cart_product_plan.plan_code,\n \"pricing_mode\": ipblock_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [{\n \"label\": \"country\",\n \"value\": \"FR\",\n }],\n })\nvrackblock = ovh.vrack.IpAddress(\"vrackblock\",\n service_name=vrack_vrack.service_name,\n block=ipblock_ip_service.ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var vrackCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"vrack\",\n PlanCode = \"vrack\",\n });\n\n var vrackVrack = new Ovh.Vrack.Vrack(\"vrackVrack\", new()\n {\n Description = mycart.Apply(getCartResult =\u003e getCartResult.Description),\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Plan = new Ovh.Vrack.Inputs.VrackPlanArgs\n {\n Duration = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n });\n\n var ipblockCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ip\",\n PlanCode = \"ip-v4-s30-ripe\",\n });\n\n var ipblockIpService = new Ovh.Ip.IpService(\"ipblockIpService\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = mycart.Apply(getCartResult =\u003e getCartResult.Description),\n Plan = new Ovh.Ip.Inputs.IpServicePlanArgs\n {\n Duration = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Ip.Inputs.IpServicePlanConfigurationArgs\n {\n Label = \"country\",\n Value = \"FR\",\n },\n },\n },\n });\n\n var vrackblock = new Ovh.Vrack.IpAddress(\"vrackblock\", new()\n {\n ServiceName = vrackVrack.ServiceName,\n Block = ipblockIpService.Ip,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Ip\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"vrack\",\n\t\t\tPlanCode: \"vrack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackVrack, err := Vrack.NewVrack(ctx, \"vrackVrack\", \u0026Vrack.VrackArgs{\n\t\t\tDescription: pulumi.String(mycart.Description),\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tPlan: \u0026vrack.VrackPlanArgs{\n\t\t\t\tDuration: pulumi.String(vrackCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(vrackCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(vrackCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ip\",\n\t\t\tPlanCode: \"ip-v4-s30-ripe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockIpService, err := Ip.NewIpService(ctx, \"ipblockIpService\", \u0026Ip.IpServiceArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(mycart.Description),\n\t\t\tPlan: \u0026ip.IpServicePlanArgs{\n\t\t\t\tDuration: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(ipblockCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: ip.IpServicePlanConfigurationArray{\n\t\t\t\t\t\u0026ip.IpServicePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"country\"),\n\t\t\t\t\t\tValue: pulumi.String(\"FR\"),\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 = Vrack.NewIpAddress(ctx, \"vrackblock\", \u0026Vrack.IpAddressArgs{\n\t\t\tServiceName: vrackVrack.ServiceName,\n\t\t\tBlock: ipblockIpService.Ip,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Vrack.Vrack;\nimport com.pulumi.ovh.Vrack.VrackArgs;\nimport com.pulumi.ovh.Vrack.inputs.VrackPlanArgs;\nimport com.pulumi.ovh.Ip.IpService;\nimport com.pulumi.ovh.Ip.IpServiceArgs;\nimport com.pulumi.ovh.Ip.inputs.IpServicePlanArgs;\nimport com.pulumi.ovh.Vrack.IpAddress;\nimport com.pulumi.ovh.Vrack.IpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var vrackCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"vrack\")\n .planCode(\"vrack\")\n .build());\n\n var vrackVrack = new Vrack(\"vrackVrack\", VrackArgs.builder()\n .description(mycart.applyValue(getCartResult -\u003e getCartResult.description()))\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .plan(VrackPlanArgs.builder()\n .duration(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n final var ipblockCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ip\")\n .planCode(\"ip-v4-s30-ripe\")\n .build());\n\n var ipblockIpService = new IpService(\"ipblockIpService\", IpServiceArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(mycart.applyValue(getCartResult -\u003e getCartResult.description()))\n .plan(IpServicePlanArgs.builder()\n .duration(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations(IpServicePlanConfigurationArgs.builder()\n .label(\"country\")\n .value(\"FR\")\n .build())\n .build())\n .build());\n\n var vrackblock = new IpAddress(\"vrackblock\", IpAddressArgs.builder()\n .serviceName(vrackVrack.serviceName())\n .block(ipblockIpService.ip())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vrackVrack:\n type: ovh:Vrack:Vrack\n properties:\n description: ${mycart.description}\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n plan:\n duration: ${vrackCartProductPlan.selectedPrices[0].duration}\n planCode: ${vrackCartProductPlan.planCode}\n pricingMode: ${vrackCartProductPlan.selectedPrices[0].pricingMode}\n ipblockIpService:\n type: ovh:Ip:IpService\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: ${mycart.description}\n plan:\n duration: ${ipblockCartProductPlan.selectedPrices[0].duration}\n planCode: ${ipblockCartProductPlan.planCode}\n pricingMode: ${ipblockCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: country\n value: FR\n vrackblock:\n type: ovh:Vrack:IpAddress\n properties:\n serviceName: ${vrackVrack.serviceName}\n block: ${ipblockIpService.ip}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n vrackCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: vrack\n planCode: vrack\n ipblockCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ip\n planCode: ip-v4-s30-ripe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attach an IP block to a VRack.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst vrackCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"vrack\",\n planCode: \"vrack\",\n}));\nconst vrackVrack = new ovh.vrack.Vrack(\"vrackVrack\", {\n description: mycart.then(mycart =\u003e mycart.description),\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n plan: {\n duration: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.planCode),\n pricingMode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.pricingMode),\n },\n});\nconst ipblockCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"ip\",\n planCode: \"ip-v4-s30-ripe\",\n}));\nconst ipblockIpService = new ovh.ip.IpService(\"ipblockIpService\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: mycart.then(mycart =\u003e mycart.description),\n plan: {\n duration: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.planCode),\n pricingMode: ipblockCartProductPlan.then(ipblockCartProductPlan =\u003e ipblockCartProductPlan.selectedPrices?.[0]?.pricingMode),\n configurations: [{\n label: \"country\",\n value: \"FR\",\n }],\n },\n});\nconst vrackblock = new ovh.vrack.IpAddress(\"vrackblock\", {\n serviceName: vrackVrack.serviceName,\n block: ipblockIpService.ip,\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nvrack_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"vrack\",\n plan_code=\"vrack\")\nvrack_vrack = ovh.vrack.Vrack(\"vrackVrack\",\n description=mycart.description,\n ovh_subsidiary=mycart.ovh_subsidiary,\n plan={\n \"duration\": vrack_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": vrack_cart_product_plan.plan_code,\n \"pricing_mode\": vrack_cart_product_plan.selected_prices[0].pricing_mode,\n })\nipblock_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"ip\",\n plan_code=\"ip-v4-s30-ripe\")\nipblock_ip_service = ovh.ip.IpService(\"ipblockIpService\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=mycart.description,\n plan={\n \"duration\": ipblock_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": ipblock_cart_product_plan.plan_code,\n \"pricing_mode\": ipblock_cart_product_plan.selected_prices[0].pricing_mode,\n \"configurations\": [{\n \"label\": \"country\",\n \"value\": \"FR\",\n }],\n })\nvrackblock = ovh.vrack.IpAddress(\"vrackblock\",\n service_name=vrack_vrack.service_name,\n block=ipblock_ip_service.ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var vrackCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"vrack\",\n PlanCode = \"vrack\",\n });\n\n var vrackVrack = new Ovh.Vrack.Vrack(\"vrackVrack\", new()\n {\n Description = mycart.Apply(getCartResult =\u003e getCartResult.Description),\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Plan = new Ovh.Vrack.Inputs.VrackPlanArgs\n {\n Duration = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n });\n\n var ipblockCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"ip\",\n PlanCode = \"ip-v4-s30-ripe\",\n });\n\n var ipblockIpService = new Ovh.Ip.IpService(\"ipblockIpService\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = mycart.Apply(getCartResult =\u003e getCartResult.Description),\n Plan = new Ovh.Ip.Inputs.IpServicePlanArgs\n {\n Duration = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = ipblockCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n Configurations = new[]\n {\n new Ovh.Ip.Inputs.IpServicePlanConfigurationArgs\n {\n Label = \"country\",\n Value = \"FR\",\n },\n },\n },\n });\n\n var vrackblock = new Ovh.Vrack.IpAddress(\"vrackblock\", new()\n {\n ServiceName = vrackVrack.ServiceName,\n Block = ipblockIpService.Ip,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Ip\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"vrack\",\n\t\t\tPlanCode: \"vrack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackVrack, err := Vrack.NewVrack(ctx, \"vrackVrack\", \u0026Vrack.VrackArgs{\n\t\t\tDescription: pulumi.String(mycart.Description),\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tPlan: \u0026vrack.VrackPlanArgs{\n\t\t\t\tDuration: pulumi.String(vrackCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(vrackCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(vrackCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"ip\",\n\t\t\tPlanCode: \"ip-v4-s30-ripe\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tipblockIpService, err := Ip.NewIpService(ctx, \"ipblockIpService\", \u0026Ip.IpServiceArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(mycart.Description),\n\t\t\tPlan: \u0026ip.IpServicePlanArgs{\n\t\t\t\tDuration: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(ipblockCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(ipblockCartProductPlan.SelectedPrices[0].PricingMode),\n\t\t\t\tConfigurations: ip.IpServicePlanConfigurationArray{\n\t\t\t\t\t\u0026ip.IpServicePlanConfigurationArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"country\"),\n\t\t\t\t\t\tValue: pulumi.String(\"FR\"),\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 = Vrack.NewIpAddress(ctx, \"vrackblock\", \u0026Vrack.IpAddressArgs{\n\t\t\tServiceName: vrackVrack.ServiceName,\n\t\t\tBlock: ipblockIpService.Ip,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Vrack.Vrack;\nimport com.pulumi.ovh.Vrack.VrackArgs;\nimport com.pulumi.ovh.Vrack.inputs.VrackPlanArgs;\nimport com.pulumi.ovh.Ip.IpService;\nimport com.pulumi.ovh.Ip.IpServiceArgs;\nimport com.pulumi.ovh.Ip.inputs.IpServicePlanArgs;\nimport com.pulumi.ovh.Vrack.IpAddress;\nimport com.pulumi.ovh.Vrack.IpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var vrackCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"vrack\")\n .planCode(\"vrack\")\n .build());\n\n var vrackVrack = new Vrack(\"vrackVrack\", VrackArgs.builder()\n .description(mycart.applyValue(getCartResult -\u003e getCartResult.description()))\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .plan(VrackPlanArgs.builder()\n .duration(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n final var ipblockCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"ip\")\n .planCode(\"ip-v4-s30-ripe\")\n .build());\n\n var ipblockIpService = new IpService(\"ipblockIpService\", IpServiceArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(mycart.applyValue(getCartResult -\u003e getCartResult.description()))\n .plan(IpServicePlanArgs.builder()\n .duration(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(ipblockCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .configurations(IpServicePlanConfigurationArgs.builder()\n .label(\"country\")\n .value(\"FR\")\n .build())\n .build())\n .build());\n\n var vrackblock = new IpAddress(\"vrackblock\", IpAddressArgs.builder()\n .serviceName(vrackVrack.serviceName())\n .block(ipblockIpService.ip())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vrackVrack:\n type: ovh:Vrack:Vrack\n properties:\n description: ${mycart.description}\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n plan:\n duration: ${vrackCartProductPlan.selectedPrices[0].duration}\n planCode: ${vrackCartProductPlan.planCode}\n pricingMode: ${vrackCartProductPlan.selectedPrices[0].pricingMode}\n ipblockIpService:\n type: ovh:Ip:IpService\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: ${mycart.description}\n plan:\n duration: ${ipblockCartProductPlan.selectedPrices[0].duration}\n planCode: ${ipblockCartProductPlan.planCode}\n pricingMode: ${ipblockCartProductPlan.selectedPrices[0].pricingMode}\n configurations:\n - label: country\n value: FR\n vrackblock:\n type: ovh:Vrack:IpAddress\n properties:\n serviceName: ${vrackVrack.serviceName}\n block: ${ipblockIpService.ip}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n vrackCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: vrack\n planCode: vrack\n ipblockCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: ip\n planCode: ip-v4-s30-ripe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "block": { "type": "string", @@ -20260,7 +20821,7 @@ } }, "ovh:Vrack/vrack:Vrack": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst vrackCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"vrack\",\n planCode: \"vrack\",\n}));\nconst vrackVrack = new ovh.vrack.Vrack(\"vrackVrack\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: \"my vrack\",\n plan: {\n duration: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.planCode),\n pricingMode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.pricingMode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nvrack_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"vrack\",\n plan_code=\"vrack\")\nvrack_vrack = ovh.vrack.Vrack(\"vrackVrack\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=\"my vrack\",\n plan={\n \"duration\": vrack_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": vrack_cart_product_plan.plan_code,\n \"pricing_mode\": vrack_cart_product_plan.selected_prices[0].pricing_mode,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var vrackCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"vrack\",\n PlanCode = \"vrack\",\n });\n\n var vrackVrack = new Ovh.Vrack.Vrack(\"vrackVrack\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = \"my vrack\",\n Plan = new Ovh.Vrack.Inputs.VrackPlanArgs\n {\n Duration = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"vrack\",\n\t\t\tPlanCode: \"vrack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Vrack.NewVrack(ctx, \"vrackVrack\", \u0026Vrack.VrackArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(\"my vrack\"),\n\t\t\tPlan: \u0026vrack.VrackPlanArgs{\n\t\t\t\tDuration: pulumi.String(vrackCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(vrackCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(vrackCartProductPlan.SelectedPrices[0].PricingMode),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Vrack.Vrack;\nimport com.pulumi.ovh.Vrack.VrackArgs;\nimport com.pulumi.ovh.Vrack.inputs.VrackPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var vrackCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"vrack\")\n .planCode(\"vrack\")\n .build());\n\n var vrackVrack = new Vrack(\"vrackVrack\", VrackArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(\"my vrack\")\n .plan(VrackPlanArgs.builder()\n .duration(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vrackVrack:\n type: ovh:Vrack:Vrack\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: my vrack\n plan:\n duration: ${vrackCartProductPlan.selectedPrices[0].duration}\n planCode: ${vrackCartProductPlan.planCode}\n pricingMode: ${vrackCartProductPlan.selectedPrices[0].pricingMode}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n vrackCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: vrack\n planCode: vrack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvRack can be imported using the `service_name`.\n\nbash\n\n```sh\n$ pulumi import ovh:Vrack/vrack:Vrack vrack service_name\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@ovhcloud/pulumi-ovh\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst vrackCartProductPlan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"vrack\",\n planCode: \"vrack\",\n}));\nconst vrackVrack = new ovh.vrack.Vrack(\"vrackVrack\", {\n ovhSubsidiary: mycart.then(mycart =\u003e mycart.ovhSubsidiary),\n description: \"my vrack\",\n plan: {\n duration: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.duration),\n planCode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.planCode),\n pricingMode: vrackCartProductPlan.then(vrackCartProductPlan =\u003e vrackCartProductPlan.selectedPrices?.[0]?.pricingMode),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nvrack_cart_product_plan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"vrack\",\n plan_code=\"vrack\")\nvrack_vrack = ovh.vrack.Vrack(\"vrackVrack\",\n ovh_subsidiary=mycart.ovh_subsidiary,\n description=\"my vrack\",\n plan={\n \"duration\": vrack_cart_product_plan.selected_prices[0].duration,\n \"plan_code\": vrack_cart_product_plan.plan_code,\n \"pricing_mode\": vrack_cart_product_plan.selected_prices[0].pricing_mode,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var vrackCartProductPlan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"vrack\",\n PlanCode = \"vrack\",\n });\n\n var vrackVrack = new Ovh.Vrack.Vrack(\"vrackVrack\", new()\n {\n OvhSubsidiary = mycart.Apply(getCartResult =\u003e getCartResult.OvhSubsidiary),\n Description = \"my vrack\",\n Plan = new Ovh.Vrack.Inputs.VrackPlanArgs\n {\n Duration = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.Duration),\n PlanCode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.PlanCode),\n PricingMode = vrackCartProductPlan.Apply(getCartProductPlanResult =\u003e getCartProductPlanResult.SelectedPrices[0]?.PricingMode),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvrackCartProductPlan, err := Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"vrack\",\n\t\t\tPlanCode: \"vrack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Vrack.NewVrack(ctx, \"vrackVrack\", \u0026Vrack.VrackArgs{\n\t\t\tOvhSubsidiary: pulumi.String(mycart.OvhSubsidiary),\n\t\t\tDescription: pulumi.String(\"my vrack\"),\n\t\t\tPlan: \u0026vrack.VrackPlanArgs{\n\t\t\t\tDuration: pulumi.String(vrackCartProductPlan.SelectedPrices[0].Duration),\n\t\t\t\tPlanCode: pulumi.String(vrackCartProductPlan.PlanCode),\n\t\t\t\tPricingMode: pulumi.String(vrackCartProductPlan.SelectedPrices[0].PricingMode),\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport com.pulumi.ovh.Vrack.Vrack;\nimport com.pulumi.ovh.Vrack.VrackArgs;\nimport com.pulumi.ovh.Vrack.inputs.VrackPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var vrackCartProductPlan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"vrack\")\n .planCode(\"vrack\")\n .build());\n\n var vrackVrack = new Vrack(\"vrackVrack\", VrackArgs.builder()\n .ovhSubsidiary(mycart.applyValue(getCartResult -\u003e getCartResult.ovhSubsidiary()))\n .description(\"my vrack\")\n .plan(VrackPlanArgs.builder()\n .duration(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].duration()))\n .planCode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.planCode()))\n .pricingMode(vrackCartProductPlan.applyValue(getCartProductPlanResult -\u003e getCartProductPlanResult.selectedPrices()[0].pricingMode()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vrackVrack:\n type: ovh:Vrack:Vrack\n properties:\n ovhSubsidiary: ${mycart.ovhSubsidiary}\n description: my vrack\n plan:\n duration: ${vrackCartProductPlan.selectedPrices[0].duration}\n planCode: ${vrackCartProductPlan.planCode}\n pricingMode: ${vrackCartProductPlan.selectedPrices[0].pricingMode}\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n vrackCartProductPlan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: vrack\n planCode: vrack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA vRack can be imported using the `service_name`.\n\nUsing the following configuration:\n\nhcl\n\nimport {\n\n to = ovh_vrack.vrack\n\n id = \"\u003cservice name\u003e\"\n\n}\n\nYou can then run:\n\nbash\n\n$ pulumi preview -generate-config-out=vrack.tf\n\n$ pulumi up\n\nThe file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above.\n\nSee https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details.\n\n", "properties": { "VrackURN": { "type": "string", @@ -20356,10 +20917,6 @@ "willReplaceOnChanges": true } }, - "requiredInputs": [ - "ovhSubsidiary", - "plan" - ], "stateInputs": { "description": "Input properties used for looking up and filtering Vrack resources.\n", "properties": { @@ -20511,7 +21068,7 @@ } }, "ovh:Cloud/getProjects:getProjects": { - "description": "Get the details of your public cloud projects.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst projects = ovh.Cloud.getProjects({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nprojects = ovh.Cloud.get_projects()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var projects = Ovh.Cloud.GetProjects.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Cloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cloud.GetProjects(ctx, nil, 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.ovh.Cloud.CloudFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 projects = CloudFunctions.getProjects();\n\n }\n}\n```\n```yaml\nvariables:\n projects:\n fn::invoke:\n Function: ovh:Cloud:getProjects\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get the details of your public cloud projects.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst projects = ovh.Cloud.getProjects({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nprojects = ovh.Cloud.get_projects()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var projects = Ovh.Cloud.GetProjects.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Cloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cloud.GetProjects(ctx, map[string]interface{}{}, 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.ovh.Cloud.CloudFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 projects = CloudFunctions.getProjects();\n\n }\n}\n```\n```yaml\nvariables:\n projects:\n fn::invoke:\n Function: ovh:Cloud:getProjects\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getProjects.\n", "properties": { @@ -23354,6 +23911,120 @@ ] } }, + "ovh:CloudProject/getVolume:getVolume": { + "description": "Get information about a volume in a public cloud project\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst volume = ovh.CloudProject.getVolume({\n regionName: \"xxx\",\n serviceName: \"yyy\",\n volumeId: \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nvolume = ovh.CloudProject.get_volume(region_name=\"xxx\",\n service_name=\"yyy\",\n volume_id=\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volume = Ovh.CloudProject.GetVolume.Invoke(new()\n {\n RegionName = \"xxx\",\n ServiceName = \"yyy\",\n VolumeId = \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.GetVolume(ctx, \u0026cloudproject.GetVolumeArgs{\n\t\t\tRegionName: \"xxx\",\n\t\t\tServiceName: \"yyy\",\n\t\t\tVolumeId: \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\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.ovh.CloudProject.CloudProjectFunctions;\nimport com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()\n .regionName(\"xxx\")\n .serviceName(\"yyy\")\n .volumeId(\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n volume:\n fn::invoke:\n Function: ovh:CloudProject:getVolume\n Arguments:\n regionName: xxx\n serviceName: yyy\n volumeId: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getVolume.\n", + "properties": { + "regionName": { + "type": "string", + "description": "A valid OVHcloud public cloud region name in which the volume is available. Ex.: \"GRA11\".\n" + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project.\n" + }, + "volumeId": { + "type": "string", + "description": "Volume id to get the informations\n" + } + }, + "type": "object", + "required": [ + "regionName", + "serviceName", + "volumeId" + ] + }, + "outputs": { + "description": "A collection of values returned by getVolume.\n", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "The name of the volume (E.g.: \"GRA\", meaning Gravelines, for region \"GRA1\")\n" + }, + "regionName": { + "type": "string", + "description": "The region name where volume is available\n" + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project.\n" + }, + "size": { + "type": "number", + "description": "The size of the volume\n" + }, + "volumeId": { + "type": "string", + "description": "The id of the volume\n" + } + }, + "type": "object", + "required": [ + "id", + "name", + "regionName", + "serviceName", + "size", + "volumeId" + ] + } + }, + "ovh:CloudProject/getVolumes:getVolumes": { + "description": "Get all the volume from a region of a public cloud project\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst volume = ovh.CloudProject.getVolume({\n regionName: \"xxx\",\n serviceName: \"yyy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nvolume = ovh.CloudProject.get_volume(region_name=\"xxx\",\n service_name=\"yyy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var volume = Ovh.CloudProject.GetVolume.Invoke(new()\n {\n RegionName = \"xxx\",\n ServiceName = \"yyy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := CloudProject.GetVolume(ctx, \u0026cloudproject.GetVolumeArgs{\n\t\t\tRegionName: \"xxx\",\n\t\t\tServiceName: \"yyy\",\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.ovh.CloudProject.CloudProjectFunctions;\nimport com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()\n .regionName(\"xxx\")\n .serviceName(\"yyy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n volume:\n fn::invoke:\n Function: ovh:CloudProject:getVolume\n Arguments:\n regionName: xxx\n serviceName: yyy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getVolumes.\n", + "properties": { + "regionName": { + "type": "string", + "description": "A valid OVHcloud public cloud region name in which the volumes are available. Ex.: \"GRA11\".\n" + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project.\n" + } + }, + "type": "object", + "required": [ + "regionName", + "serviceName" + ] + }, + "outputs": { + "description": "A collection of values returned by getVolumes.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "regionName": { + "type": "string", + "description": "The region name where volumes are available\n" + }, + "serviceName": { + "type": "string", + "description": "The id of the public cloud project.\n" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/ovh:CloudProject/getVolumesVolume:getVolumesVolume" + } + } + }, + "type": "object", + "required": [ + "regionName", + "serviceName", + "volumes", + "id" + ] + } + }, "ovh:CloudProjectDatabase/getCapabilities:getCapabilities": { "description": "Use this data source to get information about capabilities of a public cloud project.\n\n", "inputs": { @@ -24013,7 +24684,7 @@ } }, "ovh:CloudProjectDatabase/getDatabaseLogSubscriptions:getDatabaseLogSubscriptions": { - "description": "Use this data source to get the list of log subscrition for a cluster associated with a public cloud project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst subscriptions = ovh.CloudProjectDatabase.getDatabaseLogSubscriptions({\n serviceName: \"XXX\",\n engine: \"YYY\",\n clusterId: \"ZZZ\",\n});\nexport const subscriptionIds = subscriptions.then(subscriptions =\u003e subscriptions.subscriptionIds);\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nsubscriptions = ovh.CloudProjectDatabase.get_database_log_subscriptions(service_name=\"XXX\",\n engine=\"YYY\",\n cluster_id=\"ZZZ\")\npulumi.export(\"subscriptionIds\", subscriptions.subscription_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscriptions = Ovh.CloudProjectDatabase.GetDatabaseLogSubscriptions.Invoke(new()\n {\n ServiceName = \"XXX\",\n Engine = \"YYY\",\n ClusterId = \"ZZZ\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"subscriptionIds\"] = subscriptions.Apply(getDatabaseLogSubscriptionsResult =\u003e getDatabaseLogSubscriptionsResult.SubscriptionIds),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProjectDatabase\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubscriptions, err := CloudProjectDatabase.GetDatabaseLogSubscriptions(ctx, \u0026cloudprojectdatabase.GetDatabaseLogSubscriptionsArgs{\n\t\t\tServiceName: \"XXX\",\n\t\t\tEngine: \"YYY\",\n\t\t\tClusterId: \"ZZZ\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subscriptionIds\", subscriptions.SubscriptionIds)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;\nimport com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseLogSubscriptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subscriptions = CloudProjectDatabaseFunctions.getDatabaseLogSubscriptions(GetDatabaseLogSubscriptionsArgs.builder()\n .serviceName(\"XXX\")\n .engine(\"YYY\")\n .clusterId(\"ZZZ\")\n .build());\n\n ctx.export(\"subscriptionIds\", subscriptions.applyValue(getDatabaseLogSubscriptionsResult -\u003e getDatabaseLogSubscriptionsResult.subscriptionIds()));\n }\n}\n```\n```yaml\nvariables:\n subscriptions:\n fn::invoke:\n Function: ovh:CloudProjectDatabase:getDatabaseLogSubscriptions\n Arguments:\n serviceName: XXX\n engine: YYY\n clusterId: ZZZ\noutputs:\n subscriptionIds: ${subscriptions.subscriptionIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of log subscription for a cluster associated with a public cloud project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst subscriptions = ovh.CloudProjectDatabase.getDatabaseLogSubscriptions({\n serviceName: \"XXX\",\n engine: \"YYY\",\n clusterId: \"ZZZ\",\n});\nexport const subscriptionIds = subscriptions.then(subscriptions =\u003e subscriptions.subscriptionIds);\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nsubscriptions = ovh.CloudProjectDatabase.get_database_log_subscriptions(service_name=\"XXX\",\n engine=\"YYY\",\n cluster_id=\"ZZZ\")\npulumi.export(\"subscriptionIds\", subscriptions.subscription_ids)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscriptions = Ovh.CloudProjectDatabase.GetDatabaseLogSubscriptions.Invoke(new()\n {\n ServiceName = \"XXX\",\n Engine = \"YYY\",\n ClusterId = \"ZZZ\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"subscriptionIds\"] = subscriptions.Apply(getDatabaseLogSubscriptionsResult =\u003e getDatabaseLogSubscriptionsResult.SubscriptionIds),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProjectDatabase\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsubscriptions, err := CloudProjectDatabase.GetDatabaseLogSubscriptions(ctx, \u0026cloudprojectdatabase.GetDatabaseLogSubscriptionsArgs{\n\t\t\tServiceName: \"XXX\",\n\t\t\tEngine: \"YYY\",\n\t\t\tClusterId: \"ZZZ\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subscriptionIds\", subscriptions.SubscriptionIds)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ovh.CloudProjectDatabase.CloudProjectDatabaseFunctions;\nimport com.pulumi.ovh.CloudProjectDatabase.inputs.GetDatabaseLogSubscriptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 subscriptions = CloudProjectDatabaseFunctions.getDatabaseLogSubscriptions(GetDatabaseLogSubscriptionsArgs.builder()\n .serviceName(\"XXX\")\n .engine(\"YYY\")\n .clusterId(\"ZZZ\")\n .build());\n\n ctx.export(\"subscriptionIds\", subscriptions.applyValue(getDatabaseLogSubscriptionsResult -\u003e getDatabaseLogSubscriptionsResult.subscriptionIds()));\n }\n}\n```\n```yaml\nvariables:\n subscriptions:\n fn::invoke:\n Function: ovh:CloudProjectDatabase:getDatabaseLogSubscriptions\n Arguments:\n serviceName: XXX\n engine: YYY\n clusterId: ZZZ\noutputs:\n subscriptionIds: ${subscriptions.subscriptionIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDatabaseLogSubscriptions.\n", "properties": { @@ -25396,6 +26067,98 @@ ] } }, + "ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex": { + "description": "Use this data source to retrieve information about a DBaas logs output opensearch index.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst index = ovh.Dbaas.getLogsOutputOpenSearchIndex({\n name: \"index-name\",\n serviceName: \"ldp-xx-xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nindex = ovh.Dbaas.get_logs_output_open_search_index(name=\"index-name\",\n service_name=\"ldp-xx-xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var index = Ovh.Dbaas.GetLogsOutputOpenSearchIndex.Invoke(new()\n {\n Name = \"index-name\",\n ServiceName = \"ldp-xx-xxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Dbaas.GetLogsOutputOpenSearchIndex(ctx, \u0026dbaas.GetLogsOutputOpenSearchIndexArgs{\n\t\t\tName: \"index-name\",\n\t\t\tServiceName: \"ldp-xx-xxxxx\",\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.ovh.Dbaas.DbaasFunctions;\nimport com.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 index = DbaasFunctions.getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs.builder()\n .name(\"index-name\")\n .serviceName(\"ldp-xx-xxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n index:\n fn::invoke:\n Function: ovh:Dbaas:getLogsOutputOpenSearchIndex\n Arguments:\n name: index-name\n serviceName: ldp-xx-xxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getLogsOutputOpenSearchIndex.\n", + "properties": { + "name": { + "type": "string", + "description": "Index name\n" + }, + "nbShard": { + "type": "integer", + "description": "Number of shard\n" + }, + "serviceName": { + "type": "string", + "description": "The service name. It's the ID of your Logs Data Platform instance.\n" + } + }, + "type": "object", + "required": [ + "name", + "serviceName" + ] + }, + "outputs": { + "description": "A collection of values returned by getLogsOutputOpenSearchIndex.\n", + "properties": { + "alertNotifyEnabled": { + "type": "boolean", + "description": "If set, notify when size is near 80, 90 or 100 % of its maximum capacity\n" + }, + "createdAt": { + "type": "string", + "description": "Index creation\n" + }, + "currentSize": { + "type": "integer", + "description": "Current index size (in bytes)\n" + }, + "description": { + "type": "string", + "description": "Index description\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "indexId": { + "type": "string", + "description": "Index ID\n" + }, + "isEditable": { + "type": "boolean", + "description": "Indicates if you are allowed to edit entry\n" + }, + "maxSize": { + "type": "integer", + "description": "Maximum index size (in bytes)\n" + }, + "name": { + "type": "string", + "description": "Index name\n" + }, + "nbShard": { + "type": "integer", + "description": "Number of shard\n" + }, + "serviceName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "description": "Index last update\n" + } + }, + "type": "object", + "required": [ + "alertNotifyEnabled", + "createdAt", + "currentSize", + "description", + "indexId", + "isEditable", + "maxSize", + "name", + "nbShard", + "serviceName", + "updatedAt", + "id" + ] + } + }, "ovh:Dedicated/getCeph:getCeph": { "description": "Use this data source to retrieve information about a dedicated CEPH. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst my-ceph = ovh.Dedicated.getCeph({\n serviceName: \"XXXXXX\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_ceph = ovh.Dedicated.get_ceph(service_name=\"XXXXXX\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var my_ceph = Ovh.Dedicated.GetCeph.Invoke(new()\n {\n ServiceName = \"XXXXXX\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dedicated\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Dedicated.GetCeph(ctx, \u0026dedicated.GetCephArgs{\n\t\t\tServiceName: \"XXXXXX\",\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.ovh.Dedicated.DedicatedFunctions;\nimport com.pulumi.ovh.Dedicated.inputs.GetCephArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 my-ceph = DedicatedFunctions.getCeph(GetCephArgs.builder()\n .serviceName(\"XXXXXX\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n my-ceph:\n fn::invoke:\n Function: ovh:Dedicated:getCeph\n Arguments:\n serviceName: XXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -26401,7 +27164,7 @@ } }, "ovh:Iam/getPolicies:getPolicies": { - "description": "Use this data source to list the existing IAM policies of an account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myPolicies = ovh.Iam.getPolicies({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_policies = ovh.Iam.get_policies()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myPolicies = Ovh.Iam.GetPolicies.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetPolicies(ctx, nil, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myPolicies = IamFunctions.getPolicies();\n\n }\n}\n```\n```yaml\nvariables:\n myPolicies:\n fn::invoke:\n Function: ovh:Iam:getPolicies\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to list the existing IAM policies of an account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myPolicies = ovh.Iam.getPolicies({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_policies = ovh.Iam.get_policies()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myPolicies = Ovh.Iam.GetPolicies.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetPolicies(ctx, map[string]interface{}{}, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myPolicies = IamFunctions.getPolicies();\n\n }\n}\n```\n```yaml\nvariables:\n myPolicies:\n fn::invoke:\n Function: ovh:Iam:getPolicies\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getPolicies.\n", "properties": { @@ -26599,7 +27362,7 @@ } }, "ovh:Iam/getReferenceResourceType:getReferenceResourceType": { - "description": "Use this data source to list all the IAM resource types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst types = ovh.Iam.getReferenceResourceType({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntypes = ovh.Iam.get_reference_resource_type()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var types = Ovh.Iam.GetReferenceResourceType.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetReferenceResourceType(ctx, nil, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 types = IamFunctions.getReferenceResourceType();\n\n }\n}\n```\n```yaml\nvariables:\n types:\n fn::invoke:\n Function: ovh:Iam:getReferenceResourceType\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to list all the IAM resource types.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst types = ovh.Iam.getReferenceResourceType({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntypes = ovh.Iam.get_reference_resource_type()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var types = Ovh.Iam.GetReferenceResourceType.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetReferenceResourceType(ctx, map[string]interface{}{}, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 types = IamFunctions.getReferenceResourceType();\n\n }\n}\n```\n```yaml\nvariables:\n types:\n fn::invoke:\n Function: ovh:Iam:getReferenceResourceType\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getReferenceResourceType.\n", "properties": { @@ -26689,7 +27452,7 @@ } }, "ovh:Iam/getResourceGroups:getResourceGroups": { - "description": "Use this data source to list the existing IAM policies of an account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myGroups = ovh.Iam.getResourceGroups({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_groups = ovh.Iam.get_resource_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myGroups = Ovh.Iam.GetResourceGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetResourceGroups(ctx, nil, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myGroups = IamFunctions.getResourceGroups();\n\n }\n}\n```\n```yaml\nvariables:\n myGroups:\n fn::invoke:\n Function: ovh:Iam:getResourceGroups\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to list the existing IAM policies of an account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myGroups = ovh.Iam.getResourceGroups({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_groups = ovh.Iam.get_resource_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myGroups = Ovh.Iam.GetResourceGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Iam.GetResourceGroups(ctx, map[string]interface{}{}, 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.ovh.Iam.IamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myGroups = IamFunctions.getResourceGroups();\n\n }\n}\n```\n```yaml\nvariables:\n myGroups:\n fn::invoke:\n Function: ovh:Iam:getResourceGroups\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getResourceGroups.\n", "properties": { @@ -27264,7 +28027,7 @@ } }, "ovh:Me/getAPIOAuth2Clients:getAPIOAuth2Clients": { - "description": "Use this data source to retrieve information the list of existing OAuth2 service account IDs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myOauth2Clients = ovh.Me.getAPIOAuth2Client({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_oauth2_clients = ovh.Me.get_apio_auth2_client()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOauth2Clients = Ovh.Me.GetAPIOAuth2Client.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetAPIOAuth2Client(ctx, nil, 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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Me.inputs.GetAPIOAuth2ClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myOauth2Clients = MeFunctions.getAPIOAuth2Client();\n\n }\n}\n```\n```yaml\nvariables:\n myOauth2Clients:\n fn::invoke:\n Function: ovh:Me:getAPIOAuth2Client\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information the list of existing OAuth2 service account IDs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myOauth2Clients = ovh.Me.getAPIOAuth2Client({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmy_oauth2_clients = ovh.Me.get_apio_auth2_client()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myOauth2Clients = Ovh.Me.GetAPIOAuth2Client.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetAPIOAuth2Client(ctx, \u0026me.GetAPIOAuth2ClientArgs{}, 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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Me.inputs.GetAPIOAuth2ClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myOauth2Clients = MeFunctions.getAPIOAuth2Client();\n\n }\n}\n```\n```yaml\nvariables:\n myOauth2Clients:\n fn::invoke:\n Function: ovh:Me:getAPIOAuth2Client\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getAPIOAuth2Clients.\n", "properties": { @@ -27351,7 +28114,7 @@ } }, "ovh:Me/getIdentityGroups:getIdentityGroups": { - "description": "Use this data source to retrieve the list of the account's identity groups\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst groups = ovh.Me.getIdentityGroups({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ngroups = ovh.Me.get_identity_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Ovh.Me.GetIdentityGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetIdentityGroups(ctx, nil, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 groups = MeFunctions.getIdentityGroups();\n\n }\n}\n```\n```yaml\nvariables:\n groups:\n fn::invoke:\n Function: ovh:Me:getIdentityGroups\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve the list of the account's identity groups\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst groups = ovh.Me.getIdentityGroups({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ngroups = ovh.Me.get_identity_groups()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var groups = Ovh.Me.GetIdentityGroups.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetIdentityGroups(ctx, map[string]interface{}{}, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 groups = MeFunctions.getIdentityGroups();\n\n }\n}\n```\n```yaml\nvariables:\n groups:\n fn::invoke:\n Function: ovh:Me:getIdentityGroups\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getIdentityGroups.\n", "properties": { @@ -27453,7 +28216,7 @@ } }, "ovh:Me/getIdentityUsers:getIdentityUsers": { - "description": "Use this data source to retrieve list of user logins of the account's identity users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst users = ovh.Me.getIdentityUsers({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nusers = ovh.Me.get_identity_users()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Ovh.Me.GetIdentityUsers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetIdentityUsers(ctx, nil, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 users = MeFunctions.getIdentityUsers();\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: ovh:Me:getIdentityUsers\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve list of user logins of the account's identity users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst users = ovh.Me.getIdentityUsers({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nusers = ovh.Me.get_identity_users()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var users = Ovh.Me.GetIdentityUsers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetIdentityUsers(ctx, map[string]interface{}{}, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 users = MeFunctions.getIdentityUsers();\n\n }\n}\n```\n```yaml\nvariables:\n users:\n fn::invoke:\n Function: ovh:Me:getIdentityUsers\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getIdentityUsers.\n", "properties": { @@ -27596,7 +28359,7 @@ } }, "ovh:Me/getInstallationTemplates:getInstallationTemplates": { - "description": "Use this data source to get the list of custom installation templates available for dedicated servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst templates = ovh.Me.getInstallationTemplates({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntemplates = ovh.Me.get_installation_templates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var templates = Ovh.Me.GetInstallationTemplates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetInstallationTemplates(ctx, nil, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 templates = MeFunctions.getInstallationTemplates();\n\n }\n}\n```\n```yaml\nvariables:\n templates:\n fn::invoke:\n Function: ovh:Me:getInstallationTemplates\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of custom installation templates available for dedicated servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst templates = ovh.Me.getInstallationTemplates({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntemplates = ovh.Me.get_installation_templates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var templates = Ovh.Me.GetInstallationTemplates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetInstallationTemplates(ctx, map[string]interface{}{}, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 templates = MeFunctions.getInstallationTemplates();\n\n }\n}\n```\n```yaml\nvariables:\n templates:\n fn::invoke:\n Function: ovh:Me:getInstallationTemplates\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getInstallationTemplates.\n", "properties": { @@ -27620,7 +28383,7 @@ } }, "ovh:Me/getMe:getMe": { - "description": "Use this data source to get information about the current OVHcloud account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, nil, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get information about the current OVHcloud account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Me.GetMe(ctx, map[string]interface{}{}, 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.ovh.Me.MeFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getMe.\n", "properties": { @@ -28197,7 +28960,7 @@ } }, "ovh:Order/getCart:getCart": { - "description": "Use this data source to create a temporary order cart to retrieve information order cart products.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to create a temporary order cart to retrieve information order cart products.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCart.\n", "properties": { @@ -28272,7 +29035,7 @@ } }, "ovh:Order/getCartProduct:getCartProduct": { - "description": "Use this data source to retrieve information of order cart product products.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plans = mycart.then(mycart =\u003e ovh.Order.getCartProduct({\n cartId: mycart.id,\n product: \"...\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplans = ovh.Order.get_cart_product(cart_id=mycart.id,\n product=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plans = Ovh.Order.GetCartProduct.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n Product = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProduct(ctx, \u0026order.GetCartProductArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tProduct: \"...\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plans = OrderFunctions.getCartProduct(GetCartProductArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .product(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plans:\n fn::invoke:\n Function: ovh:Order:getCartProduct\n Arguments:\n cartId: ${mycart.id}\n product: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information of order cart product products.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plans = mycart.then(mycart =\u003e ovh.Order.getCartProduct({\n cartId: mycart.id,\n product: \"...\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplans = ovh.Order.get_cart_product(cart_id=mycart.id,\n product=\"...\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plans = Ovh.Order.GetCartProduct.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n Product = \"...\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProduct(ctx, \u0026order.GetCartProductArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tProduct: \"...\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plans = OrderFunctions.getCartProduct(GetCartProductArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .product(\"...\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plans:\n fn::invoke:\n Function: ovh:Order:getCartProduct\n Arguments:\n cartId: ${mycart.id}\n product: '...'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCartProduct.\n", "properties": { @@ -28322,7 +29085,7 @@ } }, "ovh:Order/getCartProductOptions:getCartProductOptions": { - "description": "Use this data source to retrieve information of order cart product options.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst options = mycart.then(mycart =\u003e ovh.Order.getCartProductOptions({\n cartId: mycart.id,\n product: \"cloud\",\n planCode: \"project\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\noptions = ovh.Order.get_cart_product_options(cart_id=mycart.id,\n product=\"cloud\",\n plan_code=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var options = Ovh.Order.GetCartProductOptions.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n Product = \"cloud\",\n PlanCode = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductOptions(ctx, \u0026order.GetCartProductOptionsArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var options = OrderFunctions.getCartProductOptions(GetCartProductOptionsArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .product(\"cloud\")\n .planCode(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n options:\n fn::invoke:\n Function: ovh:Order:getCartProductOptions\n Arguments:\n cartId: ${mycart.id}\n product: cloud\n planCode: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information of order cart product options.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst options = mycart.then(mycart =\u003e ovh.Order.getCartProductOptions({\n cartId: mycart.id,\n product: \"cloud\",\n planCode: \"project\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\noptions = ovh.Order.get_cart_product_options(cart_id=mycart.id,\n product=\"cloud\",\n plan_code=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var options = Ovh.Order.GetCartProductOptions.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n Product = \"cloud\",\n PlanCode = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductOptions(ctx, \u0026order.GetCartProductOptionsArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var options = OrderFunctions.getCartProductOptions(GetCartProductOptionsArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .product(\"cloud\")\n .planCode(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n options:\n fn::invoke:\n Function: ovh:Order:getCartProductOptions\n Arguments:\n cartId: ${mycart.id}\n product: cloud\n planCode: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCartProductOptions.\n", "properties": { @@ -28389,7 +29152,7 @@ } }, "ovh:Order/getCartProductOptionsPlan:getCartProductOptionsPlan": { - "description": "Use this data source to retrieve information of order cart product options plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plan = mycart.then(mycart =\u003e ovh.Order.getCartProductOptionsPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"cloud\",\n planCode: \"project\",\n optionsPlanCode: \"vrack\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplan = ovh.Order.get_cart_product_options_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"cloud\",\n plan_code=\"project\",\n options_plan_code=\"vrack\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plan = Ovh.Order.GetCartProductOptionsPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"cloud\",\n PlanCode = \"project\",\n OptionsPlanCode = \"vrack\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductOptionsPlan(ctx, \u0026order.GetCartProductOptionsPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\n\t\t\tOptionsPlanCode: \"vrack\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plan = OrderFunctions.getCartProductOptionsPlan(GetCartProductOptionsPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"cloud\")\n .planCode(\"project\")\n .optionsPlanCode(\"vrack\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plan:\n fn::invoke:\n Function: ovh:Order:getCartProductOptionsPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: cloud\n planCode: project\n optionsPlanCode: vrack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information of order cart product options plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plan = mycart.then(mycart =\u003e ovh.Order.getCartProductOptionsPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"cloud\",\n planCode: \"project\",\n optionsPlanCode: \"vrack\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplan = ovh.Order.get_cart_product_options_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"cloud\",\n plan_code=\"project\",\n options_plan_code=\"vrack\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plan = Ovh.Order.GetCartProductOptionsPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"cloud\",\n PlanCode = \"project\",\n OptionsPlanCode = \"vrack\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductOptionsPlan(ctx, \u0026order.GetCartProductOptionsPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\n\t\t\tOptionsPlanCode: \"vrack\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductOptionsPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plan = OrderFunctions.getCartProductOptionsPlan(GetCartProductOptionsPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"cloud\")\n .planCode(\"project\")\n .optionsPlanCode(\"vrack\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plan:\n fn::invoke:\n Function: ovh:Order:getCartProductOptionsPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: cloud\n planCode: project\n optionsPlanCode: vrack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCartProductOptionsPlan.\n", "properties": { @@ -28507,7 +29270,7 @@ } }, "ovh:Order/getCartProductPlan:getCartProductPlan": { - "description": "Use this data source to retrieve information of order cart product plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"cloud\",\n planCode: \"project\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"cloud\",\n plan_code=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"cloud\",\n PlanCode = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"cloud\")\n .planCode(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: cloud\n planCode: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to retrieve information of order cart product plan.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst myaccount = ovh.Me.getMe({});\nconst mycart = myaccount.then(myaccount =\u003e ovh.Order.getCart({\n ovhSubsidiary: myaccount.ovhSubsidiary,\n}));\nconst plan = mycart.then(mycart =\u003e ovh.Order.getCartProductPlan({\n cartId: mycart.id,\n priceCapacity: \"renew\",\n product: \"cloud\",\n planCode: \"project\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nmyaccount = ovh.Me.get_me()\nmycart = ovh.Order.get_cart(ovh_subsidiary=myaccount.ovh_subsidiary)\nplan = ovh.Order.get_cart_product_plan(cart_id=mycart.id,\n price_capacity=\"renew\",\n product=\"cloud\",\n plan_code=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myaccount = Ovh.Me.GetMe.Invoke();\n\n var mycart = Ovh.Order.GetCart.Invoke(new()\n {\n OvhSubsidiary = myaccount.Apply(getMeResult =\u003e getMeResult.OvhSubsidiary),\n });\n\n var plan = Ovh.Order.GetCartProductPlan.Invoke(new()\n {\n CartId = mycart.Apply(getCartResult =\u003e getCartResult.Id),\n PriceCapacity = \"renew\",\n Product = \"cloud\",\n PlanCode = \"project\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me\"\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Order\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmycart, err := Order.GetCart(ctx, \u0026order.GetCartArgs{\n\t\t\tOvhSubsidiary: myaccount.OvhSubsidiary,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Order.GetCartProductPlan(ctx, \u0026order.GetCartProductPlanArgs{\n\t\t\tCartId: mycart.Id,\n\t\t\tPriceCapacity: \"renew\",\n\t\t\tProduct: \"cloud\",\n\t\t\tPlanCode: \"project\",\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.ovh.Me.MeFunctions;\nimport com.pulumi.ovh.Order.OrderFunctions;\nimport com.pulumi.ovh.Order.inputs.GetCartArgs;\nimport com.pulumi.ovh.Order.inputs.GetCartProductPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 myaccount = MeFunctions.getMe();\n\n final var mycart = OrderFunctions.getCart(GetCartArgs.builder()\n .ovhSubsidiary(myaccount.applyValue(getMeResult -\u003e getMeResult.ovhSubsidiary()))\n .build());\n\n final var plan = OrderFunctions.getCartProductPlan(GetCartProductPlanArgs.builder()\n .cartId(mycart.applyValue(getCartResult -\u003e getCartResult.id()))\n .priceCapacity(\"renew\")\n .product(\"cloud\")\n .planCode(\"project\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myaccount:\n fn::invoke:\n Function: ovh:Me:getMe\n Arguments: {}\n mycart:\n fn::invoke:\n Function: ovh:Order:getCart\n Arguments:\n ovhSubsidiary: ${myaccount.ovhSubsidiary}\n plan:\n fn::invoke:\n Function: ovh:Order:getCartProductPlan\n Arguments:\n cartId: ${mycart.id}\n priceCapacity: renew\n product: cloud\n planCode: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getCartProductPlan.\n", "properties": { @@ -28722,7 +29485,7 @@ } }, "ovh:Vps/getVpss:getVpss": { - "description": "Use this data source to get the list of VPS associated with your OVH Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst servers = ovh.Vps.getVpss({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nservers = ovh.Vps.get_vpss()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servers = Ovh.Vps.GetVpss.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vps.GetVpss(ctx, nil, 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.ovh.Vps.VpsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servers = VpsFunctions.getVpss();\n\n }\n}\n```\n```yaml\nvariables:\n servers:\n fn::invoke:\n Function: ovh:Vps:getVpss\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of VPS associated with your OVH Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst servers = ovh.Vps.getVpss({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nservers = ovh.Vps.get_vpss()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servers = Ovh.Vps.GetVpss.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vps\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vps.GetVpss(ctx, map[string]interface{}{}, 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.ovh.Vps.VpsFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servers = VpsFunctions.getVpss();\n\n }\n}\n```\n```yaml\nvariables:\n servers:\n fn::invoke:\n Function: ovh:Vps:getVpss\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getVpss.\n", "properties": { @@ -28746,7 +29509,7 @@ } }, "ovh:Vrack/getVracks:getVracks": { - "description": "Use this data source to get the list of Vrack IDs available for your OVHcloud account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst vracks = ovh.Vrack.getVracks({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nvracks = ovh.Vrack.get_vracks()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vracks = Ovh.Vrack.GetVracks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vrack.GetVracks(ctx, nil, 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.ovh.Vrack.VrackFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vracks = VrackFunctions.getVracks();\n\n }\n}\n```\n```yaml\nvariables:\n vracks:\n fn::invoke:\n Function: ovh:Vrack:getVracks\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of Vrack IDs available for your OVHcloud account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst vracks = ovh.Vrack.getVracks({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nvracks = ovh.Vrack.get_vracks()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vracks = Ovh.Vrack.GetVracks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh/Vrack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vrack.GetVracks(ctx, map[string]interface{}{}, 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.ovh.Vrack.VrackFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vracks = VrackFunctions.getVracks();\n\n }\n}\n```\n```yaml\nvariables:\n vracks:\n fn::invoke:\n Function: ovh:Vrack:getVracks\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getVracks.\n", "properties": { @@ -28889,7 +29652,7 @@ } }, "ovh:index/getInstallationTemplates:getInstallationTemplates": { - "description": "Use this data source to get the list of installation templates available for dedicated servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst templates = ovh.getInstallationTemplates({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntemplates = ovh.get_installation_templates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var templates = Ovh.GetInstallationTemplates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ovh.GetInstallationTemplates(ctx, nil, 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.ovh.OvhFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 templates = OvhFunctions.getInstallationTemplates();\n\n }\n}\n```\n```yaml\nvariables:\n templates:\n fn::invoke:\n Function: ovh:getInstallationTemplates\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of installation templates available for dedicated servers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst templates = ovh.getInstallationTemplates({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\ntemplates = ovh.get_installation_templates()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var templates = Ovh.GetInstallationTemplates.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ovh.GetInstallationTemplates(ctx, map[string]interface{}{}, 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.ovh.OvhFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 templates = OvhFunctions.getInstallationTemplates();\n\n }\n}\n```\n```yaml\nvariables:\n templates:\n fn::invoke:\n Function: ovh:getInstallationTemplates\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getInstallationTemplates.\n", "properties": { @@ -29081,7 +29844,7 @@ } }, "ovh:index/getServers:getServers": { - "description": "Use this data source to get the list of dedicated servers associated with your OVHcloud Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst servers = ovh.getServers({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nservers = ovh.get_servers()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servers = Ovh.GetServers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ovh.GetServers(ctx, nil, 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.ovh.OvhFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servers = OvhFunctions.getServers();\n\n }\n}\n```\n```yaml\nvariables:\n servers:\n fn::invoke:\n Function: ovh:getServers\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to get the list of dedicated servers associated with your OVHcloud Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ovh from \"@pulumi/ovh\";\n\nconst servers = ovh.getServers({});\n```\n```python\nimport pulumi\nimport pulumi_ovh as ovh\n\nservers = ovh.get_servers()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ovh = Pulumi.Ovh;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var servers = Ovh.GetServers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ovh/pulumi-ovh/sdk/go/ovh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ovh.GetServers(ctx, map[string]interface{}{}, 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.ovh.OvhFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 servers = OvhFunctions.getServers();\n\n }\n}\n```\n```yaml\nvariables:\n servers:\n fn::invoke:\n Function: ovh:getServers\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getServers.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 53849275..c4197ff5 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,15 +7,15 @@ toolchain go1.22.7 replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 require ( - github.com/ovh/terraform-provider-ovh v0.50.0 - github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1 - github.com/pulumi/pulumi/sdk/v3 v3.134.1 + github.com/ovh/terraform-provider-ovh v1.0.0 + github.com/pulumi/pulumi-terraform-bridge/pf v0.46.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.93.1 + github.com/pulumi/pulumi/sdk/v3 v3.136.1 ) require ( cloud.google.com/go v0.112.1 // indirect - cloud.google.com/go/compute/metadata v0.3.0 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/kms v1.15.7 // indirect cloud.google.com/go/logging v1.9.0 // indirect @@ -105,7 +105,7 @@ require ( github.com/hashicorp/go-getter v1.7.5 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.6.1 // indirect + github.com/hashicorp/go-plugin v1.6.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect @@ -123,9 +123,9 @@ require ( github.com/hashicorp/terraform-json v0.22.1 // indirect github.com/hashicorp/terraform-plugin-framework v1.12.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.24.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.25.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-mux v0.16.0 // indirect + github.com/hashicorp/terraform-plugin-mux v0.17.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.8.0 // indirect github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 // indirect github.com/hashicorp/terraform-plugin-testing v1.10.0 // indirect @@ -180,9 +180,8 @@ require ( github.com/pulumi/esc v0.10.0 // indirect github.com/pulumi/inflector v0.1.1 // indirect github.com/pulumi/pulumi-java/pkg v0.16.1 // indirect - github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.10.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.133.0 // indirect + github.com/pulumi/pulumi-yaml v1.10.3 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.136.1 // 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 @@ -228,8 +227,8 @@ require ( golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.19.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect + golang.org/x/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.25.0 // indirect golang.org/x/term v0.23.0 // indirect @@ -240,10 +239,10 @@ require ( google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.2 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index aeec404d..936fe1fc 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -308,8 +308,8 @@ cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZ cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= @@ -1378,8 +1378,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -1435,8 +1435,6 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= -github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= -github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1608,8 +1606,8 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI= -github.com/hashicorp/go-plugin v1.6.1 h1:P7MR2UP6gNKGPp+y7EZw2kOiq4IR9WiqLvp0XOsVdwI= -github.com/hashicorp/go-plugin v1.6.1/go.mod h1:XPHFku2tFo3o3QKFgSYo+cghcUhw1NA1hZyMK0PWAw0= +github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog= +github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q= github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= @@ -1662,12 +1660,12 @@ github.com/hashicorp/terraform-plugin-framework v1.12.0/go.mod h1:N/IOQ2uYjW60Jp github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.22.0/go.mod h1:mPULV91VKss7sik6KFEcEu7HuTogMLLO/EvWCuFkRVE= -github.com/hashicorp/terraform-plugin-go v0.24.0 h1:2WpHhginCdVhFIrWHxDEg6RBn3YaWzR2o6qUeIEat2U= -github.com/hashicorp/terraform-plugin-go v0.24.0/go.mod h1:tUQ53lAsOyYSckFGEefGC5C8BAaO0ENqzFd3bQeuYQg= +github.com/hashicorp/terraform-plugin-go v0.25.0 h1:oi13cx7xXA6QciMcpcFi/rwA974rdTxjqEhXJjbAyks= +github.com/hashicorp/terraform-plugin-go v0.25.0/go.mod h1:+SYagMYadJP86Kvn+TGeV+ofr/R3g4/If0O5sO96MVw= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-mux v0.16.0 h1:RCzXHGDYwUwwqfYYWJKBFaS3fQsWn/ZECEiW7p2023I= -github.com/hashicorp/terraform-plugin-mux v0.16.0/go.mod h1:PF79mAsPc8CpusXPfEVa4X8PtkB+ngWoiUClMrNZlYo= +github.com/hashicorp/terraform-plugin-mux v0.17.0 h1:/J3vv3Ps2ISkbLPiZOLspFcIZ0v5ycUXCEQScudGCCw= +github.com/hashicorp/terraform-plugin-mux v0.17.0/go.mod h1:yWuM9U1Jg8DryNfvCp+lH70WcYv6D8aooQxxxIzFDsE= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-sdk v1.8.0 h1:HE1p52nzcgz88hIJmapUnkmM9noEjV3QhTOLaua5XUA= github.com/hashicorp/terraform-plugin-sdk v1.8.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= @@ -1887,8 +1885,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI= github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c= -github.com/ovh/terraform-provider-ovh v0.50.0 h1:UYM5IC3M6fS8BFstbrG38TUNnGsCRdzG7irSDlt2BFs= -github.com/ovh/terraform-provider-ovh v0.50.0/go.mod h1:qvkIoF4poXfhWixwOHNL8Q2W72nbrlw6/RsTEY8jyt4= +github.com/ovh/terraform-provider-ovh v1.0.0 h1:Cn3I7lfR9jZ/UHFJngVDCfOQBAXyFmM5OwdSz3ymNkg= +github.com/ovh/terraform-provider-ovh v1.0.0/go.mod h1:jgem0dEBN1qT0EMgSic5QclBZKUXV3FbLS4NMAr+PeQ= github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= @@ -1926,28 +1924,20 @@ 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/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+SobA= github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= -github.com/pulumi/providertest v0.0.14 h1:5QlAPAAs82jkQraHsJvq1xgVfC7xtW8sFJwv2pHgxQ8= -github.com/pulumi/providertest v0.0.14/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= +github.com/pulumi/providertest v0.1.2 h1:9pJS9MeNkMyGwyNeHmvh8QqLgJy39Nk2/ym5u7r13ng= +github.com/pulumi/providertest v0.1.2/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= github.com/pulumi/pulumi-java/pkg v0.16.1 h1:orHnDWFbpOERwaBLry9f+6nqPX7x0MsrIkaa5QDGAns= github.com/pulumi/pulumi-java/pkg v0.16.1/go.mod h1:QH0DihZkWYle9XFc+LJ76m4hUo+fA3RdyaM90pqOaSM= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.0 h1:132fy7aKhfT3AdftxHFsOIbrh+FqtosXH8+cVFHt0TE= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.0/go.mod h1:5O1yEvWEP37s12Pu++LWcDcccvQWn87GLHQ4gTvjYh8= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1 h1:39UPLBqbnvylm2heU/Rxa1+G++NZHdtW2Qg+hEhp5Wo= -github.com/pulumi/pulumi-terraform-bridge/pf v0.44.1/go.mod h1:Zj4XBf+TuV3um7y82X3xk2yQiP+pnQ7YxMc4fq/rVVw= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.0 h1:E4YTsAI8oAF8cDj5XR1cbHUfINCc1IJxElriOZBdsxE= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.0/go.mod h1:DvueDDtOIbf7W1Or4oH0o7F990ozp/ROmlm/vgLoe+g= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1 h1:Twh0IKS1pGHP6LHDq1oR0vbHlV52asoUCC7spEJl3Ao= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.91.1/go.mod h1:DvueDDtOIbf7W1Or4oH0o7F990ozp/ROmlm/vgLoe+g= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= -github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi-yaml v1.10.0 h1:djbgMJCxJBmYMr4kOpAXH5iauxGohYjEuTLfxD3NUUI= -github.com/pulumi/pulumi-yaml v1.10.0/go.mod h1://lTvwHpgJ+WBKeMGiLrd/jinc4dl3eWV5LZ3G8iCfE= -github.com/pulumi/pulumi/pkg/v3 v3.133.0 h1:j1rd7ToLZIQc5H0427ISOXSbOIIemZ6B0MXtRhQ38Yg= -github.com/pulumi/pulumi/pkg/v3 v3.133.0/go.mod h1:JtMAnrsFIccO138WcMfPdhO0PioDukKihnZC0xTRLwo= -github.com/pulumi/pulumi/sdk/v3 v3.133.0 h1:o+7dbJZY9BVgAjOF5GYIWgjp/zpKAgWZwD4pPjUMXKQ= -github.com/pulumi/pulumi/sdk/v3 v3.133.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= -github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= -github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi-terraform-bridge/pf v0.46.0 h1:B95rH9t8LSZdEApF8sDogjSz67exG2KY3jGr87zwJek= +github.com/pulumi/pulumi-terraform-bridge/pf v0.46.0/go.mod h1:i75vRSbpf4YizD+ynNkLgp0sgZhm2N7xapPaBBiiZXA= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.93.1 h1:EEf5W3buVR5pcCKTXGouDS1/oY6TqVUIRKLksl5h4Es= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.93.1/go.mod h1:jNpOSGkfTeZSnSjpGBHHiyllciCEDRqFaZhLUpQPlpo= +github.com/pulumi/pulumi-yaml v1.10.3 h1:j5cjPiE32ILmjrWnC1cfZ0MWdqCZ8fg9wlaWk7HOtM4= +github.com/pulumi/pulumi-yaml v1.10.3/go.mod h1:MFMQXkaUP5YQUKVJ6Z/aagZDl2f8hdU9oGaJfTcMf1Y= +github.com/pulumi/pulumi/pkg/v3 v3.136.1 h1:zA8aJZ7qI0QgZkBKjjQaYHEcigK6pZfrbfG38imXzWo= +github.com/pulumi/pulumi/pkg/v3 v3.136.1/go.mod h1:Iz8QIs07AbEdrO52hEIEM5C4VBDUYFH2NdM9u2xxBxY= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= 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= @@ -2300,8 +2290,8 @@ 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.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +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/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= @@ -2337,8 +2327,8 @@ golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQ golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2471,8 +2461,6 @@ 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.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2869,8 +2857,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405/go.mod h1:oT32Z4o8Zv2xPQTg0pbVaPr0MPOH6f14RgXt7zfIpwg= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= @@ -2891,8 +2879,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -2943,8 +2931,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= -google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -2966,8 +2954,8 @@ google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -2991,6 +2979,7 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/provider/resources.go b/provider/resources.go index ba974dcf..3fe1b13a 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -253,6 +253,9 @@ func Provider() tfbridge.ProviderInfo { "ovh_cloud_project_network_private_subnet": { Tok: ovhResource(cloudProjectMod, "NetworkPrivateSubnet"), }, + "ovh_cloud_project_network_private_subnet_v2": { + Tok: ovhResource(cloudProjectMod, "NetworkPrivateSubnetV2"), + }, "ovh_cloud_project_region_storage_presign": { Tok: ovhResource(cloudProjectMod, "RegionStoragePresign"), }, @@ -274,6 +277,12 @@ func Provider() tfbridge.ProviderInfo { "ovh_dbaas_logs_output_graylog_stream": { Tok: ovhResource(dbaasMod, "LogsOutputGraylogStream"), }, + "ovh_dbaas_logs_output_opensearch_alias": { + Tok: ovhResource(dbaasMod, "LogsOutputOpenSearchAlias"), + }, + "ovh_dbaas_logs_output_opensearch_index": { + Tok: ovhResource(dbaasMod, "LogsOutputOpenSearchIndex"), + }, "ovh_dedicated_ceph_acl": { Tok: ovhResource(dedicatedMod, "CephAcl"), }, @@ -720,6 +729,12 @@ func Provider() tfbridge.ProviderInfo { "ovh_cloud_project_vrack": { Tok: ovhDataSource(cloudProjectMod, "getVRack"), }, + "ovh_cloud_project_volume": { + Tok: ovhDataSource(cloudProjectMod, "getVolume"), + }, + "ovh_cloud_project_volumes": { + Tok: ovhDataSource(cloudProjectMod, "getVolumes"), + }, "ovh_cloud_projects": { Tok: ovhDataSource(cloudMod, "getProjects"), }, @@ -735,6 +750,9 @@ func Provider() tfbridge.ProviderInfo { "ovh_dbaas_logs_output_graylog_stream": { Tok: ovhDataSource(dbaasMod, "getLogsOutputGraylogStream"), }, + "ovh_dbaas_logs_output_opensearch_index": { + Tok: ovhDataSource(dbaasMod, "getLogsOutputOpenSearchIndex"), + }, "ovh_dedicated_ceph": { Tok: ovhDataSource(dedicatedMod, "getCeph"), Fields: map[string]*tfbridge.SchemaInfo{ diff --git a/sdk/dotnet/CloudProject/Database.cs b/sdk/dotnet/CloudProject/Database.cs index fbb9a4c7..7f381fde 100644 --- a/sdk/dotnet/CloudProject/Database.cs +++ b/sdk/dotnet/CloudProject/Database.cs @@ -52,7 +52,8 @@ namespace Pulumi.Ovh.CloudProject /// ServiceName = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", /// Description = "my-first-kafka", /// Engine = "kafka", - /// Version = "3.4", + /// Version = "3.8", + /// Flavor = "db1-4", /// Plan = "business", /// KafkaRestApi = true, /// KafkaSchemaRegistry = true, @@ -71,7 +72,6 @@ namespace Pulumi.Ovh.CloudProject /// Region = "DE", /// }, /// }, - /// Flavor = "db1-4", /// }); /// /// var m3db = new Ovh.CloudProject.Database("m3db", new() @@ -319,7 +319,7 @@ public partial class Database : global::Pulumi.CustomResource public Output> BackupRegions { get; private set; } = null!; /// - /// Time on which backups start every day. + /// Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). /// [Output("backupTime")] public Output BackupTime { get; private set; } = null!; @@ -513,7 +513,7 @@ public InputList BackupRegions } /// - /// Time on which backups start every day. + /// Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). /// [Input("backupTime")] public Input? BackupTime { get; set; } @@ -569,6 +569,12 @@ public InputList IpRestrictions [Input("kafkaSchemaRegistry")] public Input? KafkaSchemaRegistry { get; set; } + /// + /// Time on which maintenances can start every day. + /// + [Input("maintenanceTime")] + public Input? MaintenanceTime { get; set; } + [Input("nodes", required: true)] private InputList? _nodes; @@ -644,7 +650,7 @@ public InputList BackupRegions } /// - /// Time on which backups start every day. + /// Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). /// [Input("backupTime")] public Input? BackupTime { get; set; } diff --git a/sdk/dotnet/CloudProject/GetVolume.cs b/sdk/dotnet/CloudProject/GetVolume.cs new file mode 100644 index 00000000..63d46675 --- /dev/null +++ b/sdk/dotnet/CloudProject/GetVolume.cs @@ -0,0 +1,168 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject +{ + public static class GetVolume + { + /// + /// Get information about a volume in a public cloud project + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var volume = Ovh.CloudProject.GetVolume.Invoke(new() + /// { + /// RegionName = "xxx", + /// ServiceName = "yyy", + /// VolumeId = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetVolumeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("ovh:CloudProject/getVolume:getVolume", args ?? new GetVolumeArgs(), options.WithDefaults()); + + /// + /// Get information about a volume in a public cloud project + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var volume = Ovh.CloudProject.GetVolume.Invoke(new() + /// { + /// RegionName = "xxx", + /// ServiceName = "yyy", + /// VolumeId = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVolumeInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("ovh:CloudProject/getVolume:getVolume", args ?? new GetVolumeInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVolumeArgs : global::Pulumi.InvokeArgs + { + /// + /// A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + /// + [Input("regionName", required: true)] + public string RegionName { get; set; } = null!; + + /// + /// The id of the public cloud project. + /// + [Input("serviceName", required: true)] + public string ServiceName { get; set; } = null!; + + /// + /// Volume id to get the informations + /// + [Input("volumeId", required: true)] + public string VolumeId { get; set; } = null!; + + public GetVolumeArgs() + { + } + public static new GetVolumeArgs Empty => new GetVolumeArgs(); + } + + public sealed class GetVolumeInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + /// + [Input("regionName", required: true)] + public Input RegionName { get; set; } = null!; + + /// + /// The id of the public cloud project. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + /// + /// Volume id to get the informations + /// + [Input("volumeId", required: true)] + public Input VolumeId { get; set; } = null!; + + public GetVolumeInvokeArgs() + { + } + public static new GetVolumeInvokeArgs Empty => new GetVolumeInvokeArgs(); + } + + + [OutputType] + public sealed class GetVolumeResult + { + public readonly string Id; + /// + /// The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + /// + public readonly string Name; + /// + /// The region name where volume is available + /// + public readonly string RegionName; + /// + /// The id of the public cloud project. + /// + public readonly string ServiceName; + /// + /// The size of the volume + /// + public readonly double Size; + /// + /// The id of the volume + /// + public readonly string VolumeId; + + [OutputConstructor] + private GetVolumeResult( + string id, + + string name, + + string regionName, + + string serviceName, + + double size, + + string volumeId) + { + Id = id; + Name = name; + RegionName = regionName; + ServiceName = serviceName; + Size = size; + VolumeId = volumeId; + } + } +} diff --git a/sdk/dotnet/CloudProject/GetVolumes.cs b/sdk/dotnet/CloudProject/GetVolumes.cs new file mode 100644 index 00000000..5d050434 --- /dev/null +++ b/sdk/dotnet/CloudProject/GetVolumes.cs @@ -0,0 +1,140 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject +{ + public static class GetVolumes + { + /// + /// Get all the volume from a region of a public cloud project + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var volume = Ovh.CloudProject.GetVolume.Invoke(new() + /// { + /// RegionName = "xxx", + /// ServiceName = "yyy", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetVolumesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("ovh:CloudProject/getVolumes:getVolumes", args ?? new GetVolumesArgs(), options.WithDefaults()); + + /// + /// Get all the volume from a region of a public cloud project + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var volume = Ovh.CloudProject.GetVolume.Invoke(new() + /// { + /// RegionName = "xxx", + /// ServiceName = "yyy", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetVolumesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("ovh:CloudProject/getVolumes:getVolumes", args ?? new GetVolumesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVolumesArgs : global::Pulumi.InvokeArgs + { + /// + /// A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + /// + [Input("regionName", required: true)] + public string RegionName { get; set; } = null!; + + /// + /// The id of the public cloud project. + /// + [Input("serviceName", required: true)] + public string ServiceName { get; set; } = null!; + + public GetVolumesArgs() + { + } + public static new GetVolumesArgs Empty => new GetVolumesArgs(); + } + + public sealed class GetVolumesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + /// + [Input("regionName", required: true)] + public Input RegionName { get; set; } = null!; + + /// + /// The id of the public cloud project. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public GetVolumesInvokeArgs() + { + } + public static new GetVolumesInvokeArgs Empty => new GetVolumesInvokeArgs(); + } + + + [OutputType] + public sealed class GetVolumesResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// The region name where volumes are available + /// + public readonly string RegionName; + /// + /// The id of the public cloud project. + /// + public readonly string ServiceName; + public readonly ImmutableArray Volumes; + + [OutputConstructor] + private GetVolumesResult( + string id, + + string regionName, + + string serviceName, + + ImmutableArray volumes) + { + Id = id; + RegionName = regionName; + ServiceName = serviceName; + Volumes = volumes; + } + } +} diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolArgs.cs index d0142045..fcbeaf88 100644 --- a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolArgs.cs +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolArgs.cs @@ -15,7 +15,6 @@ public sealed class NetworkPrivateSubnetIpPoolArgs : global::Pulumi.ResourceArgs /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// [Input("dhcp")] public Input? Dhcp { get; set; } diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolGetArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolGetArgs.cs index fd74579b..7d57ff99 100644 --- a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolGetArgs.cs +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetIpPoolGetArgs.cs @@ -15,7 +15,6 @@ public sealed class NetworkPrivateSubnetIpPoolGetArgs : global::Pulumi.ResourceA /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// [Input("dhcp")] public Input? Dhcp { get; set; } diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolArgs.cs new file mode 100644 index 00000000..50b4c37e --- /dev/null +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Inputs +{ + + public sealed class NetworkPrivateSubnetV2AllocationPoolArgs : global::Pulumi.ResourceArgs + { + [Input("end", required: true)] + public Input End { get; set; } = null!; + + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public NetworkPrivateSubnetV2AllocationPoolArgs() + { + } + public static new NetworkPrivateSubnetV2AllocationPoolArgs Empty => new NetworkPrivateSubnetV2AllocationPoolArgs(); + } +} diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolGetArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolGetArgs.cs new file mode 100644 index 00000000..71890461 --- /dev/null +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2AllocationPoolGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Inputs +{ + + public sealed class NetworkPrivateSubnetV2AllocationPoolGetArgs : global::Pulumi.ResourceArgs + { + [Input("end", required: true)] + public Input End { get; set; } = null!; + + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public NetworkPrivateSubnetV2AllocationPoolGetArgs() + { + } + public static new NetworkPrivateSubnetV2AllocationPoolGetArgs Empty => new NetworkPrivateSubnetV2AllocationPoolGetArgs(); + } +} diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteArgs.cs new file mode 100644 index 00000000..653ad9e5 --- /dev/null +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Inputs +{ + + public sealed class NetworkPrivateSubnetV2HostRouteArgs : global::Pulumi.ResourceArgs + { + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + + [Input("nexthop", required: true)] + public Input Nexthop { get; set; } = null!; + + public NetworkPrivateSubnetV2HostRouteArgs() + { + } + public static new NetworkPrivateSubnetV2HostRouteArgs Empty => new NetworkPrivateSubnetV2HostRouteArgs(); + } +} diff --git a/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteGetArgs.cs b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteGetArgs.cs new file mode 100644 index 00000000..447e436f --- /dev/null +++ b/sdk/dotnet/CloudProject/Inputs/NetworkPrivateSubnetV2HostRouteGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Inputs +{ + + public sealed class NetworkPrivateSubnetV2HostRouteGetArgs : global::Pulumi.ResourceArgs + { + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + + [Input("nexthop", required: true)] + public Input Nexthop { get; set; } = null!; + + public NetworkPrivateSubnetV2HostRouteGetArgs() + { + } + public static new NetworkPrivateSubnetV2HostRouteGetArgs Empty => new NetworkPrivateSubnetV2HostRouteGetArgs(); + } +} diff --git a/sdk/dotnet/CloudProject/Kube.cs b/sdk/dotnet/CloudProject/Kube.cs index 6b3f9281..ea387169 100644 --- a/sdk/dotnet/CloudProject/Kube.cs +++ b/sdk/dotnet/CloudProject/Kube.cs @@ -72,7 +72,7 @@ public partial class Kube : global::Pulumi.CustomResource public Output> KubeconfigAttributes { get; private set; } = null!; /// - /// Openstack private network (or vRack) ID to use for load balancers. + /// Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. /// [Output("loadBalancersSubnetId")] public Output LoadBalancersSubnetId { get; private set; } = null!; @@ -90,7 +90,7 @@ public partial class Kube : global::Pulumi.CustomResource public Output> NextUpgradeVersions { get; private set; } = null!; /// - /// Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + /// Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** /// [Output("nodesSubnetId")] public Output NodesSubnetId { get; private set; } = null!; @@ -108,7 +108,7 @@ public partial class Kube : global::Pulumi.CustomResource public Output PrivateNetworkConfiguration { get; private set; } = null!; /// - /// OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + /// Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. /// /// > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. /// @@ -241,7 +241,7 @@ public InputList Customizations public Input? KubeProxyMode { get; set; } /// - /// Openstack private network (or vRack) ID to use for load balancers. + /// Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. /// [Input("loadBalancersSubnetId")] public Input? LoadBalancersSubnetId { get; set; } @@ -253,7 +253,7 @@ public InputList Customizations public Input? Name { get; set; } /// - /// Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + /// Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** /// [Input("nodesSubnetId")] public Input? NodesSubnetId { get; set; } @@ -265,7 +265,7 @@ public InputList Customizations public Input? PrivateNetworkConfiguration { get; set; } /// - /// OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + /// Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. /// /// > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. /// @@ -386,7 +386,7 @@ public InputList KubeconfigAttributes } /// - /// Openstack private network (or vRack) ID to use for load balancers. + /// Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. /// [Input("loadBalancersSubnetId")] public Input? LoadBalancersSubnetId { get; set; } @@ -410,7 +410,7 @@ public InputList NextUpgradeVersions } /// - /// Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + /// Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** /// [Input("nodesSubnetId")] public Input? NodesSubnetId { get; set; } @@ -428,7 +428,7 @@ public InputList NextUpgradeVersions public Input? PrivateNetworkConfiguration { get; set; } /// - /// OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + /// Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. /// /// > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. /// diff --git a/sdk/dotnet/CloudProject/NetworkPrivateSubnet.cs b/sdk/dotnet/CloudProject/NetworkPrivateSubnet.cs index 7e747e2a..414fa435 100644 --- a/sdk/dotnet/CloudProject/NetworkPrivateSubnet.cs +++ b/sdk/dotnet/CloudProject/NetworkPrivateSubnet.cs @@ -59,7 +59,6 @@ public partial class NetworkPrivateSubnet : global::Pulumi.CustomResource /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// [Output("dhcp")] public Output Dhcp { get; private set; } = null!; @@ -180,7 +179,6 @@ public sealed class NetworkPrivateSubnetArgs : global::Pulumi.ResourceArgs /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// [Input("dhcp")] public Input? Dhcp { get; set; } @@ -251,7 +249,6 @@ public sealed class NetworkPrivateSubnetState : global::Pulumi.ResourceArgs /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// [Input("dhcp")] public Input? Dhcp { get; set; } diff --git a/sdk/dotnet/CloudProject/NetworkPrivateSubnetV2.cs b/sdk/dotnet/CloudProject/NetworkPrivateSubnetV2.cs new file mode 100644 index 00000000..b12cb127 --- /dev/null +++ b/sdk/dotnet/CloudProject/NetworkPrivateSubnetV2.cs @@ -0,0 +1,373 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject +{ + /// + /// Creates a subnet in a private network of a public cloud region. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var subnet = new Ovh.CloudProject.NetworkPrivateSubnetV2("subnet", new() + /// { + /// Cidr = "192.168.168.0/24", + /// Dhcp = true, + /// DnsNameservers = new[] + /// { + /// "1.1.1.1", + /// }, + /// EnableGatewayIp = true, + /// NetworkId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + /// Region = "XXX1", + /// ServiceName = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., + /// + /// bash + /// + /// ```sh + /// $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 + /// ``` + /// + [OvhResourceType("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2")] + public partial class NetworkPrivateSubnetV2 : global::Pulumi.CustomResource + { + /// + /// DHCP allocation pools of subnet + /// + [Output("allocationPools")] + public Output> AllocationPools { get; private set; } = null!; + + /// + /// IP range of the subnet + /// Changing this value recreates the subnet. + /// + [Output("cidr")] + public Output Cidr { get; private set; } = null!; + + /// + /// Enable DHCP. + /// Changing this forces a new resource to be created. Defaults to true. + /// + [Output("dhcp")] + public Output Dhcp { get; private set; } = null!; + + /// + /// DNS nameservers used by DHCP + /// Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + /// + [Output("dnsNameservers")] + public Output> DnsNameservers { get; private set; } = null!; + + /// + /// Set to true if you want to set a default gateway IP. + /// Changing this value recreates the resource. Defaults to true. + /// + [Output("enableGatewayIp")] + public Output EnableGatewayIp { get; private set; } = null!; + + /// + /// See Argument Reference above. + /// + [Output("gatewayIp")] + public Output GatewayIp { get; private set; } = null!; + + /// + /// Static host routes of subnet + /// + [Output("hostRoutes")] + public Output> HostRoutes { get; private set; } = null!; + + /// + /// Name of the subnet + /// Changing this value recreates the subnet. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The id of the network. + /// Changing this forces a new resource to be created. + /// + [Output("networkId")] + public Output NetworkId { get; private set; } = null!; + + /// + /// The region in which the network subnet will be created. + /// Ex.: "GRA1". Changing this value recreates the resource. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The id of the public cloud project. If omitted, + /// the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + /// + [Output("serviceName")] + public Output ServiceName { get; private set; } = null!; + + + /// + /// Create a NetworkPrivateSubnetV2 resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public NetworkPrivateSubnetV2(string name, NetworkPrivateSubnetV2Args args, CustomResourceOptions? options = null) + : base("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, args ?? new NetworkPrivateSubnetV2Args(), MakeResourceOptions(options, "")) + { + } + + private NetworkPrivateSubnetV2(string name, Input id, NetworkPrivateSubnetV2State? state = null, CustomResourceOptions? options = null) + : base("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/ovh/pulumi-ovh", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing NetworkPrivateSubnetV2 resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static NetworkPrivateSubnetV2 Get(string name, Input id, NetworkPrivateSubnetV2State? state = null, CustomResourceOptions? options = null) + { + return new NetworkPrivateSubnetV2(name, id, state, options); + } + } + + public sealed class NetworkPrivateSubnetV2Args : global::Pulumi.ResourceArgs + { + [Input("allocationPools")] + private InputList? _allocationPools; + + /// + /// DHCP allocation pools of subnet + /// + public InputList AllocationPools + { + get => _allocationPools ?? (_allocationPools = new InputList()); + set => _allocationPools = value; + } + + /// + /// IP range of the subnet + /// Changing this value recreates the subnet. + /// + [Input("cidr", required: true)] + public Input Cidr { get; set; } = null!; + + /// + /// Enable DHCP. + /// Changing this forces a new resource to be created. Defaults to true. + /// + [Input("dhcp")] + public Input? Dhcp { get; set; } + + [Input("dnsNameservers")] + private InputList? _dnsNameservers; + + /// + /// DNS nameservers used by DHCP + /// Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + /// + public InputList DnsNameservers + { + get => _dnsNameservers ?? (_dnsNameservers = new InputList()); + set => _dnsNameservers = value; + } + + /// + /// Set to true if you want to set a default gateway IP. + /// Changing this value recreates the resource. Defaults to true. + /// + [Input("enableGatewayIp")] + public Input? EnableGatewayIp { get; set; } + + /// + /// See Argument Reference above. + /// + [Input("gatewayIp")] + public Input? GatewayIp { get; set; } + + [Input("hostRoutes")] + private InputList? _hostRoutes; + + /// + /// Static host routes of subnet + /// + public InputList HostRoutes + { + get => _hostRoutes ?? (_hostRoutes = new InputList()); + set => _hostRoutes = value; + } + + /// + /// Name of the subnet + /// Changing this value recreates the subnet. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The id of the network. + /// Changing this forces a new resource to be created. + /// + [Input("networkId", required: true)] + public Input NetworkId { get; set; } = null!; + + /// + /// The region in which the network subnet will be created. + /// Ex.: "GRA1". Changing this value recreates the resource. + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + /// + /// The id of the public cloud project. If omitted, + /// the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public NetworkPrivateSubnetV2Args() + { + } + public static new NetworkPrivateSubnetV2Args Empty => new NetworkPrivateSubnetV2Args(); + } + + public sealed class NetworkPrivateSubnetV2State : global::Pulumi.ResourceArgs + { + [Input("allocationPools")] + private InputList? _allocationPools; + + /// + /// DHCP allocation pools of subnet + /// + public InputList AllocationPools + { + get => _allocationPools ?? (_allocationPools = new InputList()); + set => _allocationPools = value; + } + + /// + /// IP range of the subnet + /// Changing this value recreates the subnet. + /// + [Input("cidr")] + public Input? Cidr { get; set; } + + /// + /// Enable DHCP. + /// Changing this forces a new resource to be created. Defaults to true. + /// + [Input("dhcp")] + public Input? Dhcp { get; set; } + + [Input("dnsNameservers")] + private InputList? _dnsNameservers; + + /// + /// DNS nameservers used by DHCP + /// Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + /// + public InputList DnsNameservers + { + get => _dnsNameservers ?? (_dnsNameservers = new InputList()); + set => _dnsNameservers = value; + } + + /// + /// Set to true if you want to set a default gateway IP. + /// Changing this value recreates the resource. Defaults to true. + /// + [Input("enableGatewayIp")] + public Input? EnableGatewayIp { get; set; } + + /// + /// See Argument Reference above. + /// + [Input("gatewayIp")] + public Input? GatewayIp { get; set; } + + [Input("hostRoutes")] + private InputList? _hostRoutes; + + /// + /// Static host routes of subnet + /// + public InputList HostRoutes + { + get => _hostRoutes ?? (_hostRoutes = new InputList()); + set => _hostRoutes = value; + } + + /// + /// Name of the subnet + /// Changing this value recreates the subnet. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The id of the network. + /// Changing this forces a new resource to be created. + /// + [Input("networkId")] + public Input? NetworkId { get; set; } + + /// + /// The region in which the network subnet will be created. + /// Ex.: "GRA1". Changing this value recreates the resource. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The id of the public cloud project. If omitted, + /// the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + /// + [Input("serviceName")] + public Input? ServiceName { get; set; } + + public NetworkPrivateSubnetV2State() + { + } + public static new NetworkPrivateSubnetV2State Empty => new NetworkPrivateSubnetV2State(); + } +} diff --git a/sdk/dotnet/CloudProject/Outputs/GetVolumesVolumeResult.cs b/sdk/dotnet/CloudProject/Outputs/GetVolumesVolumeResult.cs new file mode 100644 index 00000000..5ec073f9 --- /dev/null +++ b/sdk/dotnet/CloudProject/Outputs/GetVolumesVolumeResult.cs @@ -0,0 +1,42 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Outputs +{ + + [OutputType] + public sealed class GetVolumesVolumeResult + { + /// + /// The id of the volume + /// + public readonly string Id; + /// + /// The name of the volume + /// + public readonly string Name; + /// + /// The size of the volume + /// + public readonly double Size; + + [OutputConstructor] + private GetVolumesVolumeResult( + string id, + + string name, + + double size) + { + Id = id; + Name = name; + Size = size; + } + } +} diff --git a/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetIpPool.cs b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetIpPool.cs index f80190bc..5ca1fb9a 100644 --- a/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetIpPool.cs +++ b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetIpPool.cs @@ -16,7 +16,6 @@ public sealed class NetworkPrivateSubnetIpPool /// /// Enable DHCP. /// Changing this forces a new resource to be created. Defaults to false. - /// _ /// public readonly bool? Dhcp; /// diff --git a/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2AllocationPool.cs b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2AllocationPool.cs new file mode 100644 index 00000000..bf181ac3 --- /dev/null +++ b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2AllocationPool.cs @@ -0,0 +1,29 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Outputs +{ + + [OutputType] + public sealed class NetworkPrivateSubnetV2AllocationPool + { + public readonly string End; + public readonly string Start; + + [OutputConstructor] + private NetworkPrivateSubnetV2AllocationPool( + string end, + + string start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2HostRoute.cs b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2HostRoute.cs new file mode 100644 index 00000000..eb048754 --- /dev/null +++ b/sdk/dotnet/CloudProject/Outputs/NetworkPrivateSubnetV2HostRoute.cs @@ -0,0 +1,29 @@ +// *** 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; + +namespace Pulumi.Ovh.CloudProject.Outputs +{ + + [OutputType] + public sealed class NetworkPrivateSubnetV2HostRoute + { + public readonly string Destination; + public readonly string Nexthop; + + [OutputConstructor] + private NetworkPrivateSubnetV2HostRoute( + string destination, + + string nexthop) + { + Destination = destination; + Nexthop = nexthop; + } + } +} diff --git a/sdk/dotnet/CloudProject/Project.cs b/sdk/dotnet/CloudProject/Project.cs index 9116f4d3..b027c8aa 100644 --- a/sdk/dotnet/CloudProject/Project.cs +++ b/sdk/dotnet/CloudProject/Project.cs @@ -12,13 +12,31 @@ namespace Pulumi.Ovh.CloudProject /// /// ## Import /// - /// Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. + /// Cloud project can be imported using the `project_id`. + /// + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_cloud_project.my_cloud_project + /// + /// id = "<project ID>" + /// + /// } + /// + /// You can then run: /// /// bash /// - /// ```sh - /// $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id - /// ``` + /// $ pulumi preview -generate-config-out=cloudproject.tf + /// + /// $ pulumi up + /// + /// The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:CloudProject/project:Project")] public partial class Project : global::Pulumi.CustomResource @@ -94,7 +112,7 @@ public partial class Project : 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 Project(string name, ProjectArgs args, CustomResourceOptions? options = null) + public Project(string name, ProjectArgs? args = null, CustomResourceOptions? options = null) : base("ovh:CloudProject/project:Project", name, args ?? new ProjectArgs(), MakeResourceOptions(options, "")) { } @@ -154,8 +172,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -166,8 +184,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/CloudProjectDatabase/GetDatabaseLogSubscriptions.cs b/sdk/dotnet/CloudProjectDatabase/GetDatabaseLogSubscriptions.cs index 49965f94..fb973c1d 100644 --- a/sdk/dotnet/CloudProjectDatabase/GetDatabaseLogSubscriptions.cs +++ b/sdk/dotnet/CloudProjectDatabase/GetDatabaseLogSubscriptions.cs @@ -12,7 +12,7 @@ namespace Pulumi.Ovh.CloudProjectDatabase public static class GetDatabaseLogSubscriptions { /// - /// Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + /// Use this data source to get the list of log subscription for a cluster associated with a public cloud project. /// /// ## Example Usage /// @@ -42,7 +42,7 @@ public static Task InvokeAsync(GetDatabaseLog => global::Pulumi.Deployment.Instance.InvokeAsync("ovh:CloudProjectDatabase/getDatabaseLogSubscriptions:getDatabaseLogSubscriptions", args ?? new GetDatabaseLogSubscriptionsArgs(), options.WithDefaults()); /// - /// Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + /// Use this data source to get the list of log subscription for a cluster associated with a public cloud project. /// /// ## Example Usage /// diff --git a/sdk/dotnet/CloudProjectDatabase/LogSubscription.cs b/sdk/dotnet/CloudProjectDatabase/LogSubscription.cs index d6f7c7f9..3f838904 100644 --- a/sdk/dotnet/CloudProjectDatabase/LogSubscription.cs +++ b/sdk/dotnet/CloudProjectDatabase/LogSubscription.cs @@ -10,7 +10,7 @@ namespace Pulumi.Ovh.CloudProjectDatabase { /// - /// Creates a log subscrition for a cluster associated with a public cloud project. + /// Creates a log subscription for a cluster associated with a public cloud project. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Dbaas/GetLogsOutputOpenSearchIndex.cs b/sdk/dotnet/Dbaas/GetLogsOutputOpenSearchIndex.cs new file mode 100644 index 00000000..8e443b93 --- /dev/null +++ b/sdk/dotnet/Dbaas/GetLogsOutputOpenSearchIndex.cs @@ -0,0 +1,208 @@ +// *** 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; + +namespace Pulumi.Ovh.Dbaas +{ + public static class GetLogsOutputOpenSearchIndex + { + /// + /// Use this data source to retrieve information about a DBaas logs output opensearch index. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var index = Ovh.Dbaas.GetLogsOutputOpenSearchIndex.Invoke(new() + /// { + /// Name = "index-name", + /// ServiceName = "ldp-xx-xxxxx", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetLogsOutputOpenSearchIndexArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", args ?? new GetLogsOutputOpenSearchIndexArgs(), options.WithDefaults()); + + /// + /// Use this data source to retrieve information about a DBaas logs output opensearch index. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var index = Ovh.Dbaas.GetLogsOutputOpenSearchIndex.Invoke(new() + /// { + /// Name = "index-name", + /// ServiceName = "ldp-xx-xxxxx", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetLogsOutputOpenSearchIndexInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", args ?? new GetLogsOutputOpenSearchIndexInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLogsOutputOpenSearchIndexArgs : global::Pulumi.InvokeArgs + { + /// + /// Index name + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// Number of shard + /// + [Input("nbShard")] + public int? NbShard { get; set; } + + /// + /// The service name. It's the ID of your Logs Data Platform instance. + /// + [Input("serviceName", required: true)] + public string ServiceName { get; set; } = null!; + + public GetLogsOutputOpenSearchIndexArgs() + { + } + public static new GetLogsOutputOpenSearchIndexArgs Empty => new GetLogsOutputOpenSearchIndexArgs(); + } + + public sealed class GetLogsOutputOpenSearchIndexInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Index name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Number of shard + /// + [Input("nbShard")] + public Input? NbShard { get; set; } + + /// + /// The service name. It's the ID of your Logs Data Platform instance. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public GetLogsOutputOpenSearchIndexInvokeArgs() + { + } + public static new GetLogsOutputOpenSearchIndexInvokeArgs Empty => new GetLogsOutputOpenSearchIndexInvokeArgs(); + } + + + [OutputType] + public sealed class GetLogsOutputOpenSearchIndexResult + { + /// + /// If set, notify when size is near 80, 90 or 100 % of its maximum capacity + /// + public readonly bool AlertNotifyEnabled; + /// + /// Index creation + /// + public readonly string CreatedAt; + /// + /// Current index size (in bytes) + /// + public readonly int CurrentSize; + /// + /// Index description + /// + public readonly string Description; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Index ID + /// + public readonly string IndexId; + /// + /// Indicates if you are allowed to edit entry + /// + public readonly bool IsEditable; + /// + /// Maximum index size (in bytes) + /// + public readonly int MaxSize; + /// + /// Index name + /// + public readonly string Name; + /// + /// Number of shard + /// + public readonly int NbShard; + public readonly string ServiceName; + /// + /// Index last update + /// + public readonly string UpdatedAt; + + [OutputConstructor] + private GetLogsOutputOpenSearchIndexResult( + bool alertNotifyEnabled, + + string createdAt, + + int currentSize, + + string description, + + string id, + + string indexId, + + bool isEditable, + + int maxSize, + + string name, + + int nbShard, + + string serviceName, + + string updatedAt) + { + AlertNotifyEnabled = alertNotifyEnabled; + CreatedAt = createdAt; + CurrentSize = currentSize; + Description = description; + Id = id; + IndexId = indexId; + IsEditable = isEditable; + MaxSize = maxSize; + Name = name; + NbShard = nbShard; + ServiceName = serviceName; + UpdatedAt = updatedAt; + } + } +} diff --git a/sdk/dotnet/Dbaas/LogsOutputOpenSearchAlias.cs b/sdk/dotnet/Dbaas/LogsOutputOpenSearchAlias.cs new file mode 100644 index 00000000..6f370466 --- /dev/null +++ b/sdk/dotnet/Dbaas/LogsOutputOpenSearchAlias.cs @@ -0,0 +1,320 @@ +// *** 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; + +namespace Pulumi.Ovh.Dbaas +{ + /// + /// Creates a DBaaS Logs Opensearch output alias. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @alias = new Ovh.Dbaas.LogsOutputOpenSearchAlias("alias", new() + /// { + /// Description = "my opensearch alias", + /// ServiceName = "....", + /// Suffix = "alias", + /// }); + /// + /// }); + /// ``` + /// + [OvhResourceType("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias")] + public partial class LogsOutputOpenSearchAlias : global::Pulumi.CustomResource + { + /// + /// Alias Id + /// + [Output("aliasId")] + public Output AliasId { get; private set; } = null!; + + /// + /// Alias creation + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Current alias size (in bytes) + /// + [Output("currentSize")] + public Output CurrentSize { get; private set; } = null!; + + /// + /// Index description + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// List of attached indexes id + /// + [Output("indexes")] + public Output> Indexes { get; private set; } = null!; + + /// + /// Indicates if you are allowed to edit entry + /// + [Output("isEditable")] + public Output IsEditable { get; private set; } = null!; + + /// + /// Alias name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of indices linked + /// + [Output("nbIndex")] + public Output NbIndex { get; private set; } = null!; + + /// + /// Number of streams linked + /// + [Output("nbStream")] + public Output NbStream { get; private set; } = null!; + + /// + /// The service name + /// + [Output("serviceName")] + public Output ServiceName { get; private set; } = null!; + + /// + /// List of attached streams id + /// + [Output("streams")] + public Output> Streams { get; private set; } = null!; + + /// + /// Index suffix + /// + [Output("suffix")] + public Output Suffix { get; private set; } = null!; + + /// + /// Input last update + /// + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a LogsOutputOpenSearchAlias resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public LogsOutputOpenSearchAlias(string name, LogsOutputOpenSearchAliasArgs args, CustomResourceOptions? options = null) + : base("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, args ?? new LogsOutputOpenSearchAliasArgs(), MakeResourceOptions(options, "")) + { + } + + private LogsOutputOpenSearchAlias(string name, Input id, LogsOutputOpenSearchAliasState? state = null, CustomResourceOptions? options = null) + : base("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/ovh/pulumi-ovh", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing LogsOutputOpenSearchAlias resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static LogsOutputOpenSearchAlias Get(string name, Input id, LogsOutputOpenSearchAliasState? state = null, CustomResourceOptions? options = null) + { + return new LogsOutputOpenSearchAlias(name, id, state, options); + } + } + + public sealed class LogsOutputOpenSearchAliasArgs : global::Pulumi.ResourceArgs + { + /// + /// Index description + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("indexes")] + private InputList? _indexes; + + /// + /// List of attached indexes id + /// + public InputList Indexes + { + get => _indexes ?? (_indexes = new InputList()); + set => _indexes = value; + } + + /// + /// Number of indices linked + /// + [Input("nbIndex")] + public Input? NbIndex { get; set; } + + /// + /// Number of streams linked + /// + [Input("nbStream")] + public Input? NbStream { get; set; } + + /// + /// The service name + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + [Input("streams")] + private InputList? _streams; + + /// + /// List of attached streams id + /// + public InputList Streams + { + get => _streams ?? (_streams = new InputList()); + set => _streams = value; + } + + /// + /// Index suffix + /// + [Input("suffix", required: true)] + public Input Suffix { get; set; } = null!; + + public LogsOutputOpenSearchAliasArgs() + { + } + public static new LogsOutputOpenSearchAliasArgs Empty => new LogsOutputOpenSearchAliasArgs(); + } + + public sealed class LogsOutputOpenSearchAliasState : global::Pulumi.ResourceArgs + { + /// + /// Alias Id + /// + [Input("aliasId")] + public Input? AliasId { get; set; } + + /// + /// Alias creation + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Current alias size (in bytes) + /// + [Input("currentSize")] + public Input? CurrentSize { get; set; } + + /// + /// Index description + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("indexes")] + private InputList? _indexes; + + /// + /// List of attached indexes id + /// + public InputList Indexes + { + get => _indexes ?? (_indexes = new InputList()); + set => _indexes = value; + } + + /// + /// Indicates if you are allowed to edit entry + /// + [Input("isEditable")] + public Input? IsEditable { get; set; } + + /// + /// Alias name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of indices linked + /// + [Input("nbIndex")] + public Input? NbIndex { get; set; } + + /// + /// Number of streams linked + /// + [Input("nbStream")] + public Input? NbStream { get; set; } + + /// + /// The service name + /// + [Input("serviceName")] + public Input? ServiceName { get; set; } + + [Input("streams")] + private InputList? _streams; + + /// + /// List of attached streams id + /// + public InputList Streams + { + get => _streams ?? (_streams = new InputList()); + set => _streams = value; + } + + /// + /// Index suffix + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + /// + /// Input last update + /// + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public LogsOutputOpenSearchAliasState() + { + } + public static new LogsOutputOpenSearchAliasState Empty => new LogsOutputOpenSearchAliasState(); + } +} diff --git a/sdk/dotnet/Dbaas/LogsOutputOpenSearchIndex.cs b/sdk/dotnet/Dbaas/LogsOutputOpenSearchIndex.cs new file mode 100644 index 00000000..19273d67 --- /dev/null +++ b/sdk/dotnet/Dbaas/LogsOutputOpenSearchIndex.cs @@ -0,0 +1,266 @@ +// *** 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; + +namespace Pulumi.Ovh.Dbaas +{ + /// + /// Creates a DBaaS Logs Opensearch output index. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Ovh = Pulumi.Ovh; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var index = new Ovh.Dbaas.LogsOutputOpenSearchIndex("index", new() + /// { + /// Description = "my opensearch index", + /// ServiceName = "....", + /// Suffix = "index", + /// }); + /// + /// }); + /// ``` + /// + [OvhResourceType("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex")] + public partial class LogsOutputOpenSearchIndex : global::Pulumi.CustomResource + { + /// + /// If set, notify when size is near 80, 90 or 100 % of its maximum capacity + /// + [Output("alertNotifyEnabled")] + public Output AlertNotifyEnabled { get; private set; } = null!; + + /// + /// Index creation + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Current index size (in bytes) + /// + [Output("currentSize")] + public Output CurrentSize { get; private set; } = null!; + + /// + /// Index description + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Index ID + /// + [Output("indexId")] + public Output IndexId { get; private set; } = null!; + + /// + /// Indicates if you are allowed to edit entry + /// + [Output("isEditable")] + public Output IsEditable { get; private set; } = null!; + + /// + /// Maximum index size (in bytes) + /// + [Output("maxSize")] + public Output MaxSize { get; private set; } = null!; + + /// + /// Index name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of shards + /// + [Output("nbShard")] + public Output NbShard { get; private set; } = null!; + + /// + /// The service name + /// + [Output("serviceName")] + public Output ServiceName { get; private set; } = null!; + + /// + /// Index suffix + /// + [Output("suffix")] + public Output Suffix { get; private set; } = null!; + + /// + /// Index last update + /// + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a LogsOutputOpenSearchIndex resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public LogsOutputOpenSearchIndex(string name, LogsOutputOpenSearchIndexArgs args, CustomResourceOptions? options = null) + : base("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, args ?? new LogsOutputOpenSearchIndexArgs(), MakeResourceOptions(options, "")) + { + } + + private LogsOutputOpenSearchIndex(string name, Input id, LogsOutputOpenSearchIndexState? state = null, CustomResourceOptions? options = null) + : base("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/ovh/pulumi-ovh", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing LogsOutputOpenSearchIndex resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static LogsOutputOpenSearchIndex Get(string name, Input id, LogsOutputOpenSearchIndexState? state = null, CustomResourceOptions? options = null) + { + return new LogsOutputOpenSearchIndex(name, id, state, options); + } + } + + public sealed class LogsOutputOpenSearchIndexArgs : global::Pulumi.ResourceArgs + { + /// + /// Index description + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Number of shards + /// + [Input("nbShard", required: true)] + public Input NbShard { get; set; } = null!; + + /// + /// The service name + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + /// + /// Index suffix + /// + [Input("suffix", required: true)] + public Input Suffix { get; set; } = null!; + + public LogsOutputOpenSearchIndexArgs() + { + } + public static new LogsOutputOpenSearchIndexArgs Empty => new LogsOutputOpenSearchIndexArgs(); + } + + public sealed class LogsOutputOpenSearchIndexState : global::Pulumi.ResourceArgs + { + /// + /// If set, notify when size is near 80, 90 or 100 % of its maximum capacity + /// + [Input("alertNotifyEnabled")] + public Input? AlertNotifyEnabled { get; set; } + + /// + /// Index creation + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Current index size (in bytes) + /// + [Input("currentSize")] + public Input? CurrentSize { get; set; } + + /// + /// Index description + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Index ID + /// + [Input("indexId")] + public Input? IndexId { get; set; } + + /// + /// Indicates if you are allowed to edit entry + /// + [Input("isEditable")] + public Input? IsEditable { get; set; } + + /// + /// Maximum index size (in bytes) + /// + [Input("maxSize")] + public Input? MaxSize { get; set; } + + /// + /// Index name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of shards + /// + [Input("nbShard")] + public Input? NbShard { get; set; } + + /// + /// The service name + /// + [Input("serviceName")] + public Input? ServiceName { get; set; } + + /// + /// Index suffix + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + /// + /// Index last update + /// + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public LogsOutputOpenSearchIndexState() + { + } + public static new LogsOutputOpenSearchIndexState Empty => new LogsOutputOpenSearchIndexState(); + } +} diff --git a/sdk/dotnet/Dedicated/Server.cs b/sdk/dotnet/Dedicated/Server.cs index 69c254c7..0cf5b8d5 100644 --- a/sdk/dotnet/Dedicated/Server.cs +++ b/sdk/dotnet/Dedicated/Server.cs @@ -12,13 +12,31 @@ namespace Pulumi.Ovh.Dedicated /// /// ## Import /// - /// Dedicated servers can be imported using the `service_name`, e.g.: + /// Dedicated servers can be imported using the `service_name`. + /// + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_dedicated_server.server + /// + /// id = "<service name>" + /// + /// } + /// + /// You can then run: /// /// bash /// - /// ```sh - /// $ pulumi import ovh:Dedicated/server:Server server service_name - /// ``` + /// $ pulumi preview -generate-config-out=dedicated.tf + /// + /// $ pulumi up + /// + /// The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:Dedicated/server:Server")] public partial class Server : global::Pulumi.CustomResource @@ -120,7 +138,7 @@ public partial class Server : global::Pulumi.CustomResource /// OVH subsidiaries /// [Output("ovhSubsidiary")] - public Output OvhSubsidiary { get; private set; } = null!; + public Output OvhSubsidiary { get; private set; } = null!; /// /// Partition scheme name @@ -226,7 +244,7 @@ public partial class Server : 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 Server(string name, ServerArgs args, CustomResourceOptions? options = null) + public Server(string name, ServerArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Dedicated/server:Server", name, args ?? new ServerArgs(), MakeResourceOptions(options, "")) { } @@ -304,8 +322,8 @@ public sealed class ServerArgs : global::Pulumi.ResourceArgs /// /// OVH subsidiaries /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Partition scheme name diff --git a/sdk/dotnet/Domain/Zone.cs b/sdk/dotnet/Domain/Zone.cs index 5f66a268..29651555 100644 --- a/sdk/dotnet/Domain/Zone.cs +++ b/sdk/dotnet/Domain/Zone.cs @@ -64,13 +64,31 @@ namespace Pulumi.Ovh.Domain /// /// ## Import /// - /// Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. + /// Zone can be imported using its `name`. + /// + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_domain_zone.zone + /// + /// id = "<zone name>" + /// + /// } + /// + /// You can then run: /// /// bash /// - /// ```sh - /// $ pulumi import ovh:Domain/zone:Zone zone order_id - /// ``` + /// $ pulumi preview -generate-config-out=zone.tf + /// + /// $ pulumi up + /// + /// The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:Domain/zone:Zone")] public partial class Zone : global::Pulumi.CustomResource @@ -146,7 +164,7 @@ public partial class Zone : 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 Zone(string name, ZoneArgs args, CustomResourceOptions? options = null) + public Zone(string name, ZoneArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Domain/zone:Zone", name, args ?? new ZoneArgs(), MakeResourceOptions(options, "")) { } @@ -200,8 +218,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -212,8 +230,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/Hosting/PrivateDatabase.cs b/sdk/dotnet/Hosting/PrivateDatabase.cs index ee3b6302..dcbfcc61 100644 --- a/sdk/dotnet/Hosting/PrivateDatabase.cs +++ b/sdk/dotnet/Hosting/PrivateDatabase.cs @@ -69,11 +69,31 @@ namespace Pulumi.Ovh.Hosting /// /// ## Import /// - /// OVHcloud Webhosting database can be imported using the `service_name`, E.g., + /// OVHcloud Webhosting database can be imported using the `service_name`. /// - /// ```sh - /// $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name - /// ``` + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_hosting_privatedatabase.database + /// + /// id = "<service name>" + /// + /// } + /// + /// You can then run: + /// + /// bash + /// + /// $ pulumi preview -generate-config-out=database.tf + /// + /// $ pulumi up + /// + /// The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:Hosting/privateDatabase:PrivateDatabase")] public partial class PrivateDatabase : global::Pulumi.CustomResource @@ -236,7 +256,7 @@ public partial class PrivateDatabase : 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 PrivateDatabase(string name, PrivateDatabaseArgs args, CustomResourceOptions? options = null) + public PrivateDatabase(string name, PrivateDatabaseArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Hosting/privateDatabase:PrivateDatabase", name, args ?? new PrivateDatabaseArgs(), MakeResourceOptions(options, "")) { } @@ -296,8 +316,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -308,8 +328,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/Ip/IpService.cs b/sdk/dotnet/Ip/IpService.cs index ed0fe9c3..97174438 100644 --- a/sdk/dotnet/Ip/IpService.cs +++ b/sdk/dotnet/Ip/IpService.cs @@ -57,6 +57,30 @@ namespace Pulumi.Ovh.Ip /// /// }); /// ``` + /// + /// ## Import + /// + /// The resource can be imported using its `service_name`, E.g., + /// + /// hcl + /// + /// import { + /// + /// to = ovh_ip_service.ipblock + /// + /// id = "ip-xx.xx.xx.xx" + /// + /// } + /// + /// bash + /// + /// $ pulumi preview -generate-config-out=ipblock.tf + /// + /// $ pulumi up + /// + /// The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:Ip/ipService:IpService")] public partial class IpService : global::Pulumi.CustomResource @@ -147,7 +171,7 @@ public partial class IpService : 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 IpService(string name, IpServiceArgs args, CustomResourceOptions? options = null) + public IpService(string name, IpServiceArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Ip/ipService:IpService", name, args ?? new IpServiceArgs(), MakeResourceOptions(options, "")) { } @@ -207,8 +231,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -219,8 +243,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/IpLoadBalancing/LoadBalancer.cs b/sdk/dotnet/IpLoadBalancing/LoadBalancer.cs index 9e4e2270..ef0a98e4 100644 --- a/sdk/dotnet/IpLoadBalancing/LoadBalancer.cs +++ b/sdk/dotnet/IpLoadBalancing/LoadBalancer.cs @@ -67,6 +67,34 @@ namespace Pulumi.Ovh.IpLoadBalancing /// /// }); /// ``` + /// + /// ## Import + /// + /// OVHcloud IP load balancing services can be imported using its `service_name`. + /// + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_iploadbalancing.iplb + /// + /// id = "<service name>" + /// + /// } + /// + /// You can then run: + /// + /// bash + /// + /// $ pulumi preview -generate-config-out=iplb.tf + /// + /// $ pulumi up + /// + /// The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:IpLoadBalancing/loadBalancer:LoadBalancer")] public partial class LoadBalancer : global::Pulumi.CustomResource @@ -193,7 +221,7 @@ public partial class LoadBalancer : 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 LoadBalancer(string name, LoadBalancerArgs args, CustomResourceOptions? options = null) + public LoadBalancer(string name, LoadBalancerArgs? args = null, CustomResourceOptions? options = null) : base("ovh:IpLoadBalancing/loadBalancer:LoadBalancer", name, args ?? new LoadBalancerArgs(), MakeResourceOptions(options, "")) { } @@ -257,8 +285,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -269,8 +297,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/IpLoadBalancing/Ssl.cs b/sdk/dotnet/IpLoadBalancing/Ssl.cs index 2146785d..953f2ecc 100644 --- a/sdk/dotnet/IpLoadBalancing/Ssl.cs +++ b/sdk/dotnet/IpLoadBalancing/Ssl.cs @@ -63,13 +63,13 @@ public partial class Ssl : global::Pulumi.CustomResource /// Certificate chain /// [Output("chain")] - public Output Chain { get; private set; } = null!; + public Output Chain { get; private set; } = null!; /// /// Readable label for loadbalancer ssl /// [Output("displayName")] - public Output DisplayName { get; private set; } = null!; + public Output DisplayName { get; private set; } = null!; /// /// Expire date of your SSL certificate. diff --git a/sdk/dotnet/IpLoadBalancing/UdpFarm.cs b/sdk/dotnet/IpLoadBalancing/UdpFarm.cs index 0a8ce9b1..cf0f6fcc 100644 --- a/sdk/dotnet/IpLoadBalancing/UdpFarm.cs +++ b/sdk/dotnet/IpLoadBalancing/UdpFarm.cs @@ -56,7 +56,7 @@ public partial class UdpFarm : global::Pulumi.CustomResource /// Readable label for loadbalancer farm /// [Output("displayName")] - public Output DisplayName { get; private set; } = null!; + public Output DisplayName { get; private set; } = null!; /// /// Id of your farm. @@ -80,7 +80,7 @@ public partial class UdpFarm : global::Pulumi.CustomResource /// Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack /// [Output("vrackNetworkId")] - public Output VrackNetworkId { get; private set; } = null!; + public Output VrackNetworkId { get; private set; } = null!; /// /// Zone where the farm will be defined (ie. `gra`, `bhs` also supports `all`) diff --git a/sdk/dotnet/IpLoadBalancing/UdpFarmServer.cs b/sdk/dotnet/IpLoadBalancing/UdpFarmServer.cs index 00ef798c..23bcb2b3 100644 --- a/sdk/dotnet/IpLoadBalancing/UdpFarmServer.cs +++ b/sdk/dotnet/IpLoadBalancing/UdpFarmServer.cs @@ -72,7 +72,7 @@ public partial class UdpFarmServer : global::Pulumi.CustomResource /// Label for the server /// [Output("displayName")] - public Output DisplayName { get; private set; } = null!; + public Output DisplayName { get; private set; } = null!; /// /// ID of the farm this server is attached to @@ -84,7 +84,7 @@ public partial class UdpFarmServer : global::Pulumi.CustomResource /// Port that backend will respond on /// [Output("port")] - public Output Port { get; private set; } = null!; + public Output Port { get; private set; } = null!; /// /// Id of your server. diff --git a/sdk/dotnet/IpLoadBalancing/UdpFrontend.cs b/sdk/dotnet/IpLoadBalancing/UdpFrontend.cs index 63965d53..d1c3f7f5 100644 --- a/sdk/dotnet/IpLoadBalancing/UdpFrontend.cs +++ b/sdk/dotnet/IpLoadBalancing/UdpFrontend.cs @@ -62,7 +62,7 @@ public partial class UdpFrontend : global::Pulumi.CustomResource /// Default UDP Farm of your frontend /// [Output("defaultFarmId")] - public Output DefaultFarmId { get; private set; } = null!; + public Output DefaultFarmId { get; private set; } = null!; /// /// Disable your frontend. Default: 'false' @@ -74,7 +74,7 @@ public partial class UdpFrontend : global::Pulumi.CustomResource /// Human readable name for your frontend /// [Output("displayName")] - public Output DisplayName { get; private set; } = null!; + public Output DisplayName { get; private set; } = null!; /// /// Id of your frontend diff --git a/sdk/dotnet/Vps/Vps.cs b/sdk/dotnet/Vps/Vps.cs index fe5d314e..b702d5fc 100644 --- a/sdk/dotnet/Vps/Vps.cs +++ b/sdk/dotnet/Vps/Vps.cs @@ -85,7 +85,7 @@ public partial class Vps : global::Pulumi.CustomResource /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) /// [Output("ovhSubsidiary")] - public Output OvhSubsidiary { get; private set; } = null!; + public Output OvhSubsidiary { get; private set; } = null!; /// /// Product Plan to order @@ -134,7 +134,7 @@ public partial class Vps : 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 Vps(string name, VpsArgs args, CustomResourceOptions? options = null) + public Vps(string name, VpsArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Vps/vps:Vps", name, args ?? new VpsArgs(), MakeResourceOptions(options, "")) { } @@ -230,8 +230,8 @@ public InputList MonitoringIpBlocks /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/dotnet/Vrack/Vrack.cs b/sdk/dotnet/Vrack/Vrack.cs index 781c3b46..ca1a07c4 100644 --- a/sdk/dotnet/Vrack/Vrack.cs +++ b/sdk/dotnet/Vrack/Vrack.cs @@ -52,13 +52,31 @@ namespace Pulumi.Ovh.Vrack /// /// ## Import /// - /// vRack can be imported using the `service_name`. + /// A vRack can be imported using the `service_name`. + /// + /// Using the following configuration: + /// + /// hcl + /// + /// import { + /// + /// to = ovh_vrack.vrack + /// + /// id = "<service name>" + /// + /// } + /// + /// You can then run: /// /// bash /// - /// ```sh - /// $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name - /// ``` + /// $ pulumi preview -generate-config-out=vrack.tf + /// + /// $ pulumi up + /// + /// The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + /// + /// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. /// [OvhResourceType("ovh:Vrack/vrack:Vrack")] public partial class Vrack : global::Pulumi.CustomResource @@ -125,7 +143,7 @@ public partial class Vrack : 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 Vrack(string name, VrackArgs args, CustomResourceOptions? options = null) + public Vrack(string name, VrackArgs? args = null, CustomResourceOptions? options = null) : base("ovh:Vrack/vrack:Vrack", name, args ?? new VrackArgs(), MakeResourceOptions(options, "")) { } @@ -191,8 +209,8 @@ public InputList Orders /// /// OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) /// - [Input("ovhSubsidiary", required: true)] - public Input OvhSubsidiary { get; set; } = null!; + [Input("ovhSubsidiary")] + public Input? OvhSubsidiary { get; set; } /// /// Ovh payment mode @@ -203,8 +221,8 @@ public InputList Orders /// /// Product Plan to order /// - [Input("plan", required: true)] - public Input Plan { get; set; } = null!; + [Input("plan")] + public Input? Plan { get; set; } [Input("planOptions")] private InputList? _planOptions; diff --git a/sdk/go.mod b/sdk/go.mod index f1fa4c87..eb5530d0 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -6,7 +6,7 @@ toolchain go1.21.1 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.133.0 + github.com/pulumi/pulumi/sdk/v3 v3.136.1 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 15266336..ecce3b21 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.133.0 h1:o+7dbJZY9BVgAjOF5GYIWgjp/zpKAgWZwD4pPjUMXKQ= -github.com/pulumi/pulumi/sdk/v3 v3.133.0/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/go/ovh/cloud/getProjects.go b/sdk/go/ovh/cloud/getProjects.go index 2d68365a..0471a843 100644 --- a/sdk/go/ovh/cloud/getProjects.go +++ b/sdk/go/ovh/cloud/getProjects.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Cloud.GetProjects(ctx, nil, nil) +// _, err := Cloud.GetProjects(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/cloudproject/database.go b/sdk/go/ovh/cloudproject/database.go index fc89d14c..cd8d18d4 100644 --- a/sdk/go/ovh/cloudproject/database.go +++ b/sdk/go/ovh/cloudproject/database.go @@ -54,7 +54,8 @@ import ( // ServiceName: pulumi.String("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), // Description: pulumi.String("my-first-kafka"), // Engine: pulumi.String("kafka"), -// Version: pulumi.String("3.4"), +// Version: pulumi.String("3.8"), +// Flavor: pulumi.String("db1-4"), // Plan: pulumi.String("business"), // KafkaRestApi: pulumi.Bool(true), // KafkaSchemaRegistry: pulumi.Bool(true), @@ -69,7 +70,6 @@ import ( // Region: pulumi.String("DE"), // }, // }, -// Flavor: pulumi.String("db1-4"), // }) // if err != nil { // return err @@ -310,7 +310,7 @@ type Database struct { AdvancedConfiguration pulumi.StringMapOutput `pulumi:"advancedConfiguration"` // List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field BackupRegions pulumi.StringArrayOutput `pulumi:"backupRegions"` - // Time on which backups start every day. + // Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). BackupTime pulumi.StringOutput `pulumi:"backupTime"` // Date of the creation of the cluster. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` @@ -411,7 +411,7 @@ type databaseState struct { AdvancedConfiguration map[string]string `pulumi:"advancedConfiguration"` // List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field BackupRegions []string `pulumi:"backupRegions"` - // Time on which backups start every day. + // Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). BackupTime *string `pulumi:"backupTime"` // Date of the creation of the cluster. CreatedAt *string `pulumi:"createdAt"` @@ -465,7 +465,7 @@ type DatabaseState struct { AdvancedConfiguration pulumi.StringMapInput // List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field BackupRegions pulumi.StringArrayInput - // Time on which backups start every day. + // Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). BackupTime pulumi.StringPtrInput // Date of the creation of the cluster. CreatedAt pulumi.StringPtrInput @@ -523,7 +523,7 @@ type databaseArgs struct { AdvancedConfiguration map[string]string `pulumi:"advancedConfiguration"` // List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field BackupRegions []string `pulumi:"backupRegions"` - // Time on which backups start every day. + // Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). BackupTime *string `pulumi:"backupTime"` // Small description of the database service. Description *string `pulumi:"description"` @@ -542,6 +542,8 @@ type databaseArgs struct { KafkaRestApi *bool `pulumi:"kafkaRestApi"` // Defines whether the schema registry is enabled on a Kafka cluster KafkaSchemaRegistry *bool `pulumi:"kafkaSchemaRegistry"` + // Time on which maintenances can start every day. + MaintenanceTime *string `pulumi:"maintenanceTime"` // List of nodes object. // Multi region cluster are not yet available, all node should be identical. Nodes []DatabaseNode `pulumi:"nodes"` @@ -566,7 +568,7 @@ type DatabaseArgs struct { AdvancedConfiguration pulumi.StringMapInput // List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field BackupRegions pulumi.StringArrayInput - // Time on which backups start every day. + // Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). BackupTime pulumi.StringPtrInput // Small description of the database service. Description pulumi.StringPtrInput @@ -585,6 +587,8 @@ type DatabaseArgs struct { KafkaRestApi pulumi.BoolPtrInput // Defines whether the schema registry is enabled on a Kafka cluster KafkaSchemaRegistry pulumi.BoolPtrInput + // Time on which maintenances can start every day. + MaintenanceTime pulumi.StringPtrInput // List of nodes object. // Multi region cluster are not yet available, all node should be identical. Nodes DatabaseNodeArrayInput @@ -700,7 +704,7 @@ func (o DatabaseOutput) BackupRegions() pulumi.StringArrayOutput { return o.ApplyT(func(v *Database) pulumi.StringArrayOutput { return v.BackupRegions }).(pulumi.StringArrayOutput) } -// Time on which backups start every day. +// Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). func (o DatabaseOutput) BackupTime() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.BackupTime }).(pulumi.StringOutput) } diff --git a/sdk/go/ovh/cloudproject/getVolume.go b/sdk/go/ovh/cloudproject/getVolume.go new file mode 100644 index 00000000..cb71a701 --- /dev/null +++ b/sdk/go/ovh/cloudproject/getVolume.go @@ -0,0 +1,157 @@ +// 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 cloudproject + +import ( + "context" + "reflect" + + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Get information about a volume in a public cloud project +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := CloudProject.GetVolume(ctx, &cloudproject.GetVolumeArgs{ +// RegionName: "xxx", +// ServiceName: "yyy", +// VolumeId: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetVolume(ctx *pulumi.Context, args *GetVolumeArgs, opts ...pulumi.InvokeOption) (*GetVolumeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetVolumeResult + err := ctx.Invoke("ovh:CloudProject/getVolume:getVolume", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVolume. +type GetVolumeArgs struct { + // A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + RegionName string `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName string `pulumi:"serviceName"` + // Volume id to get the informations + VolumeId string `pulumi:"volumeId"` +} + +// A collection of values returned by getVolume. +type GetVolumeResult struct { + Id string `pulumi:"id"` + // The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + Name string `pulumi:"name"` + // The region name where volume is available + RegionName string `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName string `pulumi:"serviceName"` + // The size of the volume + Size float64 `pulumi:"size"` + // The id of the volume + VolumeId string `pulumi:"volumeId"` +} + +func GetVolumeOutput(ctx *pulumi.Context, args GetVolumeOutputArgs, opts ...pulumi.InvokeOption) GetVolumeResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetVolumeResultOutput, error) { + args := v.(GetVolumeArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetVolumeResult + secret, err := ctx.InvokePackageRaw("ovh:CloudProject/getVolume:getVolume", args, &rv, "", opts...) + if err != nil { + return GetVolumeResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetVolumeResultOutput) + if secret { + return pulumi.ToSecret(output).(GetVolumeResultOutput), nil + } + return output, nil + }).(GetVolumeResultOutput) +} + +// A collection of arguments for invoking getVolume. +type GetVolumeOutputArgs struct { + // A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + RegionName pulumi.StringInput `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName pulumi.StringInput `pulumi:"serviceName"` + // Volume id to get the informations + VolumeId pulumi.StringInput `pulumi:"volumeId"` +} + +func (GetVolumeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeArgs)(nil)).Elem() +} + +// A collection of values returned by getVolume. +type GetVolumeResultOutput struct{ *pulumi.OutputState } + +func (GetVolumeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeResult)(nil)).Elem() +} + +func (o GetVolumeResultOutput) ToGetVolumeResultOutput() GetVolumeResultOutput { + return o +} + +func (o GetVolumeResultOutput) ToGetVolumeResultOutputWithContext(ctx context.Context) GetVolumeResultOutput { + return o +} + +func (o GetVolumeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") +func (o GetVolumeResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The region name where volume is available +func (o GetVolumeResultOutput) RegionName() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeResult) string { return v.RegionName }).(pulumi.StringOutput) +} + +// The id of the public cloud project. +func (o GetVolumeResultOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeResult) string { return v.ServiceName }).(pulumi.StringOutput) +} + +// The size of the volume +func (o GetVolumeResultOutput) Size() pulumi.Float64Output { + return o.ApplyT(func(v GetVolumeResult) float64 { return v.Size }).(pulumi.Float64Output) +} + +// The id of the volume +func (o GetVolumeResultOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeResult) string { return v.VolumeId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetVolumeResultOutput{}) +} diff --git a/sdk/go/ovh/cloudproject/getVolumes.go b/sdk/go/ovh/cloudproject/getVolumes.go new file mode 100644 index 00000000..4da193da --- /dev/null +++ b/sdk/go/ovh/cloudproject/getVolumes.go @@ -0,0 +1,138 @@ +// 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 cloudproject + +import ( + "context" + "reflect" + + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Get all the volume from a region of a public cloud project +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := CloudProject.GetVolume(ctx, &cloudproject.GetVolumeArgs{ +// RegionName: "xxx", +// ServiceName: "yyy", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetVolumes(ctx *pulumi.Context, args *GetVolumesArgs, opts ...pulumi.InvokeOption) (*GetVolumesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetVolumesResult + err := ctx.Invoke("ovh:CloudProject/getVolumes:getVolumes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVolumes. +type GetVolumesArgs struct { + // A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + RegionName string `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName string `pulumi:"serviceName"` +} + +// A collection of values returned by getVolumes. +type GetVolumesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The region name where volumes are available + RegionName string `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName string `pulumi:"serviceName"` + Volumes []GetVolumesVolume `pulumi:"volumes"` +} + +func GetVolumesOutput(ctx *pulumi.Context, args GetVolumesOutputArgs, opts ...pulumi.InvokeOption) GetVolumesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetVolumesResultOutput, error) { + args := v.(GetVolumesArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetVolumesResult + secret, err := ctx.InvokePackageRaw("ovh:CloudProject/getVolumes:getVolumes", args, &rv, "", opts...) + if err != nil { + return GetVolumesResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetVolumesResultOutput) + if secret { + return pulumi.ToSecret(output).(GetVolumesResultOutput), nil + } + return output, nil + }).(GetVolumesResultOutput) +} + +// A collection of arguments for invoking getVolumes. +type GetVolumesOutputArgs struct { + // A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + RegionName pulumi.StringInput `pulumi:"regionName"` + // The id of the public cloud project. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetVolumesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumesArgs)(nil)).Elem() +} + +// A collection of values returned by getVolumes. +type GetVolumesResultOutput struct{ *pulumi.OutputState } + +func (GetVolumesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumesResult)(nil)).Elem() +} + +func (o GetVolumesResultOutput) ToGetVolumesResultOutput() GetVolumesResultOutput { + return o +} + +func (o GetVolumesResultOutput) ToGetVolumesResultOutputWithContext(ctx context.Context) GetVolumesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetVolumesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The region name where volumes are available +func (o GetVolumesResultOutput) RegionName() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumesResult) string { return v.RegionName }).(pulumi.StringOutput) +} + +// The id of the public cloud project. +func (o GetVolumesResultOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumesResult) string { return v.ServiceName }).(pulumi.StringOutput) +} + +func (o GetVolumesResultOutput) Volumes() GetVolumesVolumeArrayOutput { + return o.ApplyT(func(v GetVolumesResult) []GetVolumesVolume { return v.Volumes }).(GetVolumesVolumeArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetVolumesResultOutput{}) +} diff --git a/sdk/go/ovh/cloudproject/init.go b/sdk/go/ovh/cloudproject/init.go index b551d6b5..73aaa01e 100644 --- a/sdk/go/ovh/cloudproject/init.go +++ b/sdk/go/ovh/cloudproject/init.go @@ -53,6 +53,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &NetworkPrivate{} case "ovh:CloudProject/networkPrivateSubnet:NetworkPrivateSubnet": r = &NetworkPrivateSubnet{} + case "ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2": + r = &NetworkPrivateSubnetV2{} case "ovh:CloudProject/project:Project": r = &Project{} case "ovh:CloudProject/regionLoadBalancerLogSubscription:RegionLoadBalancerLogSubscription": @@ -160,6 +162,11 @@ func init() { "CloudProject/networkPrivateSubnet", &module{version}, ) + pulumi.RegisterResourceModule( + "ovh", + "CloudProject/networkPrivateSubnetV2", + &module{version}, + ) pulumi.RegisterResourceModule( "ovh", "CloudProject/project", diff --git a/sdk/go/ovh/cloudproject/kube.go b/sdk/go/ovh/cloudproject/kube.go index f528d8e5..318b2483 100644 --- a/sdk/go/ovh/cloudproject/kube.go +++ b/sdk/go/ovh/cloudproject/kube.go @@ -42,19 +42,19 @@ type Kube struct { Kubeconfig pulumi.StringOutput `pulumi:"kubeconfig"` // The kubeconfig file attributes. KubeconfigAttributes KubeKubeconfigAttributeArrayOutput `pulumi:"kubeconfigAttributes"` - // Openstack private network (or vRack) ID to use for load balancers. + // Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. LoadBalancersSubnetId pulumi.StringPtrOutput `pulumi:"loadBalancersSubnetId"` // The name of the kubernetes cluster. Name pulumi.StringOutput `pulumi:"name"` // Kubernetes versions available for upgrade. NextUpgradeVersions pulumi.StringArrayOutput `pulumi:"nextUpgradeVersions"` - // Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + // Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** NodesSubnetId pulumi.StringOutput `pulumi:"nodesSubnetId"` // Cluster nodes URL. NodesUrl pulumi.StringOutput `pulumi:"nodesUrl"` // The private network configuration. If this is set then the 2 parameters below shall be defined. PrivateNetworkConfiguration KubePrivateNetworkConfigurationPtrOutput `pulumi:"privateNetworkConfiguration"` - // OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + // Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. PrivateNetworkId pulumi.StringPtrOutput `pulumi:"privateNetworkId"` @@ -131,19 +131,19 @@ type kubeState struct { Kubeconfig *string `pulumi:"kubeconfig"` // The kubeconfig file attributes. KubeconfigAttributes []KubeKubeconfigAttribute `pulumi:"kubeconfigAttributes"` - // Openstack private network (or vRack) ID to use for load balancers. + // Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. LoadBalancersSubnetId *string `pulumi:"loadBalancersSubnetId"` // The name of the kubernetes cluster. Name *string `pulumi:"name"` // Kubernetes versions available for upgrade. NextUpgradeVersions []string `pulumi:"nextUpgradeVersions"` - // Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + // Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** NodesSubnetId *string `pulumi:"nodesSubnetId"` // Cluster nodes URL. NodesUrl *string `pulumi:"nodesUrl"` // The private network configuration. If this is set then the 2 parameters below shall be defined. PrivateNetworkConfiguration *KubePrivateNetworkConfiguration `pulumi:"privateNetworkConfiguration"` - // OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + // Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. PrivateNetworkId *string `pulumi:"privateNetworkId"` @@ -180,19 +180,19 @@ type KubeState struct { Kubeconfig pulumi.StringPtrInput // The kubeconfig file attributes. KubeconfigAttributes KubeKubeconfigAttributeArrayInput - // Openstack private network (or vRack) ID to use for load balancers. + // Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. LoadBalancersSubnetId pulumi.StringPtrInput // The name of the kubernetes cluster. Name pulumi.StringPtrInput // Kubernetes versions available for upgrade. NextUpgradeVersions pulumi.StringArrayInput - // Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + // Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** NodesSubnetId pulumi.StringPtrInput // Cluster nodes URL. NodesUrl pulumi.StringPtrInput // The private network configuration. If this is set then the 2 parameters below shall be defined. PrivateNetworkConfiguration KubePrivateNetworkConfigurationPtrInput - // OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + // Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. PrivateNetworkId pulumi.StringPtrInput @@ -225,15 +225,15 @@ type kubeArgs struct { Customizations []KubeCustomization `pulumi:"customizations"` // Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. KubeProxyMode *string `pulumi:"kubeProxyMode"` - // Openstack private network (or vRack) ID to use for load balancers. + // Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. LoadBalancersSubnetId *string `pulumi:"loadBalancersSubnetId"` // The name of the kubernetes cluster. Name *string `pulumi:"name"` - // Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + // Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** NodesSubnetId *string `pulumi:"nodesSubnetId"` // The private network configuration. If this is set then the 2 parameters below shall be defined. PrivateNetworkConfiguration *KubePrivateNetworkConfiguration `pulumi:"privateNetworkConfiguration"` - // OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + // Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. PrivateNetworkId *string `pulumi:"privateNetworkId"` @@ -259,15 +259,15 @@ type KubeArgs struct { Customizations KubeCustomizationArrayInput // Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. KubeProxyMode pulumi.StringPtrInput - // Openstack private network (or vRack) ID to use for load balancers. + // Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. LoadBalancersSubnetId pulumi.StringPtrInput // The name of the kubernetes cluster. Name pulumi.StringPtrInput - // Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + // Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** NodesSubnetId pulumi.StringPtrInput // The private network configuration. If this is set then the 2 parameters below shall be defined. PrivateNetworkConfiguration KubePrivateNetworkConfigurationPtrInput - // OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + // Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. PrivateNetworkId pulumi.StringPtrInput @@ -410,7 +410,7 @@ func (o KubeOutput) KubeconfigAttributes() KubeKubeconfigAttributeArrayOutput { return o.ApplyT(func(v *Kube) KubeKubeconfigAttributeArrayOutput { return v.KubeconfigAttributes }).(KubeKubeconfigAttributeArrayOutput) } -// Openstack private network (or vRack) ID to use for load balancers. +// Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. func (o KubeOutput) LoadBalancersSubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Kube) pulumi.StringPtrOutput { return v.LoadBalancersSubnetId }).(pulumi.StringPtrOutput) } @@ -425,7 +425,7 @@ func (o KubeOutput) NextUpgradeVersions() pulumi.StringArrayOutput { return o.ApplyT(func(v *Kube) pulumi.StringArrayOutput { return v.NextUpgradeVersions }).(pulumi.StringArrayOutput) } -// Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** +// Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** func (o KubeOutput) NodesSubnetId() pulumi.StringOutput { return o.ApplyT(func(v *Kube) pulumi.StringOutput { return v.NodesSubnetId }).(pulumi.StringOutput) } @@ -440,7 +440,7 @@ func (o KubeOutput) PrivateNetworkConfiguration() KubePrivateNetworkConfiguratio return o.ApplyT(func(v *Kube) KubePrivateNetworkConfigurationPtrOutput { return v.PrivateNetworkConfiguration }).(KubePrivateNetworkConfigurationPtrOutput) } -// OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. +// Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. // // > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. func (o KubeOutput) PrivateNetworkId() pulumi.StringPtrOutput { diff --git a/sdk/go/ovh/cloudproject/networkPrivateSubnet.go b/sdk/go/ovh/cloudproject/networkPrivateSubnet.go index 3a712569..48e75adc 100644 --- a/sdk/go/ovh/cloudproject/networkPrivateSubnet.go +++ b/sdk/go/ovh/cloudproject/networkPrivateSubnet.go @@ -63,7 +63,6 @@ type NetworkPrivateSubnet struct { Cidr pulumi.StringOutput `pulumi:"cidr"` // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp pulumi.BoolPtrOutput `pulumi:"dhcp"` // Last ip for this region. // Changing this value recreates the subnet. @@ -149,7 +148,6 @@ type networkPrivateSubnetState struct { Cidr *string `pulumi:"cidr"` // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp *bool `pulumi:"dhcp"` // Last ip for this region. // Changing this value recreates the subnet. @@ -188,7 +186,6 @@ type NetworkPrivateSubnetState struct { Cidr pulumi.StringPtrInput // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp pulumi.BoolPtrInput // Last ip for this region. // Changing this value recreates the subnet. @@ -229,7 +226,6 @@ func (NetworkPrivateSubnetState) ElementType() reflect.Type { type networkPrivateSubnetArgs struct { // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp *bool `pulumi:"dhcp"` // Last ip for this region. // Changing this value recreates the subnet. @@ -258,7 +254,6 @@ type networkPrivateSubnetArgs struct { type NetworkPrivateSubnetArgs struct { // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp pulumi.BoolPtrInput // Last ip for this region. // Changing this value recreates the subnet. @@ -377,7 +372,6 @@ func (o NetworkPrivateSubnetOutput) Cidr() pulumi.StringOutput { // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. -// _ func (o NetworkPrivateSubnetOutput) Dhcp() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NetworkPrivateSubnet) pulumi.BoolPtrOutput { return v.Dhcp }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/ovh/cloudproject/networkPrivateSubnetV2.go b/sdk/go/ovh/cloudproject/networkPrivateSubnetV2.go new file mode 100644 index 00000000..e92fa2dd --- /dev/null +++ b/sdk/go/ovh/cloudproject/networkPrivateSubnetV2.go @@ -0,0 +1,472 @@ +// 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 cloudproject + +import ( + "context" + "reflect" + + "errors" + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Creates a subnet in a private network of a public cloud region. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/CloudProject" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := CloudProject.NewNetworkPrivateSubnetV2(ctx, "subnet", &CloudProject.NetworkPrivateSubnetV2Args{ +// Cidr: pulumi.String("192.168.168.0/24"), +// Dhcp: pulumi.Bool(true), +// DnsNameservers: pulumi.StringArray{ +// pulumi.String("1.1.1.1"), +// }, +// EnableGatewayIp: pulumi.Bool(true), +// NetworkId: pulumi.String("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), +// Region: pulumi.String("XXX1"), +// ServiceName: pulumi.String("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., +// +// bash +// +// ```sh +// $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 +// ``` +type NetworkPrivateSubnetV2 struct { + pulumi.CustomResourceState + + // DHCP allocation pools of subnet + AllocationPools NetworkPrivateSubnetV2AllocationPoolArrayOutput `pulumi:"allocationPools"` + // IP range of the subnet + // Changing this value recreates the subnet. + Cidr pulumi.StringOutput `pulumi:"cidr"` + // Enable DHCP. + // Changing this forces a new resource to be created. Defaults to true. + Dhcp pulumi.BoolPtrOutput `pulumi:"dhcp"` + // DNS nameservers used by DHCP + // Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + DnsNameservers pulumi.StringArrayOutput `pulumi:"dnsNameservers"` + // Set to true if you want to set a default gateway IP. + // Changing this value recreates the resource. Defaults to true. + EnableGatewayIp pulumi.BoolPtrOutput `pulumi:"enableGatewayIp"` + // See Argument Reference above. + GatewayIp pulumi.StringOutput `pulumi:"gatewayIp"` + // Static host routes of subnet + HostRoutes NetworkPrivateSubnetV2HostRouteArrayOutput `pulumi:"hostRoutes"` + // Name of the subnet + // Changing this value recreates the subnet. + Name pulumi.StringOutput `pulumi:"name"` + // The id of the network. + // Changing this forces a new resource to be created. + NetworkId pulumi.StringOutput `pulumi:"networkId"` + // The region in which the network subnet will be created. + // Ex.: "GRA1". Changing this value recreates the resource. + Region pulumi.StringOutput `pulumi:"region"` + // The id of the public cloud project. If omitted, + // the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + ServiceName pulumi.StringOutput `pulumi:"serviceName"` +} + +// NewNetworkPrivateSubnetV2 registers a new resource with the given unique name, arguments, and options. +func NewNetworkPrivateSubnetV2(ctx *pulumi.Context, + name string, args *NetworkPrivateSubnetV2Args, opts ...pulumi.ResourceOption) (*NetworkPrivateSubnetV2, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Cidr == nil { + return nil, errors.New("invalid value for required argument 'Cidr'") + } + if args.NetworkId == nil { + return nil, errors.New("invalid value for required argument 'NetworkId'") + } + if args.Region == nil { + return nil, errors.New("invalid value for required argument 'Region'") + } + if args.ServiceName == nil { + return nil, errors.New("invalid value for required argument 'ServiceName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource NetworkPrivateSubnetV2 + err := ctx.RegisterResource("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNetworkPrivateSubnetV2 gets an existing NetworkPrivateSubnetV2 resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetNetworkPrivateSubnetV2(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NetworkPrivateSubnetV2State, opts ...pulumi.ResourceOption) (*NetworkPrivateSubnetV2, error) { + var resource NetworkPrivateSubnetV2 + err := ctx.ReadResource("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering NetworkPrivateSubnetV2 resources. +type networkPrivateSubnetV2State struct { + // DHCP allocation pools of subnet + AllocationPools []NetworkPrivateSubnetV2AllocationPool `pulumi:"allocationPools"` + // IP range of the subnet + // Changing this value recreates the subnet. + Cidr *string `pulumi:"cidr"` + // Enable DHCP. + // Changing this forces a new resource to be created. Defaults to true. + Dhcp *bool `pulumi:"dhcp"` + // DNS nameservers used by DHCP + // Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + DnsNameservers []string `pulumi:"dnsNameservers"` + // Set to true if you want to set a default gateway IP. + // Changing this value recreates the resource. Defaults to true. + EnableGatewayIp *bool `pulumi:"enableGatewayIp"` + // See Argument Reference above. + GatewayIp *string `pulumi:"gatewayIp"` + // Static host routes of subnet + HostRoutes []NetworkPrivateSubnetV2HostRoute `pulumi:"hostRoutes"` + // Name of the subnet + // Changing this value recreates the subnet. + Name *string `pulumi:"name"` + // The id of the network. + // Changing this forces a new resource to be created. + NetworkId *string `pulumi:"networkId"` + // The region in which the network subnet will be created. + // Ex.: "GRA1". Changing this value recreates the resource. + Region *string `pulumi:"region"` + // The id of the public cloud project. If omitted, + // the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + ServiceName *string `pulumi:"serviceName"` +} + +type NetworkPrivateSubnetV2State struct { + // DHCP allocation pools of subnet + AllocationPools NetworkPrivateSubnetV2AllocationPoolArrayInput + // IP range of the subnet + // Changing this value recreates the subnet. + Cidr pulumi.StringPtrInput + // Enable DHCP. + // Changing this forces a new resource to be created. Defaults to true. + Dhcp pulumi.BoolPtrInput + // DNS nameservers used by DHCP + // Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + DnsNameservers pulumi.StringArrayInput + // Set to true if you want to set a default gateway IP. + // Changing this value recreates the resource. Defaults to true. + EnableGatewayIp pulumi.BoolPtrInput + // See Argument Reference above. + GatewayIp pulumi.StringPtrInput + // Static host routes of subnet + HostRoutes NetworkPrivateSubnetV2HostRouteArrayInput + // Name of the subnet + // Changing this value recreates the subnet. + Name pulumi.StringPtrInput + // The id of the network. + // Changing this forces a new resource to be created. + NetworkId pulumi.StringPtrInput + // The region in which the network subnet will be created. + // Ex.: "GRA1". Changing this value recreates the resource. + Region pulumi.StringPtrInput + // The id of the public cloud project. If omitted, + // the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + ServiceName pulumi.StringPtrInput +} + +func (NetworkPrivateSubnetV2State) ElementType() reflect.Type { + return reflect.TypeOf((*networkPrivateSubnetV2State)(nil)).Elem() +} + +type networkPrivateSubnetV2Args struct { + // DHCP allocation pools of subnet + AllocationPools []NetworkPrivateSubnetV2AllocationPool `pulumi:"allocationPools"` + // IP range of the subnet + // Changing this value recreates the subnet. + Cidr string `pulumi:"cidr"` + // Enable DHCP. + // Changing this forces a new resource to be created. Defaults to true. + Dhcp *bool `pulumi:"dhcp"` + // DNS nameservers used by DHCP + // Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + DnsNameservers []string `pulumi:"dnsNameservers"` + // Set to true if you want to set a default gateway IP. + // Changing this value recreates the resource. Defaults to true. + EnableGatewayIp *bool `pulumi:"enableGatewayIp"` + // See Argument Reference above. + GatewayIp *string `pulumi:"gatewayIp"` + // Static host routes of subnet + HostRoutes []NetworkPrivateSubnetV2HostRoute `pulumi:"hostRoutes"` + // Name of the subnet + // Changing this value recreates the subnet. + Name *string `pulumi:"name"` + // The id of the network. + // Changing this forces a new resource to be created. + NetworkId string `pulumi:"networkId"` + // The region in which the network subnet will be created. + // Ex.: "GRA1". Changing this value recreates the resource. + Region string `pulumi:"region"` + // The id of the public cloud project. If omitted, + // the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + ServiceName string `pulumi:"serviceName"` +} + +// The set of arguments for constructing a NetworkPrivateSubnetV2 resource. +type NetworkPrivateSubnetV2Args struct { + // DHCP allocation pools of subnet + AllocationPools NetworkPrivateSubnetV2AllocationPoolArrayInput + // IP range of the subnet + // Changing this value recreates the subnet. + Cidr pulumi.StringInput + // Enable DHCP. + // Changing this forces a new resource to be created. Defaults to true. + Dhcp pulumi.BoolPtrInput + // DNS nameservers used by DHCP + // Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + DnsNameservers pulumi.StringArrayInput + // Set to true if you want to set a default gateway IP. + // Changing this value recreates the resource. Defaults to true. + EnableGatewayIp pulumi.BoolPtrInput + // See Argument Reference above. + GatewayIp pulumi.StringPtrInput + // Static host routes of subnet + HostRoutes NetworkPrivateSubnetV2HostRouteArrayInput + // Name of the subnet + // Changing this value recreates the subnet. + Name pulumi.StringPtrInput + // The id of the network. + // Changing this forces a new resource to be created. + NetworkId pulumi.StringInput + // The region in which the network subnet will be created. + // Ex.: "GRA1". Changing this value recreates the resource. + Region pulumi.StringInput + // The id of the public cloud project. If omitted, + // the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + ServiceName pulumi.StringInput +} + +func (NetworkPrivateSubnetV2Args) ElementType() reflect.Type { + return reflect.TypeOf((*networkPrivateSubnetV2Args)(nil)).Elem() +} + +type NetworkPrivateSubnetV2Input interface { + pulumi.Input + + ToNetworkPrivateSubnetV2Output() NetworkPrivateSubnetV2Output + ToNetworkPrivateSubnetV2OutputWithContext(ctx context.Context) NetworkPrivateSubnetV2Output +} + +func (*NetworkPrivateSubnetV2) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (i *NetworkPrivateSubnetV2) ToNetworkPrivateSubnetV2Output() NetworkPrivateSubnetV2Output { + return i.ToNetworkPrivateSubnetV2OutputWithContext(context.Background()) +} + +func (i *NetworkPrivateSubnetV2) ToNetworkPrivateSubnetV2OutputWithContext(ctx context.Context) NetworkPrivateSubnetV2Output { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2Output) +} + +// NetworkPrivateSubnetV2ArrayInput is an input type that accepts NetworkPrivateSubnetV2Array and NetworkPrivateSubnetV2ArrayOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2ArrayInput` via: +// +// NetworkPrivateSubnetV2Array{ NetworkPrivateSubnetV2Args{...} } +type NetworkPrivateSubnetV2ArrayInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2ArrayOutput() NetworkPrivateSubnetV2ArrayOutput + ToNetworkPrivateSubnetV2ArrayOutputWithContext(context.Context) NetworkPrivateSubnetV2ArrayOutput +} + +type NetworkPrivateSubnetV2Array []NetworkPrivateSubnetV2Input + +func (NetworkPrivateSubnetV2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2Array) ToNetworkPrivateSubnetV2ArrayOutput() NetworkPrivateSubnetV2ArrayOutput { + return i.ToNetworkPrivateSubnetV2ArrayOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2Array) ToNetworkPrivateSubnetV2ArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2ArrayOutput) +} + +// NetworkPrivateSubnetV2MapInput is an input type that accepts NetworkPrivateSubnetV2Map and NetworkPrivateSubnetV2MapOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2MapInput` via: +// +// NetworkPrivateSubnetV2Map{ "key": NetworkPrivateSubnetV2Args{...} } +type NetworkPrivateSubnetV2MapInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2MapOutput() NetworkPrivateSubnetV2MapOutput + ToNetworkPrivateSubnetV2MapOutputWithContext(context.Context) NetworkPrivateSubnetV2MapOutput +} + +type NetworkPrivateSubnetV2Map map[string]NetworkPrivateSubnetV2Input + +func (NetworkPrivateSubnetV2Map) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2Map) ToNetworkPrivateSubnetV2MapOutput() NetworkPrivateSubnetV2MapOutput { + return i.ToNetworkPrivateSubnetV2MapOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2Map) ToNetworkPrivateSubnetV2MapOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2MapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2MapOutput) +} + +type NetworkPrivateSubnetV2Output struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2Output) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2Output) ToNetworkPrivateSubnetV2Output() NetworkPrivateSubnetV2Output { + return o +} + +func (o NetworkPrivateSubnetV2Output) ToNetworkPrivateSubnetV2OutputWithContext(ctx context.Context) NetworkPrivateSubnetV2Output { + return o +} + +// DHCP allocation pools of subnet +func (o NetworkPrivateSubnetV2Output) AllocationPools() NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return v.AllocationPools + }).(NetworkPrivateSubnetV2AllocationPoolArrayOutput) +} + +// IP range of the subnet +// Changing this value recreates the subnet. +func (o NetworkPrivateSubnetV2Output) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.Cidr }).(pulumi.StringOutput) +} + +// Enable DHCP. +// Changing this forces a new resource to be created. Defaults to true. +func (o NetworkPrivateSubnetV2Output) Dhcp() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.BoolPtrOutput { return v.Dhcp }).(pulumi.BoolPtrOutput) +} + +// DNS nameservers used by DHCP +// Changing this value recreates the resource. Defaults to OVH default DNS nameserver. +func (o NetworkPrivateSubnetV2Output) DnsNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringArrayOutput { return v.DnsNameservers }).(pulumi.StringArrayOutput) +} + +// Set to true if you want to set a default gateway IP. +// Changing this value recreates the resource. Defaults to true. +func (o NetworkPrivateSubnetV2Output) EnableGatewayIp() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.BoolPtrOutput { return v.EnableGatewayIp }).(pulumi.BoolPtrOutput) +} + +// See Argument Reference above. +func (o NetworkPrivateSubnetV2Output) GatewayIp() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.GatewayIp }).(pulumi.StringOutput) +} + +// Static host routes of subnet +func (o NetworkPrivateSubnetV2Output) HostRoutes() NetworkPrivateSubnetV2HostRouteArrayOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) NetworkPrivateSubnetV2HostRouteArrayOutput { return v.HostRoutes }).(NetworkPrivateSubnetV2HostRouteArrayOutput) +} + +// Name of the subnet +// Changing this value recreates the subnet. +func (o NetworkPrivateSubnetV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The id of the network. +// Changing this forces a new resource to be created. +func (o NetworkPrivateSubnetV2Output) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.NetworkId }).(pulumi.StringOutput) +} + +// The region in which the network subnet will be created. +// Ex.: "GRA1". Changing this value recreates the resource. +func (o NetworkPrivateSubnetV2Output) Region() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The id of the public cloud project. If omitted, +// the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. +func (o NetworkPrivateSubnetV2Output) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkPrivateSubnetV2) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) +} + +type NetworkPrivateSubnetV2ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2ArrayOutput) ToNetworkPrivateSubnetV2ArrayOutput() NetworkPrivateSubnetV2ArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2ArrayOutput) ToNetworkPrivateSubnetV2ArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2ArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2ArrayOutput) Index(i pulumi.IntInput) NetworkPrivateSubnetV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NetworkPrivateSubnetV2 { + return vs[0].([]*NetworkPrivateSubnetV2)[vs[1].(int)] + }).(NetworkPrivateSubnetV2Output) +} + +type NetworkPrivateSubnetV2MapOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2MapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NetworkPrivateSubnetV2)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2MapOutput) ToNetworkPrivateSubnetV2MapOutput() NetworkPrivateSubnetV2MapOutput { + return o +} + +func (o NetworkPrivateSubnetV2MapOutput) ToNetworkPrivateSubnetV2MapOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2MapOutput { + return o +} + +func (o NetworkPrivateSubnetV2MapOutput) MapIndex(k pulumi.StringInput) NetworkPrivateSubnetV2Output { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NetworkPrivateSubnetV2 { + return vs[0].(map[string]*NetworkPrivateSubnetV2)[vs[1].(string)] + }).(NetworkPrivateSubnetV2Output) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2Input)(nil)).Elem(), &NetworkPrivateSubnetV2{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2ArrayInput)(nil)).Elem(), NetworkPrivateSubnetV2Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2MapInput)(nil)).Elem(), NetworkPrivateSubnetV2Map{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2Output{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2ArrayOutput{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2MapOutput{}) +} diff --git a/sdk/go/ovh/cloudproject/project.go b/sdk/go/ovh/cloudproject/project.go index 426d8f25..4e113254 100644 --- a/sdk/go/ovh/cloudproject/project.go +++ b/sdk/go/ovh/cloudproject/project.go @@ -7,20 +7,37 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // ## Import // -// Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. +// Cloud project can be imported using the `project_id`. +// +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_cloud_project.my_cloud_project +// +// id = "" +// +// } +// +// You can then run: // // bash // -// ```sh -// $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id -// ``` +// $ pulumi preview -generate-config-out=cloudproject.tf +// +// $ pulumi up +// +// The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type Project struct { pulumi.CustomResourceState @@ -53,15 +70,9 @@ type Project struct { func NewProject(ctx *pulumi.Context, name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &ProjectArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Project err := ctx.RegisterResource("ovh:CloudProject/project:Project", name, args, &resource, opts...) @@ -146,13 +157,13 @@ type projectArgs struct { // Details about the order that was used to create the public cloud project Orders []ProjectOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan ProjectPlan `pulumi:"plan"` + Plan *ProjectPlan `pulumi:"plan"` // Product Plan to order PlanOptions []ProjectPlanOption `pulumi:"planOptions"` } @@ -164,13 +175,13 @@ type ProjectArgs struct { // Details about the order that was used to create the public cloud project Orders ProjectOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan ProjectPlanInput + Plan ProjectPlanPtrInput // Product Plan to order PlanOptions ProjectPlanOptionArrayInput } diff --git a/sdk/go/ovh/cloudproject/pulumiTypes.go b/sdk/go/ovh/cloudproject/pulumiTypes.go index 5dd520d9..328a9a32 100644 --- a/sdk/go/ovh/cloudproject/pulumiTypes.go +++ b/sdk/go/ovh/cloudproject/pulumiTypes.go @@ -3171,7 +3171,6 @@ func (o NetworkPrivateRegionsStatusArrayOutput) Index(i pulumi.IntInput) Network type NetworkPrivateSubnetIpPool struct { // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp *bool `pulumi:"dhcp"` // Last ip for this region. // Changing this value recreates the subnet. @@ -3201,7 +3200,6 @@ type NetworkPrivateSubnetIpPoolInput interface { type NetworkPrivateSubnetIpPoolArgs struct { // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. - // _ Dhcp pulumi.BoolPtrInput `pulumi:"dhcp"` // Last ip for this region. // Changing this value recreates the subnet. @@ -3270,7 +3268,6 @@ func (o NetworkPrivateSubnetIpPoolOutput) ToNetworkPrivateSubnetIpPoolOutputWith // Enable DHCP. // Changing this forces a new resource to be created. Defaults to false. -// _ func (o NetworkPrivateSubnetIpPoolOutput) Dhcp() pulumi.BoolPtrOutput { return o.ApplyT(func(v NetworkPrivateSubnetIpPool) *bool { return v.Dhcp }).(pulumi.BoolPtrOutput) } @@ -3319,6 +3316,206 @@ func (o NetworkPrivateSubnetIpPoolArrayOutput) Index(i pulumi.IntInput) NetworkP }).(NetworkPrivateSubnetIpPoolOutput) } +type NetworkPrivateSubnetV2AllocationPool struct { + End string `pulumi:"end"` + Start string `pulumi:"start"` +} + +// NetworkPrivateSubnetV2AllocationPoolInput is an input type that accepts NetworkPrivateSubnetV2AllocationPoolArgs and NetworkPrivateSubnetV2AllocationPoolOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2AllocationPoolInput` via: +// +// NetworkPrivateSubnetV2AllocationPoolArgs{...} +type NetworkPrivateSubnetV2AllocationPoolInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2AllocationPoolOutput() NetworkPrivateSubnetV2AllocationPoolOutput + ToNetworkPrivateSubnetV2AllocationPoolOutputWithContext(context.Context) NetworkPrivateSubnetV2AllocationPoolOutput +} + +type NetworkPrivateSubnetV2AllocationPoolArgs struct { + End pulumi.StringInput `pulumi:"end"` + Start pulumi.StringInput `pulumi:"start"` +} + +func (NetworkPrivateSubnetV2AllocationPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkPrivateSubnetV2AllocationPool)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2AllocationPoolArgs) ToNetworkPrivateSubnetV2AllocationPoolOutput() NetworkPrivateSubnetV2AllocationPoolOutput { + return i.ToNetworkPrivateSubnetV2AllocationPoolOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2AllocationPoolArgs) ToNetworkPrivateSubnetV2AllocationPoolOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2AllocationPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2AllocationPoolOutput) +} + +// NetworkPrivateSubnetV2AllocationPoolArrayInput is an input type that accepts NetworkPrivateSubnetV2AllocationPoolArray and NetworkPrivateSubnetV2AllocationPoolArrayOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2AllocationPoolArrayInput` via: +// +// NetworkPrivateSubnetV2AllocationPoolArray{ NetworkPrivateSubnetV2AllocationPoolArgs{...} } +type NetworkPrivateSubnetV2AllocationPoolArrayInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2AllocationPoolArrayOutput() NetworkPrivateSubnetV2AllocationPoolArrayOutput + ToNetworkPrivateSubnetV2AllocationPoolArrayOutputWithContext(context.Context) NetworkPrivateSubnetV2AllocationPoolArrayOutput +} + +type NetworkPrivateSubnetV2AllocationPoolArray []NetworkPrivateSubnetV2AllocationPoolInput + +func (NetworkPrivateSubnetV2AllocationPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkPrivateSubnetV2AllocationPool)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2AllocationPoolArray) ToNetworkPrivateSubnetV2AllocationPoolArrayOutput() NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return i.ToNetworkPrivateSubnetV2AllocationPoolArrayOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2AllocationPoolArray) ToNetworkPrivateSubnetV2AllocationPoolArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2AllocationPoolArrayOutput) +} + +type NetworkPrivateSubnetV2AllocationPoolOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2AllocationPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkPrivateSubnetV2AllocationPool)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2AllocationPoolOutput) ToNetworkPrivateSubnetV2AllocationPoolOutput() NetworkPrivateSubnetV2AllocationPoolOutput { + return o +} + +func (o NetworkPrivateSubnetV2AllocationPoolOutput) ToNetworkPrivateSubnetV2AllocationPoolOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2AllocationPoolOutput { + return o +} + +func (o NetworkPrivateSubnetV2AllocationPoolOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v NetworkPrivateSubnetV2AllocationPool) string { return v.End }).(pulumi.StringOutput) +} + +func (o NetworkPrivateSubnetV2AllocationPoolOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v NetworkPrivateSubnetV2AllocationPool) string { return v.Start }).(pulumi.StringOutput) +} + +type NetworkPrivateSubnetV2AllocationPoolArrayOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2AllocationPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkPrivateSubnetV2AllocationPool)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2AllocationPoolArrayOutput) ToNetworkPrivateSubnetV2AllocationPoolArrayOutput() NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2AllocationPoolArrayOutput) ToNetworkPrivateSubnetV2AllocationPoolArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2AllocationPoolArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2AllocationPoolArrayOutput) Index(i pulumi.IntInput) NetworkPrivateSubnetV2AllocationPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkPrivateSubnetV2AllocationPool { + return vs[0].([]NetworkPrivateSubnetV2AllocationPool)[vs[1].(int)] + }).(NetworkPrivateSubnetV2AllocationPoolOutput) +} + +type NetworkPrivateSubnetV2HostRoute struct { + Destination string `pulumi:"destination"` + Nexthop string `pulumi:"nexthop"` +} + +// NetworkPrivateSubnetV2HostRouteInput is an input type that accepts NetworkPrivateSubnetV2HostRouteArgs and NetworkPrivateSubnetV2HostRouteOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2HostRouteInput` via: +// +// NetworkPrivateSubnetV2HostRouteArgs{...} +type NetworkPrivateSubnetV2HostRouteInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2HostRouteOutput() NetworkPrivateSubnetV2HostRouteOutput + ToNetworkPrivateSubnetV2HostRouteOutputWithContext(context.Context) NetworkPrivateSubnetV2HostRouteOutput +} + +type NetworkPrivateSubnetV2HostRouteArgs struct { + Destination pulumi.StringInput `pulumi:"destination"` + Nexthop pulumi.StringInput `pulumi:"nexthop"` +} + +func (NetworkPrivateSubnetV2HostRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkPrivateSubnetV2HostRoute)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2HostRouteArgs) ToNetworkPrivateSubnetV2HostRouteOutput() NetworkPrivateSubnetV2HostRouteOutput { + return i.ToNetworkPrivateSubnetV2HostRouteOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2HostRouteArgs) ToNetworkPrivateSubnetV2HostRouteOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2HostRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2HostRouteOutput) +} + +// NetworkPrivateSubnetV2HostRouteArrayInput is an input type that accepts NetworkPrivateSubnetV2HostRouteArray and NetworkPrivateSubnetV2HostRouteArrayOutput values. +// You can construct a concrete instance of `NetworkPrivateSubnetV2HostRouteArrayInput` via: +// +// NetworkPrivateSubnetV2HostRouteArray{ NetworkPrivateSubnetV2HostRouteArgs{...} } +type NetworkPrivateSubnetV2HostRouteArrayInput interface { + pulumi.Input + + ToNetworkPrivateSubnetV2HostRouteArrayOutput() NetworkPrivateSubnetV2HostRouteArrayOutput + ToNetworkPrivateSubnetV2HostRouteArrayOutputWithContext(context.Context) NetworkPrivateSubnetV2HostRouteArrayOutput +} + +type NetworkPrivateSubnetV2HostRouteArray []NetworkPrivateSubnetV2HostRouteInput + +func (NetworkPrivateSubnetV2HostRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkPrivateSubnetV2HostRoute)(nil)).Elem() +} + +func (i NetworkPrivateSubnetV2HostRouteArray) ToNetworkPrivateSubnetV2HostRouteArrayOutput() NetworkPrivateSubnetV2HostRouteArrayOutput { + return i.ToNetworkPrivateSubnetV2HostRouteArrayOutputWithContext(context.Background()) +} + +func (i NetworkPrivateSubnetV2HostRouteArray) ToNetworkPrivateSubnetV2HostRouteArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2HostRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkPrivateSubnetV2HostRouteArrayOutput) +} + +type NetworkPrivateSubnetV2HostRouteOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2HostRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkPrivateSubnetV2HostRoute)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2HostRouteOutput) ToNetworkPrivateSubnetV2HostRouteOutput() NetworkPrivateSubnetV2HostRouteOutput { + return o +} + +func (o NetworkPrivateSubnetV2HostRouteOutput) ToNetworkPrivateSubnetV2HostRouteOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2HostRouteOutput { + return o +} + +func (o NetworkPrivateSubnetV2HostRouteOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v NetworkPrivateSubnetV2HostRoute) string { return v.Destination }).(pulumi.StringOutput) +} + +func (o NetworkPrivateSubnetV2HostRouteOutput) Nexthop() pulumi.StringOutput { + return o.ApplyT(func(v NetworkPrivateSubnetV2HostRoute) string { return v.Nexthop }).(pulumi.StringOutput) +} + +type NetworkPrivateSubnetV2HostRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkPrivateSubnetV2HostRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkPrivateSubnetV2HostRoute)(nil)).Elem() +} + +func (o NetworkPrivateSubnetV2HostRouteArrayOutput) ToNetworkPrivateSubnetV2HostRouteArrayOutput() NetworkPrivateSubnetV2HostRouteArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2HostRouteArrayOutput) ToNetworkPrivateSubnetV2HostRouteArrayOutputWithContext(ctx context.Context) NetworkPrivateSubnetV2HostRouteArrayOutput { + return o +} + +func (o NetworkPrivateSubnetV2HostRouteArrayOutput) Index(i pulumi.IntInput) NetworkPrivateSubnetV2HostRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkPrivateSubnetV2HostRoute { + return vs[0].([]NetworkPrivateSubnetV2HostRoute)[vs[1].(int)] + }).(NetworkPrivateSubnetV2HostRouteOutput) +} + type ProjectOrder struct { // date Date *string `pulumi:"date"` @@ -8506,6 +8703,121 @@ func (o GetUsersUserRoleArrayOutput) Index(i pulumi.IntInput) GetUsersUserRoleOu }).(GetUsersUserRoleOutput) } +type GetVolumesVolume struct { + // The id of the volume + Id string `pulumi:"id"` + // The name of the volume + Name string `pulumi:"name"` + // The size of the volume + Size float64 `pulumi:"size"` +} + +// GetVolumesVolumeInput is an input type that accepts GetVolumesVolumeArgs and GetVolumesVolumeOutput values. +// You can construct a concrete instance of `GetVolumesVolumeInput` via: +// +// GetVolumesVolumeArgs{...} +type GetVolumesVolumeInput interface { + pulumi.Input + + ToGetVolumesVolumeOutput() GetVolumesVolumeOutput + ToGetVolumesVolumeOutputWithContext(context.Context) GetVolumesVolumeOutput +} + +type GetVolumesVolumeArgs struct { + // The id of the volume + Id pulumi.StringInput `pulumi:"id"` + // The name of the volume + Name pulumi.StringInput `pulumi:"name"` + // The size of the volume + Size pulumi.Float64Input `pulumi:"size"` +} + +func (GetVolumesVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumesVolume)(nil)).Elem() +} + +func (i GetVolumesVolumeArgs) ToGetVolumesVolumeOutput() GetVolumesVolumeOutput { + return i.ToGetVolumesVolumeOutputWithContext(context.Background()) +} + +func (i GetVolumesVolumeArgs) ToGetVolumesVolumeOutputWithContext(ctx context.Context) GetVolumesVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVolumesVolumeOutput) +} + +// GetVolumesVolumeArrayInput is an input type that accepts GetVolumesVolumeArray and GetVolumesVolumeArrayOutput values. +// You can construct a concrete instance of `GetVolumesVolumeArrayInput` via: +// +// GetVolumesVolumeArray{ GetVolumesVolumeArgs{...} } +type GetVolumesVolumeArrayInput interface { + pulumi.Input + + ToGetVolumesVolumeArrayOutput() GetVolumesVolumeArrayOutput + ToGetVolumesVolumeArrayOutputWithContext(context.Context) GetVolumesVolumeArrayOutput +} + +type GetVolumesVolumeArray []GetVolumesVolumeInput + +func (GetVolumesVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVolumesVolume)(nil)).Elem() +} + +func (i GetVolumesVolumeArray) ToGetVolumesVolumeArrayOutput() GetVolumesVolumeArrayOutput { + return i.ToGetVolumesVolumeArrayOutputWithContext(context.Background()) +} + +func (i GetVolumesVolumeArray) ToGetVolumesVolumeArrayOutputWithContext(ctx context.Context) GetVolumesVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVolumesVolumeArrayOutput) +} + +type GetVolumesVolumeOutput struct{ *pulumi.OutputState } + +func (GetVolumesVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumesVolume)(nil)).Elem() +} + +func (o GetVolumesVolumeOutput) ToGetVolumesVolumeOutput() GetVolumesVolumeOutput { + return o +} + +func (o GetVolumesVolumeOutput) ToGetVolumesVolumeOutputWithContext(ctx context.Context) GetVolumesVolumeOutput { + return o +} + +// The id of the volume +func (o GetVolumesVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumesVolume) string { return v.Id }).(pulumi.StringOutput) +} + +// The name of the volume +func (o GetVolumesVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumesVolume) string { return v.Name }).(pulumi.StringOutput) +} + +// The size of the volume +func (o GetVolumesVolumeOutput) Size() pulumi.Float64Output { + return o.ApplyT(func(v GetVolumesVolume) float64 { return v.Size }).(pulumi.Float64Output) +} + +type GetVolumesVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GetVolumesVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVolumesVolume)(nil)).Elem() +} + +func (o GetVolumesVolumeArrayOutput) ToGetVolumesVolumeArrayOutput() GetVolumesVolumeArrayOutput { + return o +} + +func (o GetVolumesVolumeArrayOutput) ToGetVolumesVolumeArrayOutputWithContext(ctx context.Context) GetVolumesVolumeArrayOutput { + return o +} + +func (o GetVolumesVolumeArrayOutput) Index(i pulumi.IntInput) GetVolumesVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVolumesVolume { + return vs[0].([]GetVolumesVolume)[vs[1].(int)] + }).(GetVolumesVolumeOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AlertingFormattedMonthlyThresholdInput)(nil)).Elem(), AlertingFormattedMonthlyThresholdArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AlertingFormattedMonthlyThresholdPtrInput)(nil)).Elem(), AlertingFormattedMonthlyThresholdArgs{}) @@ -8555,6 +8867,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateRegionsStatusArrayInput)(nil)).Elem(), NetworkPrivateRegionsStatusArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetIpPoolInput)(nil)).Elem(), NetworkPrivateSubnetIpPoolArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetIpPoolArrayInput)(nil)).Elem(), NetworkPrivateSubnetIpPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2AllocationPoolInput)(nil)).Elem(), NetworkPrivateSubnetV2AllocationPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2AllocationPoolArrayInput)(nil)).Elem(), NetworkPrivateSubnetV2AllocationPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2HostRouteInput)(nil)).Elem(), NetworkPrivateSubnetV2HostRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkPrivateSubnetV2HostRouteArrayInput)(nil)).Elem(), NetworkPrivateSubnetV2HostRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectOrderInput)(nil)).Elem(), ProjectOrderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectOrderArrayInput)(nil)).Elem(), ProjectOrderArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProjectOrderDetailInput)(nil)).Elem(), ProjectOrderDetailArgs{}) @@ -8631,6 +8947,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetUsersUserArrayInput)(nil)).Elem(), GetUsersUserArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUsersUserRoleInput)(nil)).Elem(), GetUsersUserRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUsersUserRoleArrayInput)(nil)).Elem(), GetUsersUserRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVolumesVolumeInput)(nil)).Elem(), GetVolumesVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVolumesVolumeArrayInput)(nil)).Elem(), GetVolumesVolumeArray{}) pulumi.RegisterOutputType(AlertingFormattedMonthlyThresholdOutput{}) pulumi.RegisterOutputType(AlertingFormattedMonthlyThresholdPtrOutput{}) pulumi.RegisterOutputType(ContainerRegistryPlanOutput{}) @@ -8679,6 +8997,10 @@ func init() { pulumi.RegisterOutputType(NetworkPrivateRegionsStatusArrayOutput{}) pulumi.RegisterOutputType(NetworkPrivateSubnetIpPoolOutput{}) pulumi.RegisterOutputType(NetworkPrivateSubnetIpPoolArrayOutput{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2AllocationPoolOutput{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2AllocationPoolArrayOutput{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2HostRouteOutput{}) + pulumi.RegisterOutputType(NetworkPrivateSubnetV2HostRouteArrayOutput{}) pulumi.RegisterOutputType(ProjectOrderOutput{}) pulumi.RegisterOutputType(ProjectOrderArrayOutput{}) pulumi.RegisterOutputType(ProjectOrderDetailOutput{}) @@ -8755,4 +9077,6 @@ func init() { pulumi.RegisterOutputType(GetUsersUserArrayOutput{}) pulumi.RegisterOutputType(GetUsersUserRoleOutput{}) pulumi.RegisterOutputType(GetUsersUserRoleArrayOutput{}) + pulumi.RegisterOutputType(GetVolumesVolumeOutput{}) + pulumi.RegisterOutputType(GetVolumesVolumeArrayOutput{}) } diff --git a/sdk/go/ovh/cloudprojectdatabase/getDatabaseLogSubscriptions.go b/sdk/go/ovh/cloudprojectdatabase/getDatabaseLogSubscriptions.go index e0990fb4..0b92426e 100644 --- a/sdk/go/ovh/cloudprojectdatabase/getDatabaseLogSubscriptions.go +++ b/sdk/go/ovh/cloudprojectdatabase/getDatabaseLogSubscriptions.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. +// Use this data source to get the list of log subscription for a cluster associated with a public cloud project. // // ## Example Usage // diff --git a/sdk/go/ovh/cloudprojectdatabase/logSubscription.go b/sdk/go/ovh/cloudprojectdatabase/logSubscription.go index af1002cc..dad003ba 100644 --- a/sdk/go/ovh/cloudprojectdatabase/logSubscription.go +++ b/sdk/go/ovh/cloudprojectdatabase/logSubscription.go @@ -12,7 +12,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Creates a log subscrition for a cluster associated with a public cloud project. +// Creates a log subscription for a cluster associated with a public cloud project. // // ## Example Usage // diff --git a/sdk/go/ovh/dbaas/getLogsOutputOpenSearchIndex.go b/sdk/go/ovh/dbaas/getLogsOutputOpenSearchIndex.go new file mode 100644 index 00000000..9299a818 --- /dev/null +++ b/sdk/go/ovh/dbaas/getLogsOutputOpenSearchIndex.go @@ -0,0 +1,198 @@ +// 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 dbaas + +import ( + "context" + "reflect" + + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to retrieve information about a DBaas logs output opensearch index. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Dbaas.GetLogsOutputOpenSearchIndex(ctx, &dbaas.GetLogsOutputOpenSearchIndexArgs{ +// Name: "index-name", +// ServiceName: "ldp-xx-xxxxx", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupLogsOutputOpenSearchIndex(ctx *pulumi.Context, args *LookupLogsOutputOpenSearchIndexArgs, opts ...pulumi.InvokeOption) (*LookupLogsOutputOpenSearchIndexResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupLogsOutputOpenSearchIndexResult + err := ctx.Invoke("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getLogsOutputOpenSearchIndex. +type LookupLogsOutputOpenSearchIndexArgs struct { + // Index name + Name string `pulumi:"name"` + // Number of shard + NbShard *int `pulumi:"nbShard"` + // The service name. It's the ID of your Logs Data Platform instance. + ServiceName string `pulumi:"serviceName"` +} + +// A collection of values returned by getLogsOutputOpenSearchIndex. +type LookupLogsOutputOpenSearchIndexResult struct { + // If set, notify when size is near 80, 90 or 100 % of its maximum capacity + AlertNotifyEnabled bool `pulumi:"alertNotifyEnabled"` + // Index creation + CreatedAt string `pulumi:"createdAt"` + // Current index size (in bytes) + CurrentSize int `pulumi:"currentSize"` + // Index description + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Index ID + IndexId string `pulumi:"indexId"` + // Indicates if you are allowed to edit entry + IsEditable bool `pulumi:"isEditable"` + // Maximum index size (in bytes) + MaxSize int `pulumi:"maxSize"` + // Index name + Name string `pulumi:"name"` + // Number of shard + NbShard int `pulumi:"nbShard"` + ServiceName string `pulumi:"serviceName"` + // Index last update + UpdatedAt string `pulumi:"updatedAt"` +} + +func LookupLogsOutputOpenSearchIndexOutput(ctx *pulumi.Context, args LookupLogsOutputOpenSearchIndexOutputArgs, opts ...pulumi.InvokeOption) LookupLogsOutputOpenSearchIndexResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupLogsOutputOpenSearchIndexResultOutput, error) { + args := v.(LookupLogsOutputOpenSearchIndexArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupLogsOutputOpenSearchIndexResult + secret, err := ctx.InvokePackageRaw("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", args, &rv, "", opts...) + if err != nil { + return LookupLogsOutputOpenSearchIndexResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupLogsOutputOpenSearchIndexResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupLogsOutputOpenSearchIndexResultOutput), nil + } + return output, nil + }).(LookupLogsOutputOpenSearchIndexResultOutput) +} + +// A collection of arguments for invoking getLogsOutputOpenSearchIndex. +type LookupLogsOutputOpenSearchIndexOutputArgs struct { + // Index name + Name pulumi.StringInput `pulumi:"name"` + // Number of shard + NbShard pulumi.IntPtrInput `pulumi:"nbShard"` + // The service name. It's the ID of your Logs Data Platform instance. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (LookupLogsOutputOpenSearchIndexOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupLogsOutputOpenSearchIndexArgs)(nil)).Elem() +} + +// A collection of values returned by getLogsOutputOpenSearchIndex. +type LookupLogsOutputOpenSearchIndexResultOutput struct{ *pulumi.OutputState } + +func (LookupLogsOutputOpenSearchIndexResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupLogsOutputOpenSearchIndexResult)(nil)).Elem() +} + +func (o LookupLogsOutputOpenSearchIndexResultOutput) ToLookupLogsOutputOpenSearchIndexResultOutput() LookupLogsOutputOpenSearchIndexResultOutput { + return o +} + +func (o LookupLogsOutputOpenSearchIndexResultOutput) ToLookupLogsOutputOpenSearchIndexResultOutputWithContext(ctx context.Context) LookupLogsOutputOpenSearchIndexResultOutput { + return o +} + +// If set, notify when size is near 80, 90 or 100 % of its maximum capacity +func (o LookupLogsOutputOpenSearchIndexResultOutput) AlertNotifyEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) bool { return v.AlertNotifyEnabled }).(pulumi.BoolOutput) +} + +// Index creation +func (o LookupLogsOutputOpenSearchIndexResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Current index size (in bytes) +func (o LookupLogsOutputOpenSearchIndexResultOutput) CurrentSize() pulumi.IntOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) int { return v.CurrentSize }).(pulumi.IntOutput) +} + +// Index description +func (o LookupLogsOutputOpenSearchIndexResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupLogsOutputOpenSearchIndexResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Index ID +func (o LookupLogsOutputOpenSearchIndexResultOutput) IndexId() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.IndexId }).(pulumi.StringOutput) +} + +// Indicates if you are allowed to edit entry +func (o LookupLogsOutputOpenSearchIndexResultOutput) IsEditable() pulumi.BoolOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) bool { return v.IsEditable }).(pulumi.BoolOutput) +} + +// Maximum index size (in bytes) +func (o LookupLogsOutputOpenSearchIndexResultOutput) MaxSize() pulumi.IntOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) int { return v.MaxSize }).(pulumi.IntOutput) +} + +// Index name +func (o LookupLogsOutputOpenSearchIndexResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Number of shard +func (o LookupLogsOutputOpenSearchIndexResultOutput) NbShard() pulumi.IntOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) int { return v.NbShard }).(pulumi.IntOutput) +} + +func (o LookupLogsOutputOpenSearchIndexResultOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.ServiceName }).(pulumi.StringOutput) +} + +// Index last update +func (o LookupLogsOutputOpenSearchIndexResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsOutputOpenSearchIndexResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupLogsOutputOpenSearchIndexResultOutput{}) +} diff --git a/sdk/go/ovh/dbaas/init.go b/sdk/go/ovh/dbaas/init.go index 7f096eb0..9ec8e27e 100644 --- a/sdk/go/ovh/dbaas/init.go +++ b/sdk/go/ovh/dbaas/init.go @@ -27,6 +27,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &LogsInput{} case "ovh:Dbaas/logsOutputGraylogStream:LogsOutputGraylogStream": r = &LogsOutputGraylogStream{} + case "ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias": + r = &LogsOutputOpenSearchAlias{} + case "ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex": + r = &LogsOutputOpenSearchIndex{} case "ovh:Dbaas/logsToken:LogsToken": r = &LogsToken{} default: @@ -57,6 +61,16 @@ func init() { "Dbaas/logsOutputGraylogStream", &module{version}, ) + pulumi.RegisterResourceModule( + "ovh", + "Dbaas/logsOutputOpenSearchAlias", + &module{version}, + ) + pulumi.RegisterResourceModule( + "ovh", + "Dbaas/logsOutputOpenSearchIndex", + &module{version}, + ) pulumi.RegisterResourceModule( "ovh", "Dbaas/logsToken", diff --git a/sdk/go/ovh/dbaas/logsOutputOpenSearchAlias.go b/sdk/go/ovh/dbaas/logsOutputOpenSearchAlias.go new file mode 100644 index 00000000..0e131374 --- /dev/null +++ b/sdk/go/ovh/dbaas/logsOutputOpenSearchAlias.go @@ -0,0 +1,409 @@ +// 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 dbaas + +import ( + "context" + "reflect" + + "errors" + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Creates a DBaaS Logs Opensearch output alias. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Dbaas.NewLogsOutputOpenSearchAlias(ctx, "alias", &Dbaas.LogsOutputOpenSearchAliasArgs{ +// Description: pulumi.String("my opensearch alias"), +// ServiceName: pulumi.String("...."), +// Suffix: pulumi.String("alias"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type LogsOutputOpenSearchAlias struct { + pulumi.CustomResourceState + + // Alias Id + AliasId pulumi.StringOutput `pulumi:"aliasId"` + // Alias creation + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Current alias size (in bytes) + CurrentSize pulumi.IntOutput `pulumi:"currentSize"` + // Index description + Description pulumi.StringOutput `pulumi:"description"` + // List of attached indexes id + Indexes pulumi.StringArrayOutput `pulumi:"indexes"` + // Indicates if you are allowed to edit entry + IsEditable pulumi.BoolOutput `pulumi:"isEditable"` + // Alias name + Name pulumi.StringOutput `pulumi:"name"` + // Number of indices linked + NbIndex pulumi.IntOutput `pulumi:"nbIndex"` + // Number of streams linked + NbStream pulumi.IntOutput `pulumi:"nbStream"` + // The service name + ServiceName pulumi.StringOutput `pulumi:"serviceName"` + // List of attached streams id + Streams pulumi.StringArrayOutput `pulumi:"streams"` + // Index suffix + Suffix pulumi.StringOutput `pulumi:"suffix"` + // Input last update + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewLogsOutputOpenSearchAlias registers a new resource with the given unique name, arguments, and options. +func NewLogsOutputOpenSearchAlias(ctx *pulumi.Context, + name string, args *LogsOutputOpenSearchAliasArgs, opts ...pulumi.ResourceOption) (*LogsOutputOpenSearchAlias, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.ServiceName == nil { + return nil, errors.New("invalid value for required argument 'ServiceName'") + } + if args.Suffix == nil { + return nil, errors.New("invalid value for required argument 'Suffix'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogsOutputOpenSearchAlias + err := ctx.RegisterResource("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogsOutputOpenSearchAlias gets an existing LogsOutputOpenSearchAlias resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetLogsOutputOpenSearchAlias(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogsOutputOpenSearchAliasState, opts ...pulumi.ResourceOption) (*LogsOutputOpenSearchAlias, error) { + var resource LogsOutputOpenSearchAlias + err := ctx.ReadResource("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogsOutputOpenSearchAlias resources. +type logsOutputOpenSearchAliasState struct { + // Alias Id + AliasId *string `pulumi:"aliasId"` + // Alias creation + CreatedAt *string `pulumi:"createdAt"` + // Current alias size (in bytes) + CurrentSize *int `pulumi:"currentSize"` + // Index description + Description *string `pulumi:"description"` + // List of attached indexes id + Indexes []string `pulumi:"indexes"` + // Indicates if you are allowed to edit entry + IsEditable *bool `pulumi:"isEditable"` + // Alias name + Name *string `pulumi:"name"` + // Number of indices linked + NbIndex *int `pulumi:"nbIndex"` + // Number of streams linked + NbStream *int `pulumi:"nbStream"` + // The service name + ServiceName *string `pulumi:"serviceName"` + // List of attached streams id + Streams []string `pulumi:"streams"` + // Index suffix + Suffix *string `pulumi:"suffix"` + // Input last update + UpdatedAt *string `pulumi:"updatedAt"` +} + +type LogsOutputOpenSearchAliasState struct { + // Alias Id + AliasId pulumi.StringPtrInput + // Alias creation + CreatedAt pulumi.StringPtrInput + // Current alias size (in bytes) + CurrentSize pulumi.IntPtrInput + // Index description + Description pulumi.StringPtrInput + // List of attached indexes id + Indexes pulumi.StringArrayInput + // Indicates if you are allowed to edit entry + IsEditable pulumi.BoolPtrInput + // Alias name + Name pulumi.StringPtrInput + // Number of indices linked + NbIndex pulumi.IntPtrInput + // Number of streams linked + NbStream pulumi.IntPtrInput + // The service name + ServiceName pulumi.StringPtrInput + // List of attached streams id + Streams pulumi.StringArrayInput + // Index suffix + Suffix pulumi.StringPtrInput + // Input last update + UpdatedAt pulumi.StringPtrInput +} + +func (LogsOutputOpenSearchAliasState) ElementType() reflect.Type { + return reflect.TypeOf((*logsOutputOpenSearchAliasState)(nil)).Elem() +} + +type logsOutputOpenSearchAliasArgs struct { + // Index description + Description string `pulumi:"description"` + // List of attached indexes id + Indexes []string `pulumi:"indexes"` + // Number of indices linked + NbIndex *int `pulumi:"nbIndex"` + // Number of streams linked + NbStream *int `pulumi:"nbStream"` + // The service name + ServiceName string `pulumi:"serviceName"` + // List of attached streams id + Streams []string `pulumi:"streams"` + // Index suffix + Suffix string `pulumi:"suffix"` +} + +// The set of arguments for constructing a LogsOutputOpenSearchAlias resource. +type LogsOutputOpenSearchAliasArgs struct { + // Index description + Description pulumi.StringInput + // List of attached indexes id + Indexes pulumi.StringArrayInput + // Number of indices linked + NbIndex pulumi.IntPtrInput + // Number of streams linked + NbStream pulumi.IntPtrInput + // The service name + ServiceName pulumi.StringInput + // List of attached streams id + Streams pulumi.StringArrayInput + // Index suffix + Suffix pulumi.StringInput +} + +func (LogsOutputOpenSearchAliasArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logsOutputOpenSearchAliasArgs)(nil)).Elem() +} + +type LogsOutputOpenSearchAliasInput interface { + pulumi.Input + + ToLogsOutputOpenSearchAliasOutput() LogsOutputOpenSearchAliasOutput + ToLogsOutputOpenSearchAliasOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasOutput +} + +func (*LogsOutputOpenSearchAlias) ElementType() reflect.Type { + return reflect.TypeOf((**LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (i *LogsOutputOpenSearchAlias) ToLogsOutputOpenSearchAliasOutput() LogsOutputOpenSearchAliasOutput { + return i.ToLogsOutputOpenSearchAliasOutputWithContext(context.Background()) +} + +func (i *LogsOutputOpenSearchAlias) ToLogsOutputOpenSearchAliasOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchAliasOutput) +} + +// LogsOutputOpenSearchAliasArrayInput is an input type that accepts LogsOutputOpenSearchAliasArray and LogsOutputOpenSearchAliasArrayOutput values. +// You can construct a concrete instance of `LogsOutputOpenSearchAliasArrayInput` via: +// +// LogsOutputOpenSearchAliasArray{ LogsOutputOpenSearchAliasArgs{...} } +type LogsOutputOpenSearchAliasArrayInput interface { + pulumi.Input + + ToLogsOutputOpenSearchAliasArrayOutput() LogsOutputOpenSearchAliasArrayOutput + ToLogsOutputOpenSearchAliasArrayOutputWithContext(context.Context) LogsOutputOpenSearchAliasArrayOutput +} + +type LogsOutputOpenSearchAliasArray []LogsOutputOpenSearchAliasInput + +func (LogsOutputOpenSearchAliasArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (i LogsOutputOpenSearchAliasArray) ToLogsOutputOpenSearchAliasArrayOutput() LogsOutputOpenSearchAliasArrayOutput { + return i.ToLogsOutputOpenSearchAliasArrayOutputWithContext(context.Background()) +} + +func (i LogsOutputOpenSearchAliasArray) ToLogsOutputOpenSearchAliasArrayOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchAliasArrayOutput) +} + +// LogsOutputOpenSearchAliasMapInput is an input type that accepts LogsOutputOpenSearchAliasMap and LogsOutputOpenSearchAliasMapOutput values. +// You can construct a concrete instance of `LogsOutputOpenSearchAliasMapInput` via: +// +// LogsOutputOpenSearchAliasMap{ "key": LogsOutputOpenSearchAliasArgs{...} } +type LogsOutputOpenSearchAliasMapInput interface { + pulumi.Input + + ToLogsOutputOpenSearchAliasMapOutput() LogsOutputOpenSearchAliasMapOutput + ToLogsOutputOpenSearchAliasMapOutputWithContext(context.Context) LogsOutputOpenSearchAliasMapOutput +} + +type LogsOutputOpenSearchAliasMap map[string]LogsOutputOpenSearchAliasInput + +func (LogsOutputOpenSearchAliasMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (i LogsOutputOpenSearchAliasMap) ToLogsOutputOpenSearchAliasMapOutput() LogsOutputOpenSearchAliasMapOutput { + return i.ToLogsOutputOpenSearchAliasMapOutputWithContext(context.Background()) +} + +func (i LogsOutputOpenSearchAliasMap) ToLogsOutputOpenSearchAliasMapOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchAliasMapOutput) +} + +type LogsOutputOpenSearchAliasOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchAliasOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (o LogsOutputOpenSearchAliasOutput) ToLogsOutputOpenSearchAliasOutput() LogsOutputOpenSearchAliasOutput { + return o +} + +func (o LogsOutputOpenSearchAliasOutput) ToLogsOutputOpenSearchAliasOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasOutput { + return o +} + +// Alias Id +func (o LogsOutputOpenSearchAliasOutput) AliasId() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.AliasId }).(pulumi.StringOutput) +} + +// Alias creation +func (o LogsOutputOpenSearchAliasOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Current alias size (in bytes) +func (o LogsOutputOpenSearchAliasOutput) CurrentSize() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.IntOutput { return v.CurrentSize }).(pulumi.IntOutput) +} + +// Index description +func (o LogsOutputOpenSearchAliasOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// List of attached indexes id +func (o LogsOutputOpenSearchAliasOutput) Indexes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringArrayOutput { return v.Indexes }).(pulumi.StringArrayOutput) +} + +// Indicates if you are allowed to edit entry +func (o LogsOutputOpenSearchAliasOutput) IsEditable() pulumi.BoolOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.BoolOutput { return v.IsEditable }).(pulumi.BoolOutput) +} + +// Alias name +func (o LogsOutputOpenSearchAliasOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of indices linked +func (o LogsOutputOpenSearchAliasOutput) NbIndex() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.IntOutput { return v.NbIndex }).(pulumi.IntOutput) +} + +// Number of streams linked +func (o LogsOutputOpenSearchAliasOutput) NbStream() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.IntOutput { return v.NbStream }).(pulumi.IntOutput) +} + +// The service name +func (o LogsOutputOpenSearchAliasOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) +} + +// List of attached streams id +func (o LogsOutputOpenSearchAliasOutput) Streams() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringArrayOutput { return v.Streams }).(pulumi.StringArrayOutput) +} + +// Index suffix +func (o LogsOutputOpenSearchAliasOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.Suffix }).(pulumi.StringOutput) +} + +// Input last update +func (o LogsOutputOpenSearchAliasOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchAlias) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type LogsOutputOpenSearchAliasArrayOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchAliasArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (o LogsOutputOpenSearchAliasArrayOutput) ToLogsOutputOpenSearchAliasArrayOutput() LogsOutputOpenSearchAliasArrayOutput { + return o +} + +func (o LogsOutputOpenSearchAliasArrayOutput) ToLogsOutputOpenSearchAliasArrayOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasArrayOutput { + return o +} + +func (o LogsOutputOpenSearchAliasArrayOutput) Index(i pulumi.IntInput) LogsOutputOpenSearchAliasOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogsOutputOpenSearchAlias { + return vs[0].([]*LogsOutputOpenSearchAlias)[vs[1].(int)] + }).(LogsOutputOpenSearchAliasOutput) +} + +type LogsOutputOpenSearchAliasMapOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchAliasMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsOutputOpenSearchAlias)(nil)).Elem() +} + +func (o LogsOutputOpenSearchAliasMapOutput) ToLogsOutputOpenSearchAliasMapOutput() LogsOutputOpenSearchAliasMapOutput { + return o +} + +func (o LogsOutputOpenSearchAliasMapOutput) ToLogsOutputOpenSearchAliasMapOutputWithContext(ctx context.Context) LogsOutputOpenSearchAliasMapOutput { + return o +} + +func (o LogsOutputOpenSearchAliasMapOutput) MapIndex(k pulumi.StringInput) LogsOutputOpenSearchAliasOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogsOutputOpenSearchAlias { + return vs[0].(map[string]*LogsOutputOpenSearchAlias)[vs[1].(string)] + }).(LogsOutputOpenSearchAliasOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchAliasInput)(nil)).Elem(), &LogsOutputOpenSearchAlias{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchAliasArrayInput)(nil)).Elem(), LogsOutputOpenSearchAliasArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchAliasMapInput)(nil)).Elem(), LogsOutputOpenSearchAliasMap{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchAliasOutput{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchAliasArrayOutput{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchAliasMapOutput{}) +} diff --git a/sdk/go/ovh/dbaas/logsOutputOpenSearchIndex.go b/sdk/go/ovh/dbaas/logsOutputOpenSearchIndex.go new file mode 100644 index 00000000..3e2a25de --- /dev/null +++ b/sdk/go/ovh/dbaas/logsOutputOpenSearchIndex.go @@ -0,0 +1,389 @@ +// 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 dbaas + +import ( + "context" + "reflect" + + "errors" + "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Creates a DBaaS Logs Opensearch output index. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ovh/pulumi-ovh/sdk/go/ovh/Dbaas" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Dbaas.NewLogsOutputOpenSearchIndex(ctx, "index", &Dbaas.LogsOutputOpenSearchIndexArgs{ +// Description: pulumi.String("my opensearch index"), +// ServiceName: pulumi.String("...."), +// Suffix: pulumi.String("index"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type LogsOutputOpenSearchIndex struct { + pulumi.CustomResourceState + + // If set, notify when size is near 80, 90 or 100 % of its maximum capacity + AlertNotifyEnabled pulumi.BoolOutput `pulumi:"alertNotifyEnabled"` + // Index creation + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Current index size (in bytes) + CurrentSize pulumi.IntOutput `pulumi:"currentSize"` + // Index description + Description pulumi.StringOutput `pulumi:"description"` + // Index ID + IndexId pulumi.StringOutput `pulumi:"indexId"` + // Indicates if you are allowed to edit entry + IsEditable pulumi.BoolOutput `pulumi:"isEditable"` + // Maximum index size (in bytes) + MaxSize pulumi.IntOutput `pulumi:"maxSize"` + // Index name + Name pulumi.StringOutput `pulumi:"name"` + // Number of shards + NbShard pulumi.IntOutput `pulumi:"nbShard"` + // The service name + ServiceName pulumi.StringOutput `pulumi:"serviceName"` + // Index suffix + Suffix pulumi.StringOutput `pulumi:"suffix"` + // Index last update + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewLogsOutputOpenSearchIndex registers a new resource with the given unique name, arguments, and options. +func NewLogsOutputOpenSearchIndex(ctx *pulumi.Context, + name string, args *LogsOutputOpenSearchIndexArgs, opts ...pulumi.ResourceOption) (*LogsOutputOpenSearchIndex, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.NbShard == nil { + return nil, errors.New("invalid value for required argument 'NbShard'") + } + if args.ServiceName == nil { + return nil, errors.New("invalid value for required argument 'ServiceName'") + } + if args.Suffix == nil { + return nil, errors.New("invalid value for required argument 'Suffix'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogsOutputOpenSearchIndex + err := ctx.RegisterResource("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogsOutputOpenSearchIndex gets an existing LogsOutputOpenSearchIndex resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetLogsOutputOpenSearchIndex(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogsOutputOpenSearchIndexState, opts ...pulumi.ResourceOption) (*LogsOutputOpenSearchIndex, error) { + var resource LogsOutputOpenSearchIndex + err := ctx.ReadResource("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogsOutputOpenSearchIndex resources. +type logsOutputOpenSearchIndexState struct { + // If set, notify when size is near 80, 90 or 100 % of its maximum capacity + AlertNotifyEnabled *bool `pulumi:"alertNotifyEnabled"` + // Index creation + CreatedAt *string `pulumi:"createdAt"` + // Current index size (in bytes) + CurrentSize *int `pulumi:"currentSize"` + // Index description + Description *string `pulumi:"description"` + // Index ID + IndexId *string `pulumi:"indexId"` + // Indicates if you are allowed to edit entry + IsEditable *bool `pulumi:"isEditable"` + // Maximum index size (in bytes) + MaxSize *int `pulumi:"maxSize"` + // Index name + Name *string `pulumi:"name"` + // Number of shards + NbShard *int `pulumi:"nbShard"` + // The service name + ServiceName *string `pulumi:"serviceName"` + // Index suffix + Suffix *string `pulumi:"suffix"` + // Index last update + UpdatedAt *string `pulumi:"updatedAt"` +} + +type LogsOutputOpenSearchIndexState struct { + // If set, notify when size is near 80, 90 or 100 % of its maximum capacity + AlertNotifyEnabled pulumi.BoolPtrInput + // Index creation + CreatedAt pulumi.StringPtrInput + // Current index size (in bytes) + CurrentSize pulumi.IntPtrInput + // Index description + Description pulumi.StringPtrInput + // Index ID + IndexId pulumi.StringPtrInput + // Indicates if you are allowed to edit entry + IsEditable pulumi.BoolPtrInput + // Maximum index size (in bytes) + MaxSize pulumi.IntPtrInput + // Index name + Name pulumi.StringPtrInput + // Number of shards + NbShard pulumi.IntPtrInput + // The service name + ServiceName pulumi.StringPtrInput + // Index suffix + Suffix pulumi.StringPtrInput + // Index last update + UpdatedAt pulumi.StringPtrInput +} + +func (LogsOutputOpenSearchIndexState) ElementType() reflect.Type { + return reflect.TypeOf((*logsOutputOpenSearchIndexState)(nil)).Elem() +} + +type logsOutputOpenSearchIndexArgs struct { + // Index description + Description string `pulumi:"description"` + // Number of shards + NbShard int `pulumi:"nbShard"` + // The service name + ServiceName string `pulumi:"serviceName"` + // Index suffix + Suffix string `pulumi:"suffix"` +} + +// The set of arguments for constructing a LogsOutputOpenSearchIndex resource. +type LogsOutputOpenSearchIndexArgs struct { + // Index description + Description pulumi.StringInput + // Number of shards + NbShard pulumi.IntInput + // The service name + ServiceName pulumi.StringInput + // Index suffix + Suffix pulumi.StringInput +} + +func (LogsOutputOpenSearchIndexArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logsOutputOpenSearchIndexArgs)(nil)).Elem() +} + +type LogsOutputOpenSearchIndexInput interface { + pulumi.Input + + ToLogsOutputOpenSearchIndexOutput() LogsOutputOpenSearchIndexOutput + ToLogsOutputOpenSearchIndexOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexOutput +} + +func (*LogsOutputOpenSearchIndex) ElementType() reflect.Type { + return reflect.TypeOf((**LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (i *LogsOutputOpenSearchIndex) ToLogsOutputOpenSearchIndexOutput() LogsOutputOpenSearchIndexOutput { + return i.ToLogsOutputOpenSearchIndexOutputWithContext(context.Background()) +} + +func (i *LogsOutputOpenSearchIndex) ToLogsOutputOpenSearchIndexOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchIndexOutput) +} + +// LogsOutputOpenSearchIndexArrayInput is an input type that accepts LogsOutputOpenSearchIndexArray and LogsOutputOpenSearchIndexArrayOutput values. +// You can construct a concrete instance of `LogsOutputOpenSearchIndexArrayInput` via: +// +// LogsOutputOpenSearchIndexArray{ LogsOutputOpenSearchIndexArgs{...} } +type LogsOutputOpenSearchIndexArrayInput interface { + pulumi.Input + + ToLogsOutputOpenSearchIndexArrayOutput() LogsOutputOpenSearchIndexArrayOutput + ToLogsOutputOpenSearchIndexArrayOutputWithContext(context.Context) LogsOutputOpenSearchIndexArrayOutput +} + +type LogsOutputOpenSearchIndexArray []LogsOutputOpenSearchIndexInput + +func (LogsOutputOpenSearchIndexArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (i LogsOutputOpenSearchIndexArray) ToLogsOutputOpenSearchIndexArrayOutput() LogsOutputOpenSearchIndexArrayOutput { + return i.ToLogsOutputOpenSearchIndexArrayOutputWithContext(context.Background()) +} + +func (i LogsOutputOpenSearchIndexArray) ToLogsOutputOpenSearchIndexArrayOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchIndexArrayOutput) +} + +// LogsOutputOpenSearchIndexMapInput is an input type that accepts LogsOutputOpenSearchIndexMap and LogsOutputOpenSearchIndexMapOutput values. +// You can construct a concrete instance of `LogsOutputOpenSearchIndexMapInput` via: +// +// LogsOutputOpenSearchIndexMap{ "key": LogsOutputOpenSearchIndexArgs{...} } +type LogsOutputOpenSearchIndexMapInput interface { + pulumi.Input + + ToLogsOutputOpenSearchIndexMapOutput() LogsOutputOpenSearchIndexMapOutput + ToLogsOutputOpenSearchIndexMapOutputWithContext(context.Context) LogsOutputOpenSearchIndexMapOutput +} + +type LogsOutputOpenSearchIndexMap map[string]LogsOutputOpenSearchIndexInput + +func (LogsOutputOpenSearchIndexMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (i LogsOutputOpenSearchIndexMap) ToLogsOutputOpenSearchIndexMapOutput() LogsOutputOpenSearchIndexMapOutput { + return i.ToLogsOutputOpenSearchIndexMapOutputWithContext(context.Background()) +} + +func (i LogsOutputOpenSearchIndexMap) ToLogsOutputOpenSearchIndexMapOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsOutputOpenSearchIndexMapOutput) +} + +type LogsOutputOpenSearchIndexOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchIndexOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (o LogsOutputOpenSearchIndexOutput) ToLogsOutputOpenSearchIndexOutput() LogsOutputOpenSearchIndexOutput { + return o +} + +func (o LogsOutputOpenSearchIndexOutput) ToLogsOutputOpenSearchIndexOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexOutput { + return o +} + +// If set, notify when size is near 80, 90 or 100 % of its maximum capacity +func (o LogsOutputOpenSearchIndexOutput) AlertNotifyEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.BoolOutput { return v.AlertNotifyEnabled }).(pulumi.BoolOutput) +} + +// Index creation +func (o LogsOutputOpenSearchIndexOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Current index size (in bytes) +func (o LogsOutputOpenSearchIndexOutput) CurrentSize() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.IntOutput { return v.CurrentSize }).(pulumi.IntOutput) +} + +// Index description +func (o LogsOutputOpenSearchIndexOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Index ID +func (o LogsOutputOpenSearchIndexOutput) IndexId() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.IndexId }).(pulumi.StringOutput) +} + +// Indicates if you are allowed to edit entry +func (o LogsOutputOpenSearchIndexOutput) IsEditable() pulumi.BoolOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.BoolOutput { return v.IsEditable }).(pulumi.BoolOutput) +} + +// Maximum index size (in bytes) +func (o LogsOutputOpenSearchIndexOutput) MaxSize() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.IntOutput { return v.MaxSize }).(pulumi.IntOutput) +} + +// Index name +func (o LogsOutputOpenSearchIndexOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of shards +func (o LogsOutputOpenSearchIndexOutput) NbShard() pulumi.IntOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.IntOutput { return v.NbShard }).(pulumi.IntOutput) +} + +// The service name +func (o LogsOutputOpenSearchIndexOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) +} + +// Index suffix +func (o LogsOutputOpenSearchIndexOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.Suffix }).(pulumi.StringOutput) +} + +// Index last update +func (o LogsOutputOpenSearchIndexOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *LogsOutputOpenSearchIndex) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type LogsOutputOpenSearchIndexArrayOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchIndexArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (o LogsOutputOpenSearchIndexArrayOutput) ToLogsOutputOpenSearchIndexArrayOutput() LogsOutputOpenSearchIndexArrayOutput { + return o +} + +func (o LogsOutputOpenSearchIndexArrayOutput) ToLogsOutputOpenSearchIndexArrayOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexArrayOutput { + return o +} + +func (o LogsOutputOpenSearchIndexArrayOutput) Index(i pulumi.IntInput) LogsOutputOpenSearchIndexOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogsOutputOpenSearchIndex { + return vs[0].([]*LogsOutputOpenSearchIndex)[vs[1].(int)] + }).(LogsOutputOpenSearchIndexOutput) +} + +type LogsOutputOpenSearchIndexMapOutput struct{ *pulumi.OutputState } + +func (LogsOutputOpenSearchIndexMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsOutputOpenSearchIndex)(nil)).Elem() +} + +func (o LogsOutputOpenSearchIndexMapOutput) ToLogsOutputOpenSearchIndexMapOutput() LogsOutputOpenSearchIndexMapOutput { + return o +} + +func (o LogsOutputOpenSearchIndexMapOutput) ToLogsOutputOpenSearchIndexMapOutputWithContext(ctx context.Context) LogsOutputOpenSearchIndexMapOutput { + return o +} + +func (o LogsOutputOpenSearchIndexMapOutput) MapIndex(k pulumi.StringInput) LogsOutputOpenSearchIndexOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogsOutputOpenSearchIndex { + return vs[0].(map[string]*LogsOutputOpenSearchIndex)[vs[1].(string)] + }).(LogsOutputOpenSearchIndexOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchIndexInput)(nil)).Elem(), &LogsOutputOpenSearchIndex{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchIndexArrayInput)(nil)).Elem(), LogsOutputOpenSearchIndexArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsOutputOpenSearchIndexMapInput)(nil)).Elem(), LogsOutputOpenSearchIndexMap{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchIndexOutput{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchIndexArrayOutput{}) + pulumi.RegisterOutputType(LogsOutputOpenSearchIndexMapOutput{}) +} diff --git a/sdk/go/ovh/dedicated/server.go b/sdk/go/ovh/dedicated/server.go index b358e28c..3f917ee9 100644 --- a/sdk/go/ovh/dedicated/server.go +++ b/sdk/go/ovh/dedicated/server.go @@ -7,20 +7,37 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // ## Import // -// Dedicated servers can be imported using the `service_name`, e.g.: +// Dedicated servers can be imported using the `service_name`. +// +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_dedicated_server.server +// +// id = "" +// +// } +// +// You can then run: // // bash // -// ```sh -// $ pulumi import ovh:Dedicated/server:Server server service_name -// ``` +// $ pulumi preview -generate-config-out=dedicated.tf +// +// $ pulumi up +// +// The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type Server struct { pulumi.CustomResourceState @@ -56,7 +73,7 @@ type Server struct { // Operating system Os pulumi.StringOutput `pulumi:"os"` // OVH subsidiaries - OvhSubsidiary pulumi.StringOutput `pulumi:"ovhSubsidiary"` + OvhSubsidiary pulumi.StringPtrOutput `pulumi:"ovhSubsidiary"` // Partition scheme name PartitionSchemeName pulumi.StringPtrOutput `pulumi:"partitionSchemeName"` PlanOptions ServerPlanOptionArrayOutput `pulumi:"planOptions"` @@ -95,12 +112,9 @@ type Server struct { func NewServer(ctx *pulumi.Context, name string, args *ServerArgs, opts ...pulumi.ResourceOption) (*Server, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &ServerArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Server err := ctx.RegisterResource("ovh:Dedicated/server:Server", name, args, &resource, opts...) @@ -277,7 +291,7 @@ type serverArgs struct { // Prevent datacenter intervention NoIntervention *bool `pulumi:"noIntervention"` // OVH subsidiaries - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Partition scheme name PartitionSchemeName *string `pulumi:"partitionSchemeName"` PlanOptions []ServerPlanOption `pulumi:"planOptions"` @@ -311,7 +325,7 @@ type ServerArgs struct { // Prevent datacenter intervention NoIntervention pulumi.BoolPtrInput // OVH subsidiaries - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Partition scheme name PartitionSchemeName pulumi.StringPtrInput PlanOptions ServerPlanOptionArrayInput @@ -497,8 +511,8 @@ func (o ServerOutput) Os() pulumi.StringOutput { } // OVH subsidiaries -func (o ServerOutput) OvhSubsidiary() pulumi.StringOutput { - return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.OvhSubsidiary }).(pulumi.StringOutput) +func (o ServerOutput) OvhSubsidiary() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.OvhSubsidiary }).(pulumi.StringPtrOutput) } // Partition scheme name diff --git a/sdk/go/ovh/domain/zone.go b/sdk/go/ovh/domain/zone.go index 28a2e5d2..591b3f33 100644 --- a/sdk/go/ovh/domain/zone.go +++ b/sdk/go/ovh/domain/zone.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -76,13 +75,31 @@ import ( // // ## Import // -// Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. +// Zone can be imported using its `name`. +// +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_domain_zone.zone +// +// id = "" +// +// } +// +// You can then run: // // bash // -// ```sh -// $ pulumi import ovh:Domain/zone:Zone zone order_id -// ``` +// $ pulumi preview -generate-config-out=zone.tf +// +// $ pulumi up +// +// The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type Zone struct { pulumi.CustomResourceState @@ -115,15 +132,9 @@ type Zone struct { func NewZone(ctx *pulumi.Context, name string, args *ZoneArgs, opts ...pulumi.ResourceOption) (*Zone, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &ZoneArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Zone err := ctx.RegisterResource("ovh:Domain/zone:Zone", name, args, &resource, opts...) @@ -206,13 +217,13 @@ type zoneArgs struct { // Details about an Order Orders []ZoneOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan ZonePlan `pulumi:"plan"` + Plan *ZonePlan `pulumi:"plan"` // Product Plan to order PlanOptions []ZonePlanOption `pulumi:"planOptions"` } @@ -222,13 +233,13 @@ type ZoneArgs struct { // Details about an Order Orders ZoneOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan ZonePlanInput + Plan ZonePlanPtrInput // Product Plan to order PlanOptions ZonePlanOptionArrayInput } diff --git a/sdk/go/ovh/getInstallationTemplates.go b/sdk/go/ovh/getInstallationTemplates.go index 95b7dbe5..ff5eacec 100644 --- a/sdk/go/ovh/getInstallationTemplates.go +++ b/sdk/go/ovh/getInstallationTemplates.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := ovh.GetInstallationTemplates(ctx, nil, nil) +// _, err := ovh.GetInstallationTemplates(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/getServers.go b/sdk/go/ovh/getServers.go index 3f13dfb8..826aa57c 100644 --- a/sdk/go/ovh/getServers.go +++ b/sdk/go/ovh/getServers.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := ovh.GetServers(ctx, nil, nil) +// _, err := ovh.GetServers(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/hosting/privateDatabase.go b/sdk/go/ovh/hosting/privateDatabase.go index 99d3e49b..80d7a0c2 100644 --- a/sdk/go/ovh/hosting/privateDatabase.go +++ b/sdk/go/ovh/hosting/privateDatabase.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -78,11 +77,31 @@ import ( // // ## Import // -// OVHcloud Webhosting database can be imported using the `service_name`, E.g., +// OVHcloud Webhosting database can be imported using the `service_name`. // -// ```sh -// $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name -// ``` +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_hosting_privatedatabase.database +// +// id = "" +// +// } +// +// You can then run: +// +// bash +// +// $ pulumi preview -generate-config-out=database.tf +// +// $ pulumi up +// +// The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type PrivateDatabase struct { pulumi.CustomResourceState @@ -144,15 +163,9 @@ type PrivateDatabase struct { func NewPrivateDatabase(ctx *pulumi.Context, name string, args *PrivateDatabaseArgs, opts ...pulumi.ResourceOption) (*PrivateDatabase, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &PrivateDatabaseArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource PrivateDatabase err := ctx.RegisterResource("ovh:Hosting/privateDatabase:PrivateDatabase", name, args, &resource, opts...) @@ -295,13 +308,13 @@ type privateDatabaseArgs struct { // Details about your Order Orders []PrivateDatabaseOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan PrivateDatabasePlan `pulumi:"plan"` + Plan *PrivateDatabasePlan `pulumi:"plan"` // Product Plan to order PlanOptions []PrivateDatabasePlanOption `pulumi:"planOptions"` // Service name @@ -315,13 +328,13 @@ type PrivateDatabaseArgs struct { // Details about your Order Orders PrivateDatabaseOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan PrivateDatabasePlanInput + Plan PrivateDatabasePlanPtrInput // Product Plan to order PlanOptions PrivateDatabasePlanOptionArrayInput // Service name diff --git a/sdk/go/ovh/iam/getPolicies.go b/sdk/go/ovh/iam/getPolicies.go index a663bcec..405a9fec 100644 --- a/sdk/go/ovh/iam/getPolicies.go +++ b/sdk/go/ovh/iam/getPolicies.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Iam.GetPolicies(ctx, nil, nil) +// _, err := Iam.GetPolicies(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/iam/getReferenceResourceType.go b/sdk/go/ovh/iam/getReferenceResourceType.go index fe2a0d95..37196548 100644 --- a/sdk/go/ovh/iam/getReferenceResourceType.go +++ b/sdk/go/ovh/iam/getReferenceResourceType.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Iam.GetReferenceResourceType(ctx, nil, nil) +// _, err := Iam.GetReferenceResourceType(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/iam/getResourceGroups.go b/sdk/go/ovh/iam/getResourceGroups.go index 5676c01a..fa82a5d6 100644 --- a/sdk/go/ovh/iam/getResourceGroups.go +++ b/sdk/go/ovh/iam/getResourceGroups.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Iam.GetResourceGroups(ctx, nil, nil) +// _, err := Iam.GetResourceGroups(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/iam/policy.go b/sdk/go/ovh/iam/policy.go index 1aca3079..84853230 100644 --- a/sdk/go/ovh/iam/policy.go +++ b/sdk/go/ovh/iam/policy.go @@ -29,7 +29,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// account, err := Me.GetMe(ctx, nil, nil) +// account, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/ip/ipService.go b/sdk/go/ovh/ip/ipService.go index c096ee0c..27ae7c2f 100644 --- a/sdk/go/ovh/ip/ipService.go +++ b/sdk/go/ovh/ip/ipService.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetMe(ctx, nil, nil) +// _, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -70,6 +69,30 @@ import ( // } // // ``` +// +// ## Import +// +// The resource can be imported using its `service_name`, E.g., +// +// hcl +// +// import { +// +// to = ovh_ip_service.ipblock +// +// id = "ip-xx.xx.xx.xx" +// +// } +// +// bash +// +// $ pulumi preview -generate-config-out=ipblock.tf +// +// $ pulumi up +// +// The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type IpService struct { pulumi.CustomResourceState @@ -107,15 +130,9 @@ type IpService struct { func NewIpService(ctx *pulumi.Context, name string, args *IpServiceArgs, opts ...pulumi.ResourceOption) (*IpService, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &IpServiceArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource IpService err := ctx.RegisterResource("ovh:Ip/ipService:IpService", name, args, &resource, opts...) @@ -210,13 +227,13 @@ type ipServiceArgs struct { // Details about an Order Orders []IpServiceOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan IpServicePlan `pulumi:"plan"` + Plan *IpServicePlan `pulumi:"plan"` // Product Plan to order PlanOptions []IpServicePlanOption `pulumi:"planOptions"` } @@ -228,13 +245,13 @@ type IpServiceArgs struct { // Details about an Order Orders IpServiceOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan IpServicePlanInput + Plan IpServicePlanPtrInput // Product Plan to order PlanOptions IpServicePlanOptionArrayInput } diff --git a/sdk/go/ovh/iploadbalancing/loadBalancer.go b/sdk/go/ovh/iploadbalancing/loadBalancer.go index 7174d765..1bdee5f4 100644 --- a/sdk/go/ovh/iploadbalancing/loadBalancer.go +++ b/sdk/go/ovh/iploadbalancing/loadBalancer.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -81,6 +80,34 @@ import ( // } // // ``` +// +// ## Import +// +// OVHcloud IP load balancing services can be imported using its `service_name`. +// +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_iploadbalancing.iplb +// +// id = "" +// +// } +// +// You can then run: +// +// bash +// +// $ pulumi preview -generate-config-out=iplb.tf +// +// $ pulumi up +// +// The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type LoadBalancer struct { pulumi.CustomResourceState @@ -130,15 +157,9 @@ type LoadBalancer struct { func NewLoadBalancer(ctx *pulumi.Context, name string, args *LoadBalancerArgs, opts ...pulumi.ResourceOption) (*LoadBalancer, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &LoadBalancerArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } secrets := pulumi.AdditionalSecretOutputs([]string{ "metricsToken", }) @@ -261,13 +282,13 @@ type loadBalancerArgs struct { // Details about an Order Orders []LoadBalancerOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan LoadBalancerPlan `pulumi:"plan"` + Plan *LoadBalancerPlan `pulumi:"plan"` // Product Plan to order PlanOptions []LoadBalancerPlanOption `pulumi:"planOptions"` // Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of "intermediate", "modern". @@ -281,13 +302,13 @@ type LoadBalancerArgs struct { // Details about an Order Orders LoadBalancerOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan LoadBalancerPlanInput + Plan LoadBalancerPlanPtrInput // Product Plan to order PlanOptions LoadBalancerPlanOptionArrayInput // Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of "intermediate", "modern". diff --git a/sdk/go/ovh/iploadbalancing/ssl.go b/sdk/go/ovh/iploadbalancing/ssl.go index 8feaca0f..ebcca288 100644 --- a/sdk/go/ovh/iploadbalancing/ssl.go +++ b/sdk/go/ovh/iploadbalancing/ssl.go @@ -66,9 +66,9 @@ type Ssl struct { // Certificate Certificate pulumi.StringOutput `pulumi:"certificate"` // Certificate chain - Chain pulumi.StringOutput `pulumi:"chain"` + Chain pulumi.StringPtrOutput `pulumi:"chain"` // Readable label for loadbalancer ssl - DisplayName pulumi.StringOutput `pulumi:"displayName"` + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // Expire date of your SSL certificate. ExpireDate pulumi.StringOutput `pulumi:"expireDate"` // Fingerprint of your SSL certificate. @@ -306,13 +306,13 @@ func (o SslOutput) Certificate() pulumi.StringOutput { } // Certificate chain -func (o SslOutput) Chain() pulumi.StringOutput { - return o.ApplyT(func(v *Ssl) pulumi.StringOutput { return v.Chain }).(pulumi.StringOutput) +func (o SslOutput) Chain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Ssl) pulumi.StringPtrOutput { return v.Chain }).(pulumi.StringPtrOutput) } // Readable label for loadbalancer ssl -func (o SslOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v *Ssl) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +func (o SslOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Ssl) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) } // Expire date of your SSL certificate. diff --git a/sdk/go/ovh/iploadbalancing/udpFarm.go b/sdk/go/ovh/iploadbalancing/udpFarm.go index 05ba2e4d..d9e4abc1 100644 --- a/sdk/go/ovh/iploadbalancing/udpFarm.go +++ b/sdk/go/ovh/iploadbalancing/udpFarm.go @@ -63,7 +63,7 @@ type UdpFarm struct { pulumi.CustomResourceState // Readable label for loadbalancer farm - DisplayName pulumi.StringOutput `pulumi:"displayName"` + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // Id of your farm. FarmId pulumi.Float64Output `pulumi:"farmId"` // Port attached to your farm ([1..49151]). Inherited from frontend if null @@ -71,7 +71,7 @@ type UdpFarm struct { // The internal name of your IP load balancing ServiceName pulumi.StringOutput `pulumi:"serviceName"` // Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack - VrackNetworkId pulumi.Float64Output `pulumi:"vrackNetworkId"` + VrackNetworkId pulumi.Float64PtrOutput `pulumi:"vrackNetworkId"` // Zone where the farm will be defined (ie. `gra`, `bhs` also supports `all`) Zone pulumi.StringOutput `pulumi:"zone"` } @@ -263,8 +263,8 @@ func (o UdpFarmOutput) ToUdpFarmOutputWithContext(ctx context.Context) UdpFarmOu } // Readable label for loadbalancer farm -func (o UdpFarmOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v *UdpFarm) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +func (o UdpFarmOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UdpFarm) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) } // Id of your farm. @@ -283,8 +283,8 @@ func (o UdpFarmOutput) ServiceName() pulumi.StringOutput { } // Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack -func (o UdpFarmOutput) VrackNetworkId() pulumi.Float64Output { - return o.ApplyT(func(v *UdpFarm) pulumi.Float64Output { return v.VrackNetworkId }).(pulumi.Float64Output) +func (o UdpFarmOutput) VrackNetworkId() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *UdpFarm) pulumi.Float64PtrOutput { return v.VrackNetworkId }).(pulumi.Float64PtrOutput) } // Zone where the farm will be defined (ie. `gra`, `bhs` also supports `all`) diff --git a/sdk/go/ovh/iploadbalancing/udpFarmServer.go b/sdk/go/ovh/iploadbalancing/udpFarmServer.go index 99afba68..53b30307 100644 --- a/sdk/go/ovh/iploadbalancing/udpFarmServer.go +++ b/sdk/go/ovh/iploadbalancing/udpFarmServer.go @@ -72,11 +72,11 @@ type UdpFarmServer struct { // Synonym for `farmId`. BackendId pulumi.Float64Output `pulumi:"backendId"` // Label for the server - DisplayName pulumi.StringOutput `pulumi:"displayName"` + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // ID of the farm this server is attached to FarmId pulumi.Float64Output `pulumi:"farmId"` // Port that backend will respond on - Port pulumi.Float64Output `pulumi:"port"` + Port pulumi.Float64PtrOutput `pulumi:"port"` // Id of your server. ServerId pulumi.Float64Output `pulumi:"serverId"` // The internal name of your IP load balancing @@ -297,8 +297,8 @@ func (o UdpFarmServerOutput) BackendId() pulumi.Float64Output { } // Label for the server -func (o UdpFarmServerOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v *UdpFarmServer) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +func (o UdpFarmServerOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UdpFarmServer) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) } // ID of the farm this server is attached to @@ -307,8 +307,8 @@ func (o UdpFarmServerOutput) FarmId() pulumi.Float64Output { } // Port that backend will respond on -func (o UdpFarmServerOutput) Port() pulumi.Float64Output { - return o.ApplyT(func(v *UdpFarmServer) pulumi.Float64Output { return v.Port }).(pulumi.Float64Output) +func (o UdpFarmServerOutput) Port() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *UdpFarmServer) pulumi.Float64PtrOutput { return v.Port }).(pulumi.Float64PtrOutput) } // Id of your server. diff --git a/sdk/go/ovh/iploadbalancing/udpFrontend.go b/sdk/go/ovh/iploadbalancing/udpFrontend.go index 630f2fea..1db9b05e 100644 --- a/sdk/go/ovh/iploadbalancing/udpFrontend.go +++ b/sdk/go/ovh/iploadbalancing/udpFrontend.go @@ -65,11 +65,11 @@ type UdpFrontend struct { // Only attach frontend on these ip. No restriction if null. List of Ip blocks. DedicatedIpfos pulumi.StringArrayOutput `pulumi:"dedicatedIpfos"` // Default UDP Farm of your frontend - DefaultFarmId pulumi.Float64Output `pulumi:"defaultFarmId"` + DefaultFarmId pulumi.Float64PtrOutput `pulumi:"defaultFarmId"` // Disable your frontend. Default: 'false' Disabled pulumi.BoolOutput `pulumi:"disabled"` // Human readable name for your frontend - DisplayName pulumi.StringOutput `pulumi:"displayName"` + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // Id of your frontend FrontendId pulumi.Float64Output `pulumi:"frontendId"` // Port(s) attached to your frontend. Supports single port (numerical value), @@ -298,8 +298,8 @@ func (o UdpFrontendOutput) DedicatedIpfos() pulumi.StringArrayOutput { } // Default UDP Farm of your frontend -func (o UdpFrontendOutput) DefaultFarmId() pulumi.Float64Output { - return o.ApplyT(func(v *UdpFrontend) pulumi.Float64Output { return v.DefaultFarmId }).(pulumi.Float64Output) +func (o UdpFrontendOutput) DefaultFarmId() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *UdpFrontend) pulumi.Float64PtrOutput { return v.DefaultFarmId }).(pulumi.Float64PtrOutput) } // Disable your frontend. Default: 'false' @@ -308,8 +308,8 @@ func (o UdpFrontendOutput) Disabled() pulumi.BoolOutput { } // Human readable name for your frontend -func (o UdpFrontendOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v *UdpFrontend) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +func (o UdpFrontendOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UdpFrontend) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) } // Id of your frontend diff --git a/sdk/go/ovh/me/getAPIOAuth2Clients.go b/sdk/go/ovh/me/getAPIOAuth2Clients.go index 67df0d51..b97b6539 100644 --- a/sdk/go/ovh/me/getAPIOAuth2Clients.go +++ b/sdk/go/ovh/me/getAPIOAuth2Clients.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetAPIOAuth2Client(ctx, nil, nil) +// _, err := Me.GetAPIOAuth2Client(ctx, &me.GetAPIOAuth2ClientArgs{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/me/getIdentityGroups.go b/sdk/go/ovh/me/getIdentityGroups.go index afddb8d7..58bc42fe 100644 --- a/sdk/go/ovh/me/getIdentityGroups.go +++ b/sdk/go/ovh/me/getIdentityGroups.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetIdentityGroups(ctx, nil, nil) +// _, err := Me.GetIdentityGroups(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/me/getIdentityUsers.go b/sdk/go/ovh/me/getIdentityUsers.go index de894dba..4fc0e708 100644 --- a/sdk/go/ovh/me/getIdentityUsers.go +++ b/sdk/go/ovh/me/getIdentityUsers.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetIdentityUsers(ctx, nil, nil) +// _, err := Me.GetIdentityUsers(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/me/getInstallationTemplates.go b/sdk/go/ovh/me/getInstallationTemplates.go index 04a304ec..01d34d76 100644 --- a/sdk/go/ovh/me/getInstallationTemplates.go +++ b/sdk/go/ovh/me/getInstallationTemplates.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetInstallationTemplates(ctx, nil, nil) +// _, err := Me.GetInstallationTemplates(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/me/getMe.go b/sdk/go/ovh/me/getMe.go index a44584be..4c544ec0 100644 --- a/sdk/go/ovh/me/getMe.go +++ b/sdk/go/ovh/me/getMe.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetMe(ctx, nil, nil) +// _, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/okms/credential.go b/sdk/go/ovh/okms/credential.go index 82bb1a5b..907a6e35 100644 --- a/sdk/go/ovh/okms/credential.go +++ b/sdk/go/ovh/okms/credential.go @@ -40,7 +40,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Me.GetMe(ctx, nil, nil) +// _, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/order/getCart.go b/sdk/go/ovh/order/getCart.go index c3d303f3..25346468 100644 --- a/sdk/go/ovh/order/getCart.go +++ b/sdk/go/ovh/order/getCart.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/order/getCartProduct.go b/sdk/go/ovh/order/getCartProduct.go index 189808d9..1e418bcf 100644 --- a/sdk/go/ovh/order/getCartProduct.go +++ b/sdk/go/ovh/order/getCartProduct.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/order/getCartProductOptions.go b/sdk/go/ovh/order/getCartProductOptions.go index 5f9cdfaf..a2289c56 100644 --- a/sdk/go/ovh/order/getCartProductOptions.go +++ b/sdk/go/ovh/order/getCartProductOptions.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/order/getCartProductOptionsPlan.go b/sdk/go/ovh/order/getCartProductOptionsPlan.go index 66bd2c89..598a3fba 100644 --- a/sdk/go/ovh/order/getCartProductOptionsPlan.go +++ b/sdk/go/ovh/order/getCartProductOptionsPlan.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/order/getCartProductPlan.go b/sdk/go/ovh/order/getCartProductPlan.go index edaf00df..638c2b7c 100644 --- a/sdk/go/ovh/order/getCartProductPlan.go +++ b/sdk/go/ovh/order/getCartProductPlan.go @@ -28,7 +28,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/vps/getVpss.go b/sdk/go/ovh/vps/getVpss.go index b58a0929..9c697620 100644 --- a/sdk/go/ovh/vps/getVpss.go +++ b/sdk/go/ovh/vps/getVpss.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Vps.GetVpss(ctx, nil, nil) +// _, err := Vps.GetVpss(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/vps/vps.go b/sdk/go/ovh/vps/vps.go index 99936d42..7cd237e5 100644 --- a/sdk/go/ovh/vps/vps.go +++ b/sdk/go/ovh/vps/vps.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -39,7 +38,7 @@ type Vps struct { // Details about an Order Order VpsOrderOutput `pulumi:"order"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) - OvhSubsidiary pulumi.StringOutput `pulumi:"ovhSubsidiary"` + OvhSubsidiary pulumi.StringPtrOutput `pulumi:"ovhSubsidiary"` // Product Plan to order PlanOptions VpsPlanOptionArrayOutput `pulumi:"planOptions"` // Product Plan to order @@ -59,12 +58,9 @@ type Vps struct { func NewVps(ctx *pulumi.Context, name string, args *VpsArgs, opts ...pulumi.ResourceOption) (*Vps, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &VpsArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Vps err := ctx.RegisterResource("ovh:Vps/vps:Vps", name, args, &resource, opts...) @@ -189,7 +185,7 @@ type vpsArgs struct { // All offers a VPS can have (beta-classic┃classic┃cloud┃cloudram┃game-classic┃lowlat┃ssd) OfferType *string `pulumi:"offerType"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Product Plan to order PlanOptions []VpsPlanOption `pulumi:"planOptions"` // Product Plan to order @@ -222,7 +218,7 @@ type VpsArgs struct { // All offers a VPS can have (beta-classic┃classic┃cloud┃cloudram┃game-classic┃lowlat┃ssd) OfferType pulumi.StringPtrInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Product Plan to order PlanOptions VpsPlanOptionArrayInput // Product Plan to order @@ -379,8 +375,8 @@ func (o VpsOutput) Order() VpsOrderOutput { } // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) -func (o VpsOutput) OvhSubsidiary() pulumi.StringOutput { - return o.ApplyT(func(v *Vps) pulumi.StringOutput { return v.OvhSubsidiary }).(pulumi.StringOutput) +func (o VpsOutput) OvhSubsidiary() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Vps) pulumi.StringPtrOutput { return v.OvhSubsidiary }).(pulumi.StringPtrOutput) } // Product Plan to order diff --git a/sdk/go/ovh/vrack/getVracks.go b/sdk/go/ovh/vrack/getVracks.go index fb2b9556..8deb052e 100644 --- a/sdk/go/ovh/vrack/getVracks.go +++ b/sdk/go/ovh/vrack/getVracks.go @@ -27,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Vrack.GetVracks(ctx, nil, nil) +// _, err := Vrack.GetVracks(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/vrack/ipAddress.go b/sdk/go/ovh/vrack/ipAddress.go index e5036888..2df39979 100644 --- a/sdk/go/ovh/vrack/ipAddress.go +++ b/sdk/go/ovh/vrack/ipAddress.go @@ -31,7 +31,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } diff --git a/sdk/go/ovh/vrack/vrack.go b/sdk/go/ovh/vrack/vrack.go index 78b73e98..eddc3e19 100644 --- a/sdk/go/ovh/vrack/vrack.go +++ b/sdk/go/ovh/vrack/vrack.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/ovh/pulumi-ovh/sdk/go/ovh/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,7 +27,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// myaccount, err := Me.GetMe(ctx, nil, nil) +// myaccount, err := Me.GetMe(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -67,13 +66,31 @@ import ( // // ## Import // -// vRack can be imported using the `service_name`. +// A vRack can be imported using the `service_name`. +// +// Using the following configuration: +// +// hcl +// +// import { +// +// to = ovh_vrack.vrack +// +// id = "" +// +// } +// +// You can then run: // // bash // -// ```sh -// $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name -// ``` +// $ pulumi preview -generate-config-out=vrack.tf +// +// $ pulumi up +// +// The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. +// +// See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. type Vrack struct { pulumi.CustomResourceState @@ -103,15 +120,9 @@ type Vrack struct { func NewVrack(ctx *pulumi.Context, name string, args *VrackArgs, opts ...pulumi.ResourceOption) (*Vrack, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &VrackArgs{} } - if args.OvhSubsidiary == nil { - return nil, errors.New("invalid value for required argument 'OvhSubsidiary'") - } - if args.Plan == nil { - return nil, errors.New("invalid value for required argument 'Plan'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource Vrack err := ctx.RegisterResource("ovh:Vrack/vrack:Vrack", name, args, &resource, opts...) @@ -192,13 +203,13 @@ type vrackArgs struct { // Details about an Order Orders []VrackOrder `pulumi:"orders"` // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary string `pulumi:"ovhSubsidiary"` + OvhSubsidiary *string `pulumi:"ovhSubsidiary"` // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean *string `pulumi:"paymentMean"` // Product Plan to order - Plan VrackPlan `pulumi:"plan"` + Plan *VrackPlan `pulumi:"plan"` // Product Plan to order PlanOptions []VrackPlanOption `pulumi:"planOptions"` } @@ -212,13 +223,13 @@ type VrackArgs struct { // Details about an Order Orders VrackOrderArrayInput // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - OvhSubsidiary pulumi.StringInput + OvhSubsidiary pulumi.StringPtrInput // Ovh payment mode // // Deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used. PaymentMean pulumi.StringPtrInput // Product Plan to order - Plan VrackPlanInput + Plan VrackPlanPtrInput // Product Plan to order PlanOptions VrackPlanOptionArrayInput } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/CloudProjectFunctions.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/CloudProjectFunctions.java index f64213ea..668ffe22 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/CloudProjectFunctions.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/CloudProjectFunctions.java @@ -81,6 +81,10 @@ import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetUsersPlainArgs; import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVRackArgs; import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVRackPlainArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVolumeArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVolumePlainArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVolumesArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.GetVolumesPlainArgs; import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetCapabilitiesContainerFilterResult; import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetCapabilitiesContainerRegistryInvokeResult; import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetContainerRegistriesInvokeResult; @@ -120,6 +124,8 @@ import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetUserS3PolicyResult; import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetUsersResult; import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetVRackResult; +import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetVolumeResult; +import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetVolumesResult; import com.ovhcloud.pulumi.ovh.Utilities; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -6880,4 +6886,352 @@ public static Output getVRack(GetVRackArgs args, InvokeOptions o public static CompletableFuture getVRackPlain(GetVRackPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("ovh:CloudProject/getVRack:getVRack", TypeShape.of(GetVRackResult.class), args, Utilities.withVersion(options)); } + /** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .volumeId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVolume(GetVolumeArgs args) { + return getVolume(args, InvokeOptions.Empty); + } + /** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .volumeId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVolumePlain(GetVolumePlainArgs args) { + return getVolumePlain(args, InvokeOptions.Empty); + } + /** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .volumeId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVolume(GetVolumeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("ovh:CloudProject/getVolume:getVolume", TypeShape.of(GetVolumeResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .volumeId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVolumePlain(GetVolumePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("ovh:CloudProject/getVolume:getVolume", TypeShape.of(GetVolumeResult.class), args, Utilities.withVersion(options)); + } + /** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVolumes(GetVolumesArgs args) { + return getVolumes(args, InvokeOptions.Empty); + } + /** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVolumesPlain(GetVolumesPlainArgs args) { + return getVolumesPlain(args, InvokeOptions.Empty); + } + /** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVolumes(GetVolumesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("ovh:CloudProject/getVolumes:getVolumes", TypeShape.of(GetVolumesResult.class), args, Utilities.withVersion(options)); + } + /** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.CloudProject.CloudProjectFunctions;
+     * import com.pulumi.ovh.CloudProject.inputs.GetVolumeArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var volume = CloudProjectFunctions.getVolume(GetVolumeArgs.builder()
+     *             .regionName("xxx")
+     *             .serviceName("yyy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVolumesPlain(GetVolumesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("ovh:CloudProject/getVolumes:getVolumes", TypeShape.of(GetVolumesResult.class), args, Utilities.withVersion(options)); + } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Database.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Database.java index f33665c6..31f052b4 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Database.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Database.java @@ -74,7 +74,8 @@ * .serviceName("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") * .description("my-first-kafka") * .engine("kafka") - * .version("3.4") + * .version("3.8") + * .flavor("db1-4") * .plan("business") * .kafkaRestApi(true) * .kafkaSchemaRegistry(true) @@ -88,7 +89,6 @@ * DatabaseNodeArgs.builder() * .region("DE") * .build()) - * .flavor("db1-4") * .build()); * * var m3db = new Database("m3db", DatabaseArgs.builder() @@ -342,14 +342,14 @@ public Output> backupRegions() { return this.backupRegions; } /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ @Export(name="backupTime", refs={String.class}, tree="[0]") private Output backupTime; /** - * @return Time on which backups start every day. + * @return Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ public Output backupTime() { diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/DatabaseArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/DatabaseArgs.java index 687b8f34..a208e68e 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/DatabaseArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/DatabaseArgs.java @@ -53,14 +53,14 @@ public Optional>> backupRegions() { } /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ @Import(name="backupTime") private @Nullable Output backupTime; /** - * @return Time on which backups start every day. + * @return Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ public Optional> backupTime() { @@ -178,6 +178,21 @@ public Optional> kafkaSchemaRegistry() { return Optional.ofNullable(this.kafkaSchemaRegistry); } + /** + * Time on which maintenances can start every day. + * + */ + @Import(name="maintenanceTime") + private @Nullable Output maintenanceTime; + + /** + * @return Time on which maintenances can start every day. + * + */ + public Optional> maintenanceTime() { + return Optional.ofNullable(this.maintenanceTime); + } + /** * List of nodes object. * Multi region cluster are not yet available, all node should be identical. @@ -278,6 +293,7 @@ private DatabaseArgs(DatabaseArgs $) { this.ipRestrictions = $.ipRestrictions; this.kafkaRestApi = $.kafkaRestApi; this.kafkaSchemaRegistry = $.kafkaSchemaRegistry; + this.maintenanceTime = $.maintenanceTime; this.nodes = $.nodes; this.opensearchAclsEnabled = $.opensearchAclsEnabled; this.plan = $.plan; @@ -356,7 +372,7 @@ public Builder backupRegions(String... backupRegions) { } /** - * @param backupTime Time on which backups start every day. + * @param backupTime Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * * @return builder * @@ -367,7 +383,7 @@ public Builder backupTime(@Nullable Output backupTime) { } /** - * @param backupTime Time on which backups start every day. + * @param backupTime Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * * @return builder * @@ -539,6 +555,27 @@ public Builder kafkaSchemaRegistry(Boolean kafkaSchemaRegistry) { return kafkaSchemaRegistry(Output.of(kafkaSchemaRegistry)); } + /** + * @param maintenanceTime Time on which maintenances can start every day. + * + * @return builder + * + */ + public Builder maintenanceTime(@Nullable Output maintenanceTime) { + $.maintenanceTime = maintenanceTime; + return this; + } + + /** + * @param maintenanceTime Time on which maintenances can start every day. + * + * @return builder + * + */ + public Builder maintenanceTime(String maintenanceTime) { + return maintenanceTime(Output.of(maintenanceTime)); + } + /** * @param nodes List of nodes object. * Multi region cluster are not yet available, all node should be identical. diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Kube.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Kube.java index ed0c1559..13ae882a 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Kube.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Kube.java @@ -152,14 +152,14 @@ public Output> kubeconfigAttributes() { return this.kubeconfigAttributes; } /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ @Export(name="loadBalancersSubnetId", refs={String.class}, tree="[0]") private Output loadBalancersSubnetId; /** - * @return Openstack private network (or vRack) ID to use for load balancers. + * @return Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ public Output> loadBalancersSubnetId() { @@ -194,14 +194,14 @@ public Output> nextUpgradeVersions() { return this.nextUpgradeVersions; } /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ @Export(name="nodesSubnetId", refs={String.class}, tree="[0]") private Output nodesSubnetId; /** - * @return Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @return Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ public Output nodesSubnetId() { @@ -236,7 +236,7 @@ public Output> privateNetworkConfigura return Codegen.optional(this.privateNetworkConfiguration); } /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -245,7 +245,7 @@ public Output> privateNetworkConfigura private Output privateNetworkId; /** - * @return OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @return Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/KubeArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/KubeArgs.java index 9e09fb4f..c1170dc7 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/KubeArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/KubeArgs.java @@ -90,14 +90,14 @@ public Optional> kubeProxyMode() { } /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ @Import(name="loadBalancersSubnetId") private @Nullable Output loadBalancersSubnetId; /** - * @return Openstack private network (or vRack) ID to use for load balancers. + * @return Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ public Optional> loadBalancersSubnetId() { @@ -120,14 +120,14 @@ public Optional> name() { } /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ @Import(name="nodesSubnetId") private @Nullable Output nodesSubnetId; /** - * @return Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @return Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ public Optional> nodesSubnetId() { @@ -150,7 +150,7 @@ public Optional> privateNetworkConfi } /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -159,7 +159,7 @@ public Optional> privateNetworkConfi private @Nullable Output privateNetworkId; /** - * @return OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @return Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -381,7 +381,7 @@ public Builder kubeProxyMode(String kubeProxyMode) { } /** - * @param loadBalancersSubnetId Openstack private network (or vRack) ID to use for load balancers. + * @param loadBalancersSubnetId Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * * @return builder * @@ -392,7 +392,7 @@ public Builder loadBalancersSubnetId(@Nullable Output loadBalancersSubne } /** - * @param loadBalancersSubnetId Openstack private network (or vRack) ID to use for load balancers. + * @param loadBalancersSubnetId Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * * @return builder * @@ -423,7 +423,7 @@ public Builder name(String name) { } /** - * @param nodesSubnetId Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @param nodesSubnetId Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * * @return builder * @@ -434,7 +434,7 @@ public Builder nodesSubnetId(@Nullable Output nodesSubnetId) { } /** - * @param nodesSubnetId Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @param nodesSubnetId Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * * @return builder * @@ -465,7 +465,7 @@ public Builder privateNetworkConfiguration(KubePrivateNetworkConfigurationArgs p } /** - * @param privateNetworkId OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @param privateNetworkId Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -478,7 +478,7 @@ public Builder privateNetworkId(@Nullable Output privateNetworkId) { } /** - * @param privateNetworkId OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @param privateNetworkId Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnet.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnet.java index 62777107..7d776970 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnet.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnet.java @@ -92,7 +92,6 @@ public Output cidr() { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ @Export(name="dhcp", refs={Boolean.class}, tree="[0]") @@ -101,7 +100,6 @@ public Output cidr() { /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ public Output> dhcp() { diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetArgs.java index f34711fa..d2d662d1 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetArgs.java @@ -20,7 +20,6 @@ public final class NetworkPrivateSubnetArgs extends com.pulumi.resources.Resourc /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ @Import(name="dhcp") @@ -29,7 +28,6 @@ public final class NetworkPrivateSubnetArgs extends com.pulumi.resources.Resourc /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ public Optional> dhcp() { @@ -189,7 +187,6 @@ public Builder(NetworkPrivateSubnetArgs defaults) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * @@ -202,7 +199,6 @@ public Builder dhcp(@Nullable Output dhcp) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2.java new file mode 100644 index 00000000..e1f4841d --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2.java @@ -0,0 +1,304 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject; + +import com.ovhcloud.pulumi.ovh.CloudProject.NetworkPrivateSubnetV2Args; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.NetworkPrivateSubnetV2State; +import com.ovhcloud.pulumi.ovh.CloudProject.outputs.NetworkPrivateSubnetV2AllocationPool; +import com.ovhcloud.pulumi.ovh.CloudProject.outputs.NetworkPrivateSubnetV2HostRoute; +import com.ovhcloud.pulumi.ovh.Utilities; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Creates a subnet in a private network of a public cloud region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.ovh.CloudProject.NetworkPrivateSubnetV2;
+ * import com.pulumi.ovh.CloudProject.NetworkPrivateSubnetV2Args;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var subnet = new NetworkPrivateSubnetV2("subnet", NetworkPrivateSubnetV2Args.builder()
+ *             .cidr("192.168.168.0/24")
+ *             .dhcp(true)
+ *             .dnsNameservers("1.1.1.1")
+ *             .enableGatewayIp(true)
+ *             .networkId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
+ *             .region("XXX1")
+ *             .serviceName("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., + * + * bash + * + * ```sh + * $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 + * ``` + * + */ +@ResourceType(type="ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2") +public class NetworkPrivateSubnetV2 extends com.pulumi.resources.CustomResource { + /** + * DHCP allocation pools of subnet + * + */ + @Export(name="allocationPools", refs={List.class,NetworkPrivateSubnetV2AllocationPool.class}, tree="[0,1]") + private Output> allocationPools; + + /** + * @return DHCP allocation pools of subnet + * + */ + public Output> allocationPools() { + return this.allocationPools; + } + /** + * IP range of the subnet + * Changing this value recreates the subnet. + * + */ + @Export(name="cidr", refs={String.class}, tree="[0]") + private Output cidr; + + /** + * @return IP range of the subnet + * Changing this value recreates the subnet. + * + */ + public Output cidr() { + return this.cidr; + } + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + @Export(name="dhcp", refs={Boolean.class}, tree="[0]") + private Output dhcp; + + /** + * @return Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + public Output> dhcp() { + return Codegen.optional(this.dhcp); + } + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + @Export(name="dnsNameservers", refs={List.class,String.class}, tree="[0,1]") + private Output> dnsNameservers; + + /** + * @return DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + public Output>> dnsNameservers() { + return Codegen.optional(this.dnsNameservers); + } + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + @Export(name="enableGatewayIp", refs={Boolean.class}, tree="[0]") + private Output enableGatewayIp; + + /** + * @return Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + public Output> enableGatewayIp() { + return Codegen.optional(this.enableGatewayIp); + } + /** + * See Argument Reference above. + * + */ + @Export(name="gatewayIp", refs={String.class}, tree="[0]") + private Output gatewayIp; + + /** + * @return See Argument Reference above. + * + */ + public Output gatewayIp() { + return this.gatewayIp; + } + /** + * Static host routes of subnet + * + */ + @Export(name="hostRoutes", refs={List.class,NetworkPrivateSubnetV2HostRoute.class}, tree="[0,1]") + private Output> hostRoutes; + + /** + * @return Static host routes of subnet + * + */ + public Output>> hostRoutes() { + return Codegen.optional(this.hostRoutes); + } + /** + * Name of the subnet + * Changing this value recreates the subnet. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the subnet + * Changing this value recreates the subnet. + * + */ + public Output name() { + return this.name; + } + /** + * The id of the network. + * Changing this forces a new resource to be created. + * + */ + @Export(name="networkId", refs={String.class}, tree="[0]") + private Output networkId; + + /** + * @return The id of the network. + * Changing this forces a new resource to be created. + * + */ + public Output networkId() { + return this.networkId; + } + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + @Export(name="region", refs={String.class}, tree="[0]") + private Output region; + + /** + * @return The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + public Output region() { + return this.region; + } + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + @Export(name="serviceName", refs={String.class}, tree="[0]") + private Output serviceName; + + /** + * @return The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + public Output serviceName() { + return this.serviceName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public NetworkPrivateSubnetV2(java.lang.String name) { + this(name, NetworkPrivateSubnetV2Args.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public NetworkPrivateSubnetV2(java.lang.String name, NetworkPrivateSubnetV2Args args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public NetworkPrivateSubnetV2(java.lang.String name, NetworkPrivateSubnetV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private NetworkPrivateSubnetV2(java.lang.String name, Output id, @Nullable NetworkPrivateSubnetV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2", name, state, makeResourceOptions(options, id), false); + } + + private static NetworkPrivateSubnetV2Args makeArgs(NetworkPrivateSubnetV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NetworkPrivateSubnetV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static NetworkPrivateSubnetV2 get(java.lang.String name, Output id, @Nullable NetworkPrivateSubnetV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new NetworkPrivateSubnetV2(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2Args.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2Args.java new file mode 100644 index 00000000..798248c3 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/NetworkPrivateSubnetV2Args.java @@ -0,0 +1,533 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject; + +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.NetworkPrivateSubnetV2AllocationPoolArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.NetworkPrivateSubnetV2HostRouteArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NetworkPrivateSubnetV2Args extends com.pulumi.resources.ResourceArgs { + + public static final NetworkPrivateSubnetV2Args Empty = new NetworkPrivateSubnetV2Args(); + + /** + * DHCP allocation pools of subnet + * + */ + @Import(name="allocationPools") + private @Nullable Output> allocationPools; + + /** + * @return DHCP allocation pools of subnet + * + */ + public Optional>> allocationPools() { + return Optional.ofNullable(this.allocationPools); + } + + /** + * IP range of the subnet + * Changing this value recreates the subnet. + * + */ + @Import(name="cidr", required=true) + private Output cidr; + + /** + * @return IP range of the subnet + * Changing this value recreates the subnet. + * + */ + public Output cidr() { + return this.cidr; + } + + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + @Import(name="dhcp") + private @Nullable Output dhcp; + + /** + * @return Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + public Optional> dhcp() { + return Optional.ofNullable(this.dhcp); + } + + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + @Import(name="dnsNameservers") + private @Nullable Output> dnsNameservers; + + /** + * @return DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + public Optional>> dnsNameservers() { + return Optional.ofNullable(this.dnsNameservers); + } + + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + @Import(name="enableGatewayIp") + private @Nullable Output enableGatewayIp; + + /** + * @return Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + public Optional> enableGatewayIp() { + return Optional.ofNullable(this.enableGatewayIp); + } + + /** + * See Argument Reference above. + * + */ + @Import(name="gatewayIp") + private @Nullable Output gatewayIp; + + /** + * @return See Argument Reference above. + * + */ + public Optional> gatewayIp() { + return Optional.ofNullable(this.gatewayIp); + } + + /** + * Static host routes of subnet + * + */ + @Import(name="hostRoutes") + private @Nullable Output> hostRoutes; + + /** + * @return Static host routes of subnet + * + */ + public Optional>> hostRoutes() { + return Optional.ofNullable(this.hostRoutes); + } + + /** + * Name of the subnet + * Changing this value recreates the subnet. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the subnet + * Changing this value recreates the subnet. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The id of the network. + * Changing this forces a new resource to be created. + * + */ + @Import(name="networkId", required=true) + private Output networkId; + + /** + * @return The id of the network. + * Changing this forces a new resource to be created. + * + */ + public Output networkId() { + return this.networkId; + } + + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + @Import(name="region", required=true) + private Output region; + + /** + * @return The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + public Output region() { + return this.region; + } + + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + public Output serviceName() { + return this.serviceName; + } + + private NetworkPrivateSubnetV2Args() {} + + private NetworkPrivateSubnetV2Args(NetworkPrivateSubnetV2Args $) { + this.allocationPools = $.allocationPools; + this.cidr = $.cidr; + this.dhcp = $.dhcp; + this.dnsNameservers = $.dnsNameservers; + this.enableGatewayIp = $.enableGatewayIp; + this.gatewayIp = $.gatewayIp; + this.hostRoutes = $.hostRoutes; + this.name = $.name; + this.networkId = $.networkId; + this.region = $.region; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NetworkPrivateSubnetV2Args defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NetworkPrivateSubnetV2Args $; + + public Builder() { + $ = new NetworkPrivateSubnetV2Args(); + } + + public Builder(NetworkPrivateSubnetV2Args defaults) { + $ = new NetworkPrivateSubnetV2Args(Objects.requireNonNull(defaults)); + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(@Nullable Output> allocationPools) { + $.allocationPools = allocationPools; + return this; + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(List allocationPools) { + return allocationPools(Output.of(allocationPools)); + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(NetworkPrivateSubnetV2AllocationPoolArgs... allocationPools) { + return allocationPools(List.of(allocationPools)); + } + + /** + * @param cidr IP range of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder cidr(Output cidr) { + $.cidr = cidr; + return this; + } + + /** + * @param cidr IP range of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder cidr(String cidr) { + return cidr(Output.of(cidr)); + } + + /** + * @param dhcp Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + * @return builder + * + */ + public Builder dhcp(@Nullable Output dhcp) { + $.dhcp = dhcp; + return this; + } + + /** + * @param dhcp Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + * @return builder + * + */ + public Builder dhcp(Boolean dhcp) { + return dhcp(Output.of(dhcp)); + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(@Nullable Output> dnsNameservers) { + $.dnsNameservers = dnsNameservers; + return this; + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(List dnsNameservers) { + return dnsNameservers(Output.of(dnsNameservers)); + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(String... dnsNameservers) { + return dnsNameservers(List.of(dnsNameservers)); + } + + /** + * @param enableGatewayIp Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + * @return builder + * + */ + public Builder enableGatewayIp(@Nullable Output enableGatewayIp) { + $.enableGatewayIp = enableGatewayIp; + return this; + } + + /** + * @param enableGatewayIp Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + * @return builder + * + */ + public Builder enableGatewayIp(Boolean enableGatewayIp) { + return enableGatewayIp(Output.of(enableGatewayIp)); + } + + /** + * @param gatewayIp See Argument Reference above. + * + * @return builder + * + */ + public Builder gatewayIp(@Nullable Output gatewayIp) { + $.gatewayIp = gatewayIp; + return this; + } + + /** + * @param gatewayIp See Argument Reference above. + * + * @return builder + * + */ + public Builder gatewayIp(String gatewayIp) { + return gatewayIp(Output.of(gatewayIp)); + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(@Nullable Output> hostRoutes) { + $.hostRoutes = hostRoutes; + return this; + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(List hostRoutes) { + return hostRoutes(Output.of(hostRoutes)); + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(NetworkPrivateSubnetV2HostRouteArgs... hostRoutes) { + return hostRoutes(List.of(hostRoutes)); + } + + /** + * @param name Name of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkId The id of the network. + * Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder networkId(Output networkId) { + $.networkId = networkId; + return this; + } + + /** + * @param networkId The id of the network. + * Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder networkId(String networkId) { + return networkId(Output.of(networkId)); + } + + /** + * @param region The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + * @return builder + * + */ + public Builder region(Output region) { + $.region = region; + return this; + } + + /** + * @param region The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + /** + * @param serviceName The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public NetworkPrivateSubnetV2Args build() { + if ($.cidr == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2Args", "cidr"); + } + if ($.networkId == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2Args", "networkId"); + } + if ($.region == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2Args", "region"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2Args", "serviceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Project.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Project.java index 9eeab791..3a1165c8 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Project.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/Project.java @@ -21,13 +21,31 @@ /** * ## Import * - * Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. + * Cloud project can be imported using the `project_id`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_cloud_project.my_cloud_project + * + * id = "<project ID>" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id - * ``` + * $ pulumi preview -generate-config-out=cloudproject.tf + * + * $ pulumi up + * + * The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. * */ @ResourceType(type="ovh:CloudProject/project:Project") @@ -195,7 +213,7 @@ public Project(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Project(java.lang.String name, ProjectArgs args) { + public Project(java.lang.String name, @Nullable ProjectArgs args) { this(name, args, null); } /** @@ -204,7 +222,7 @@ public Project(java.lang.String name, ProjectArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Project(java.lang.String name, ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Project(java.lang.String name, @Nullable ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:CloudProject/project:Project", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -212,7 +230,7 @@ private Project(java.lang.String name, Output id, @Nullable Pr super("ovh:CloudProject/project:Project", name, state, makeResourceOptions(options, id), false); } - private static ProjectArgs makeArgs(ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static ProjectArgs makeArgs(@Nullable ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/ProjectArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/ProjectArgs.java index b962a9cc..0ae990f8 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/ProjectArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/ProjectArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.CloudProject.inputs.ProjectPlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -54,15 +53,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -92,15 +91,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -205,7 +204,7 @@ public Builder orders(ProjectOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -255,7 +254,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -302,12 +301,6 @@ public Builder planOptions(ProjectPlanOptionArgs... planOptions) { } public ProjectArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("ProjectArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("ProjectArgs", "plan"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/DatabaseState.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/DatabaseState.java index 6a5d5ac0..1a27235a 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/DatabaseState.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/DatabaseState.java @@ -53,14 +53,14 @@ public Optional>> backupRegions() { } /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ @Import(name="backupTime") private @Nullable Output backupTime; /** - * @return Time on which backups start every day. + * @return Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * */ public Optional> backupTime() { @@ -452,7 +452,7 @@ public Builder backupRegions(String... backupRegions) { } /** - * @param backupTime Time on which backups start every day. + * @param backupTime Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * * @return builder * @@ -463,7 +463,7 @@ public Builder backupTime(@Nullable Output backupTime) { } /** - * @param backupTime Time on which backups start every day. + * @param backupTime Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). * * @return builder * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumeArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumeArgs.java new file mode 100644 index 00000000..392d447b --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumeArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVolumeArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVolumeArgs Empty = new GetVolumeArgs(); + + /** + * A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + */ + @Import(name="regionName", required=true) + private Output regionName; + + /** + * @return A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + */ + public Output regionName() { + return this.regionName; + } + + /** + * The id of the public cloud project. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The id of the public cloud project. + * + */ + public Output serviceName() { + return this.serviceName; + } + + /** + * Volume id to get the informations + * + */ + @Import(name="volumeId", required=true) + private Output volumeId; + + /** + * @return Volume id to get the informations + * + */ + public Output volumeId() { + return this.volumeId; + } + + private GetVolumeArgs() {} + + private GetVolumeArgs(GetVolumeArgs $) { + this.regionName = $.regionName; + this.serviceName = $.serviceName; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVolumeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVolumeArgs $; + + public Builder() { + $ = new GetVolumeArgs(); + } + + public Builder(GetVolumeArgs defaults) { + $ = new GetVolumeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(Output regionName) { + $.regionName = regionName; + return this; + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(String regionName) { + return regionName(Output.of(regionName)); + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + /** + * @param volumeId Volume id to get the informations + * + * @return builder + * + */ + public Builder volumeId(Output volumeId) { + $.volumeId = volumeId; + return this; + } + + /** + * @param volumeId Volume id to get the informations + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + return volumeId(Output.of(volumeId)); + } + + public GetVolumeArgs build() { + if ($.regionName == null) { + throw new MissingRequiredPropertyException("GetVolumeArgs", "regionName"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumeArgs", "serviceName"); + } + if ($.volumeId == null) { + throw new MissingRequiredPropertyException("GetVolumeArgs", "volumeId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumePlainArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumePlainArgs.java new file mode 100644 index 00000000..61488a26 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumePlainArgs.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVolumePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVolumePlainArgs Empty = new GetVolumePlainArgs(); + + /** + * A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + */ + @Import(name="regionName", required=true) + private String regionName; + + /** + * @return A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + */ + public String regionName() { + return this.regionName; + } + + /** + * The id of the public cloud project. + * + */ + @Import(name="serviceName", required=true) + private String serviceName; + + /** + * @return The id of the public cloud project. + * + */ + public String serviceName() { + return this.serviceName; + } + + /** + * Volume id to get the informations + * + */ + @Import(name="volumeId", required=true) + private String volumeId; + + /** + * @return Volume id to get the informations + * + */ + public String volumeId() { + return this.volumeId; + } + + private GetVolumePlainArgs() {} + + private GetVolumePlainArgs(GetVolumePlainArgs $) { + this.regionName = $.regionName; + this.serviceName = $.serviceName; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVolumePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVolumePlainArgs $; + + public Builder() { + $ = new GetVolumePlainArgs(); + } + + public Builder(GetVolumePlainArgs defaults) { + $ = new GetVolumePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(String regionName) { + $.regionName = regionName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param volumeId Volume id to get the informations + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + $.volumeId = volumeId; + return this; + } + + public GetVolumePlainArgs build() { + if ($.regionName == null) { + throw new MissingRequiredPropertyException("GetVolumePlainArgs", "regionName"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumePlainArgs", "serviceName"); + } + if ($.volumeId == null) { + throw new MissingRequiredPropertyException("GetVolumePlainArgs", "volumeId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesArgs.java new file mode 100644 index 00000000..d9aa36e7 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVolumesArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVolumesArgs Empty = new GetVolumesArgs(); + + /** + * A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + */ + @Import(name="regionName", required=true) + private Output regionName; + + /** + * @return A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + */ + public Output regionName() { + return this.regionName; + } + + /** + * The id of the public cloud project. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The id of the public cloud project. + * + */ + public Output serviceName() { + return this.serviceName; + } + + private GetVolumesArgs() {} + + private GetVolumesArgs(GetVolumesArgs $) { + this.regionName = $.regionName; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVolumesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVolumesArgs $; + + public Builder() { + $ = new GetVolumesArgs(); + } + + public Builder(GetVolumesArgs defaults) { + $ = new GetVolumesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(Output regionName) { + $.regionName = regionName; + return this; + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(String regionName) { + return regionName(Output.of(regionName)); + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public GetVolumesArgs build() { + if ($.regionName == null) { + throw new MissingRequiredPropertyException("GetVolumesArgs", "regionName"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumesArgs", "serviceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesPlainArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesPlainArgs.java new file mode 100644 index 00000000..41a481c6 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/GetVolumesPlainArgs.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVolumesPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVolumesPlainArgs Empty = new GetVolumesPlainArgs(); + + /** + * A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + */ + @Import(name="regionName", required=true) + private String regionName; + + /** + * @return A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + */ + public String regionName() { + return this.regionName; + } + + /** + * The id of the public cloud project. + * + */ + @Import(name="serviceName", required=true) + private String serviceName; + + /** + * @return The id of the public cloud project. + * + */ + public String serviceName() { + return this.serviceName; + } + + private GetVolumesPlainArgs() {} + + private GetVolumesPlainArgs(GetVolumesPlainArgs $) { + this.regionName = $.regionName; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVolumesPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVolumesPlainArgs $; + + public Builder() { + $ = new GetVolumesPlainArgs(); + } + + public Builder(GetVolumesPlainArgs defaults) { + $ = new GetVolumesPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param regionName A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + * + * @return builder + * + */ + public Builder regionName(String regionName) { + $.regionName = regionName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + $.serviceName = serviceName; + return this; + } + + public GetVolumesPlainArgs build() { + if ($.regionName == null) { + throw new MissingRequiredPropertyException("GetVolumesPlainArgs", "regionName"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumesPlainArgs", "serviceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/KubeState.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/KubeState.java index 620854e5..e7f5482d 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/KubeState.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/KubeState.java @@ -151,14 +151,14 @@ public Optional>> kubeconfigAttributes( } /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ @Import(name="loadBalancersSubnetId") private @Nullable Output loadBalancersSubnetId; /** - * @return Openstack private network (or vRack) ID to use for load balancers. + * @return Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * */ public Optional> loadBalancersSubnetId() { @@ -196,14 +196,14 @@ public Optional>> nextUpgradeVersions() { } /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ @Import(name="nodesSubnetId") private @Nullable Output nodesSubnetId; /** - * @return Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @return Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * */ public Optional> nodesSubnetId() { @@ -241,7 +241,7 @@ public Optional> privateNetworkConfi } /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -250,7 +250,7 @@ public Optional> privateNetworkConfi private @Nullable Output privateNetworkId; /** - * @return OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @return Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -604,7 +604,7 @@ public Builder kubeconfigAttributes(KubeKubeconfigAttributeArgs... kubeconfigAtt } /** - * @param loadBalancersSubnetId Openstack private network (or vRack) ID to use for load balancers. + * @param loadBalancersSubnetId Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * * @return builder * @@ -615,7 +615,7 @@ public Builder loadBalancersSubnetId(@Nullable Output loadBalancersSubne } /** - * @param loadBalancersSubnetId Openstack private network (or vRack) ID to use for load balancers. + * @param loadBalancersSubnetId Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. * * @return builder * @@ -677,7 +677,7 @@ public Builder nextUpgradeVersions(String... nextUpgradeVersions) { } /** - * @param nodesSubnetId Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @param nodesSubnetId Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * * @return builder * @@ -688,7 +688,7 @@ public Builder nodesSubnetId(@Nullable Output nodesSubnetId) { } /** - * @param nodesSubnetId Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * @param nodesSubnetId Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** * * @return builder * @@ -740,7 +740,7 @@ public Builder privateNetworkConfiguration(KubePrivateNetworkConfigurationArgs p } /** - * @param privateNetworkId OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @param privateNetworkId Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * @@ -753,7 +753,7 @@ public Builder privateNetworkId(@Nullable Output privateNetworkId) { } /** - * @param privateNetworkId OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * @param privateNetworkId Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetIpPoolArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetIpPoolArgs.java index 3c9303c5..9e4fe871 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetIpPoolArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetIpPoolArgs.java @@ -19,7 +19,6 @@ public final class NetworkPrivateSubnetIpPoolArgs extends com.pulumi.resources.R /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ @Import(name="dhcp") @@ -28,7 +27,6 @@ public final class NetworkPrivateSubnetIpPoolArgs extends com.pulumi.resources.R /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ public Optional> dhcp() { @@ -134,7 +132,6 @@ public Builder(NetworkPrivateSubnetIpPoolArgs defaults) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * @@ -147,7 +144,6 @@ public Builder dhcp(@Nullable Output dhcp) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetState.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetState.java index 9b406fd6..366218a7 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetState.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetState.java @@ -36,7 +36,6 @@ public Optional> cidr() { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ @Import(name="dhcp") @@ -45,7 +44,6 @@ public Optional> cidr() { /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ public Optional> dhcp() { @@ -269,7 +267,6 @@ public Builder cidr(String cidr) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * @@ -282,7 +279,6 @@ public Builder dhcp(@Nullable Output dhcp) { /** * @param dhcp Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * * @return builder * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2AllocationPoolArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2AllocationPoolArgs.java new file mode 100644 index 00000000..8e6f38e2 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2AllocationPoolArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class NetworkPrivateSubnetV2AllocationPoolArgs extends com.pulumi.resources.ResourceArgs { + + public static final NetworkPrivateSubnetV2AllocationPoolArgs Empty = new NetworkPrivateSubnetV2AllocationPoolArgs(); + + @Import(name="end", required=true) + private Output end; + + public Output end() { + return this.end; + } + + @Import(name="start", required=true) + private Output start; + + public Output start() { + return this.start; + } + + private NetworkPrivateSubnetV2AllocationPoolArgs() {} + + private NetworkPrivateSubnetV2AllocationPoolArgs(NetworkPrivateSubnetV2AllocationPoolArgs $) { + this.end = $.end; + this.start = $.start; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NetworkPrivateSubnetV2AllocationPoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NetworkPrivateSubnetV2AllocationPoolArgs $; + + public Builder() { + $ = new NetworkPrivateSubnetV2AllocationPoolArgs(); + } + + public Builder(NetworkPrivateSubnetV2AllocationPoolArgs defaults) { + $ = new NetworkPrivateSubnetV2AllocationPoolArgs(Objects.requireNonNull(defaults)); + } + + public Builder end(Output end) { + $.end = end; + return this; + } + + public Builder end(String end) { + return end(Output.of(end)); + } + + public Builder start(Output start) { + $.start = start; + return this; + } + + public Builder start(String start) { + return start(Output.of(start)); + } + + public NetworkPrivateSubnetV2AllocationPoolArgs build() { + if ($.end == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2AllocationPoolArgs", "end"); + } + if ($.start == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2AllocationPoolArgs", "start"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2HostRouteArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2HostRouteArgs.java new file mode 100644 index 00000000..7c7409d3 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2HostRouteArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class NetworkPrivateSubnetV2HostRouteArgs extends com.pulumi.resources.ResourceArgs { + + public static final NetworkPrivateSubnetV2HostRouteArgs Empty = new NetworkPrivateSubnetV2HostRouteArgs(); + + @Import(name="destination", required=true) + private Output destination; + + public Output destination() { + return this.destination; + } + + @Import(name="nexthop", required=true) + private Output nexthop; + + public Output nexthop() { + return this.nexthop; + } + + private NetworkPrivateSubnetV2HostRouteArgs() {} + + private NetworkPrivateSubnetV2HostRouteArgs(NetworkPrivateSubnetV2HostRouteArgs $) { + this.destination = $.destination; + this.nexthop = $.nexthop; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NetworkPrivateSubnetV2HostRouteArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NetworkPrivateSubnetV2HostRouteArgs $; + + public Builder() { + $ = new NetworkPrivateSubnetV2HostRouteArgs(); + } + + public Builder(NetworkPrivateSubnetV2HostRouteArgs defaults) { + $ = new NetworkPrivateSubnetV2HostRouteArgs(Objects.requireNonNull(defaults)); + } + + public Builder destination(Output destination) { + $.destination = destination; + return this; + } + + public Builder destination(String destination) { + return destination(Output.of(destination)); + } + + public Builder nexthop(Output nexthop) { + $.nexthop = nexthop; + return this; + } + + public Builder nexthop(String nexthop) { + return nexthop(Output.of(nexthop)); + } + + public NetworkPrivateSubnetV2HostRouteArgs build() { + if ($.destination == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2HostRouteArgs", "destination"); + } + if ($.nexthop == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2HostRouteArgs", "nexthop"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2State.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2State.java new file mode 100644 index 00000000..c2b66b81 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/inputs/NetworkPrivateSubnetV2State.java @@ -0,0 +1,520 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.inputs; + +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.NetworkPrivateSubnetV2AllocationPoolArgs; +import com.ovhcloud.pulumi.ovh.CloudProject.inputs.NetworkPrivateSubnetV2HostRouteArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NetworkPrivateSubnetV2State extends com.pulumi.resources.ResourceArgs { + + public static final NetworkPrivateSubnetV2State Empty = new NetworkPrivateSubnetV2State(); + + /** + * DHCP allocation pools of subnet + * + */ + @Import(name="allocationPools") + private @Nullable Output> allocationPools; + + /** + * @return DHCP allocation pools of subnet + * + */ + public Optional>> allocationPools() { + return Optional.ofNullable(this.allocationPools); + } + + /** + * IP range of the subnet + * Changing this value recreates the subnet. + * + */ + @Import(name="cidr") + private @Nullable Output cidr; + + /** + * @return IP range of the subnet + * Changing this value recreates the subnet. + * + */ + public Optional> cidr() { + return Optional.ofNullable(this.cidr); + } + + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + @Import(name="dhcp") + private @Nullable Output dhcp; + + /** + * @return Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + */ + public Optional> dhcp() { + return Optional.ofNullable(this.dhcp); + } + + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + @Import(name="dnsNameservers") + private @Nullable Output> dnsNameservers; + + /** + * @return DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + */ + public Optional>> dnsNameservers() { + return Optional.ofNullable(this.dnsNameservers); + } + + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + @Import(name="enableGatewayIp") + private @Nullable Output enableGatewayIp; + + /** + * @return Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + */ + public Optional> enableGatewayIp() { + return Optional.ofNullable(this.enableGatewayIp); + } + + /** + * See Argument Reference above. + * + */ + @Import(name="gatewayIp") + private @Nullable Output gatewayIp; + + /** + * @return See Argument Reference above. + * + */ + public Optional> gatewayIp() { + return Optional.ofNullable(this.gatewayIp); + } + + /** + * Static host routes of subnet + * + */ + @Import(name="hostRoutes") + private @Nullable Output> hostRoutes; + + /** + * @return Static host routes of subnet + * + */ + public Optional>> hostRoutes() { + return Optional.ofNullable(this.hostRoutes); + } + + /** + * Name of the subnet + * Changing this value recreates the subnet. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the subnet + * Changing this value recreates the subnet. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The id of the network. + * Changing this forces a new resource to be created. + * + */ + @Import(name="networkId") + private @Nullable Output networkId; + + /** + * @return The id of the network. + * Changing this forces a new resource to be created. + * + */ + public Optional> networkId() { + return Optional.ofNullable(this.networkId); + } + + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + @Import(name="region") + private @Nullable Output region; + + /** + * @return The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + */ + public Optional> region() { + return Optional.ofNullable(this.region); + } + + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + @Import(name="serviceName") + private @Nullable Output serviceName; + + /** + * @return The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + */ + public Optional> serviceName() { + return Optional.ofNullable(this.serviceName); + } + + private NetworkPrivateSubnetV2State() {} + + private NetworkPrivateSubnetV2State(NetworkPrivateSubnetV2State $) { + this.allocationPools = $.allocationPools; + this.cidr = $.cidr; + this.dhcp = $.dhcp; + this.dnsNameservers = $.dnsNameservers; + this.enableGatewayIp = $.enableGatewayIp; + this.gatewayIp = $.gatewayIp; + this.hostRoutes = $.hostRoutes; + this.name = $.name; + this.networkId = $.networkId; + this.region = $.region; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NetworkPrivateSubnetV2State defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NetworkPrivateSubnetV2State $; + + public Builder() { + $ = new NetworkPrivateSubnetV2State(); + } + + public Builder(NetworkPrivateSubnetV2State defaults) { + $ = new NetworkPrivateSubnetV2State(Objects.requireNonNull(defaults)); + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(@Nullable Output> allocationPools) { + $.allocationPools = allocationPools; + return this; + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(List allocationPools) { + return allocationPools(Output.of(allocationPools)); + } + + /** + * @param allocationPools DHCP allocation pools of subnet + * + * @return builder + * + */ + public Builder allocationPools(NetworkPrivateSubnetV2AllocationPoolArgs... allocationPools) { + return allocationPools(List.of(allocationPools)); + } + + /** + * @param cidr IP range of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder cidr(@Nullable Output cidr) { + $.cidr = cidr; + return this; + } + + /** + * @param cidr IP range of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder cidr(String cidr) { + return cidr(Output.of(cidr)); + } + + /** + * @param dhcp Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + * @return builder + * + */ + public Builder dhcp(@Nullable Output dhcp) { + $.dhcp = dhcp; + return this; + } + + /** + * @param dhcp Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + * + * @return builder + * + */ + public Builder dhcp(Boolean dhcp) { + return dhcp(Output.of(dhcp)); + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(@Nullable Output> dnsNameservers) { + $.dnsNameservers = dnsNameservers; + return this; + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(List dnsNameservers) { + return dnsNameservers(Output.of(dnsNameservers)); + } + + /** + * @param dnsNameservers DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + * + * @return builder + * + */ + public Builder dnsNameservers(String... dnsNameservers) { + return dnsNameservers(List.of(dnsNameservers)); + } + + /** + * @param enableGatewayIp Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + * @return builder + * + */ + public Builder enableGatewayIp(@Nullable Output enableGatewayIp) { + $.enableGatewayIp = enableGatewayIp; + return this; + } + + /** + * @param enableGatewayIp Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + * + * @return builder + * + */ + public Builder enableGatewayIp(Boolean enableGatewayIp) { + return enableGatewayIp(Output.of(enableGatewayIp)); + } + + /** + * @param gatewayIp See Argument Reference above. + * + * @return builder + * + */ + public Builder gatewayIp(@Nullable Output gatewayIp) { + $.gatewayIp = gatewayIp; + return this; + } + + /** + * @param gatewayIp See Argument Reference above. + * + * @return builder + * + */ + public Builder gatewayIp(String gatewayIp) { + return gatewayIp(Output.of(gatewayIp)); + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(@Nullable Output> hostRoutes) { + $.hostRoutes = hostRoutes; + return this; + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(List hostRoutes) { + return hostRoutes(Output.of(hostRoutes)); + } + + /** + * @param hostRoutes Static host routes of subnet + * + * @return builder + * + */ + public Builder hostRoutes(NetworkPrivateSubnetV2HostRouteArgs... hostRoutes) { + return hostRoutes(List.of(hostRoutes)); + } + + /** + * @param name Name of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the subnet + * Changing this value recreates the subnet. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkId The id of the network. + * Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder networkId(@Nullable Output networkId) { + $.networkId = networkId; + return this; + } + + /** + * @param networkId The id of the network. + * Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder networkId(String networkId) { + return networkId(Output.of(networkId)); + } + + /** + * @param region The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + * @return builder + * + */ + public Builder region(@Nullable Output region) { + $.region = region; + return this; + } + + /** + * @param region The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + /** + * @param serviceName The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + * @return builder + * + */ + public Builder serviceName(@Nullable Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public NetworkPrivateSubnetV2State build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumeResult.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumeResult.java new file mode 100644 index 00000000..93f49952 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumeResult.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVolumeResult { + private String id; + /** + * @return The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + * + */ + private String name; + /** + * @return The region name where volume is available + * + */ + private String regionName; + /** + * @return The id of the public cloud project. + * + */ + private String serviceName; + /** + * @return The size of the volume + * + */ + private Double size; + /** + * @return The id of the volume + * + */ + private String volumeId; + + private GetVolumeResult() {} + public String id() { + return this.id; + } + /** + * @return The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + * + */ + public String name() { + return this.name; + } + /** + * @return The region name where volume is available + * + */ + public String regionName() { + return this.regionName; + } + /** + * @return The id of the public cloud project. + * + */ + public String serviceName() { + return this.serviceName; + } + /** + * @return The size of the volume + * + */ + public Double size() { + return this.size; + } + /** + * @return The id of the volume + * + */ + public String volumeId() { + return this.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVolumeResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private String name; + private String regionName; + private String serviceName; + private Double size; + private String volumeId; + public Builder() {} + public Builder(GetVolumeResult defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.name = defaults.name; + this.regionName = defaults.regionName; + this.serviceName = defaults.serviceName; + this.size = defaults.size; + this.volumeId = defaults.volumeId; + } + + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder regionName(String regionName) { + if (regionName == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "regionName"); + } + this.regionName = regionName; + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + if (serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "serviceName"); + } + this.serviceName = serviceName; + return this; + } + @CustomType.Setter + public Builder size(Double size) { + if (size == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "size"); + } + this.size = size; + return this; + } + @CustomType.Setter + public Builder volumeId(String volumeId) { + if (volumeId == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "volumeId"); + } + this.volumeId = volumeId; + return this; + } + public GetVolumeResult build() { + final var _resultValue = new GetVolumeResult(); + _resultValue.id = id; + _resultValue.name = name; + _resultValue.regionName = regionName; + _resultValue.serviceName = serviceName; + _resultValue.size = size; + _resultValue.volumeId = volumeId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesResult.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesResult.java new file mode 100644 index 00000000..eac373b2 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesResult.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.outputs; + +import com.ovhcloud.pulumi.ovh.CloudProject.outputs.GetVolumesVolume; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVolumesResult { + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return The region name where volumes are available + * + */ + private String regionName; + /** + * @return The id of the public cloud project. + * + */ + private String serviceName; + private List volumes; + + private GetVolumesResult() {} + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return The region name where volumes are available + * + */ + public String regionName() { + return this.regionName; + } + /** + * @return The id of the public cloud project. + * + */ + public String serviceName() { + return this.serviceName; + } + public List volumes() { + return this.volumes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVolumesResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private String regionName; + private String serviceName; + private List volumes; + public Builder() {} + public Builder(GetVolumesResult defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.regionName = defaults.regionName; + this.serviceName = defaults.serviceName; + this.volumes = defaults.volumes; + } + + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetVolumesResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder regionName(String regionName) { + if (regionName == null) { + throw new MissingRequiredPropertyException("GetVolumesResult", "regionName"); + } + this.regionName = regionName; + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + if (serviceName == null) { + throw new MissingRequiredPropertyException("GetVolumesResult", "serviceName"); + } + this.serviceName = serviceName; + return this; + } + @CustomType.Setter + public Builder volumes(List volumes) { + if (volumes == null) { + throw new MissingRequiredPropertyException("GetVolumesResult", "volumes"); + } + this.volumes = volumes; + return this; + } + public Builder volumes(GetVolumesVolume... volumes) { + return volumes(List.of(volumes)); + } + public GetVolumesResult build() { + final var _resultValue = new GetVolumesResult(); + _resultValue.id = id; + _resultValue.regionName = regionName; + _resultValue.serviceName = serviceName; + _resultValue.volumes = volumes; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesVolume.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesVolume.java new file mode 100644 index 00000000..46e3681b --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/GetVolumesVolume.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVolumesVolume { + /** + * @return The id of the volume + * + */ + private String id; + /** + * @return The name of the volume + * + */ + private String name; + /** + * @return The size of the volume + * + */ + private Double size; + + private GetVolumesVolume() {} + /** + * @return The id of the volume + * + */ + public String id() { + return this.id; + } + /** + * @return The name of the volume + * + */ + public String name() { + return this.name; + } + /** + * @return The size of the volume + * + */ + public Double size() { + return this.size; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVolumesVolume defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private String name; + private Double size; + public Builder() {} + public Builder(GetVolumesVolume defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.name = defaults.name; + this.size = defaults.size; + } + + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetVolumesVolume", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVolumesVolume", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder size(Double size) { + if (size == null) { + throw new MissingRequiredPropertyException("GetVolumesVolume", "size"); + } + this.size = size; + return this; + } + public GetVolumesVolume build() { + final var _resultValue = new GetVolumesVolume(); + _resultValue.id = id; + _resultValue.name = name; + _resultValue.size = size; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetIpPool.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetIpPool.java index 1e5d90e3..dbc44be1 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetIpPool.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetIpPool.java @@ -15,7 +15,6 @@ public final class NetworkPrivateSubnetIpPool { /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ private @Nullable Boolean dhcp; @@ -48,7 +47,6 @@ private NetworkPrivateSubnetIpPool() {} /** * @return Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ * */ public Optional dhcp() { diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2AllocationPool.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2AllocationPool.java new file mode 100644 index 00000000..cfa5f923 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2AllocationPool.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class NetworkPrivateSubnetV2AllocationPool { + private String end; + private String start; + + private NetworkPrivateSubnetV2AllocationPool() {} + public String end() { + return this.end; + } + public String start() { + return this.start; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NetworkPrivateSubnetV2AllocationPool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String end; + private String start; + public Builder() {} + public Builder(NetworkPrivateSubnetV2AllocationPool defaults) { + Objects.requireNonNull(defaults); + this.end = defaults.end; + this.start = defaults.start; + } + + @CustomType.Setter + public Builder end(String end) { + if (end == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2AllocationPool", "end"); + } + this.end = end; + return this; + } + @CustomType.Setter + public Builder start(String start) { + if (start == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2AllocationPool", "start"); + } + this.start = start; + return this; + } + public NetworkPrivateSubnetV2AllocationPool build() { + final var _resultValue = new NetworkPrivateSubnetV2AllocationPool(); + _resultValue.end = end; + _resultValue.start = start; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2HostRoute.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2HostRoute.java new file mode 100644 index 00000000..9688d6f6 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProject/outputs/NetworkPrivateSubnetV2HostRoute.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.CloudProject.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class NetworkPrivateSubnetV2HostRoute { + private String destination; + private String nexthop; + + private NetworkPrivateSubnetV2HostRoute() {} + public String destination() { + return this.destination; + } + public String nexthop() { + return this.nexthop; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NetworkPrivateSubnetV2HostRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String destination; + private String nexthop; + public Builder() {} + public Builder(NetworkPrivateSubnetV2HostRoute defaults) { + Objects.requireNonNull(defaults); + this.destination = defaults.destination; + this.nexthop = defaults.nexthop; + } + + @CustomType.Setter + public Builder destination(String destination) { + if (destination == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2HostRoute", "destination"); + } + this.destination = destination; + return this; + } + @CustomType.Setter + public Builder nexthop(String nexthop) { + if (nexthop == null) { + throw new MissingRequiredPropertyException("NetworkPrivateSubnetV2HostRoute", "nexthop"); + } + this.nexthop = nexthop; + return this; + } + public NetworkPrivateSubnetV2HostRoute build() { + final var _resultValue = new NetworkPrivateSubnetV2HostRoute(); + _resultValue.destination = destination; + _resultValue.nexthop = nexthop; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/CloudProjectDatabaseFunctions.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/CloudProjectDatabaseFunctions.java index c924d7a2..1e25da43 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/CloudProjectDatabaseFunctions.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/CloudProjectDatabaseFunctions.java @@ -1389,7 +1389,7 @@ public static CompletableFuture getDatabaseLog return Deployment.getInstance().invokeAsync("ovh:CloudProjectDatabase/getDatabaseLogSubscription:getDatabaseLogSubscription", TypeShape.of(GetDatabaseLogSubscriptionResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * @@ -1434,7 +1434,7 @@ public static Output getDatabaseLogSubscripti return getDatabaseLogSubscriptions(args, InvokeOptions.Empty); } /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * @@ -1479,7 +1479,7 @@ public static CompletableFuture getDatabaseLo return getDatabaseLogSubscriptionsPlain(args, InvokeOptions.Empty); } /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * @@ -1524,7 +1524,7 @@ public static Output getDatabaseLogSubscripti return Deployment.getInstance().invoke("ovh:CloudProjectDatabase/getDatabaseLogSubscriptions:getDatabaseLogSubscriptions", TypeShape.of(GetDatabaseLogSubscriptionsResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/LogSubscription.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/LogSubscription.java index 9b3f47c7..d4e0aaf1 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/LogSubscription.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/CloudProjectDatabase/LogSubscription.java @@ -15,7 +15,7 @@ import javax.annotation.Nullable; /** - * Creates a log subscrition for a cluster associated with a public cloud project. + * Creates a log subscription for a cluster associated with a public cloud project. * * ## Example Usage * diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/DbaasFunctions.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/DbaasFunctions.java index ffcd7fb9..eeee4935 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/DbaasFunctions.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/DbaasFunctions.java @@ -13,11 +13,14 @@ import com.ovhcloud.pulumi.ovh.Dbaas.inputs.GetLogsInputEnginePlainArgs; import com.ovhcloud.pulumi.ovh.Dbaas.inputs.GetLogsOutputGraylogStreamArgs; import com.ovhcloud.pulumi.ovh.Dbaas.inputs.GetLogsOutputGraylogStreamPlainArgs; +import com.ovhcloud.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs; +import com.ovhcloud.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexPlainArgs; import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsClusterResult; import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsClustersResult; import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsClustersRetentionResult; import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsInputEngineResult; import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsOutputGraylogStreamResult; +import com.ovhcloud.pulumi.ovh.Dbaas.outputs.GetLogsOutputOpenSearchIndexResult; import com.ovhcloud.pulumi.ovh.Utilities; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -1042,4 +1045,176 @@ public static Output getLogsOutputGraylogStrea public static CompletableFuture getLogsOutputGraylogStreamPlain(GetLogsOutputGraylogStreamPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("ovh:Dbaas/getLogsOutputGraylogStream:getLogsOutputGraylogStream", TypeShape.of(GetLogsOutputGraylogStreamResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.Dbaas.DbaasFunctions;
+     * import com.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var index = DbaasFunctions.getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs.builder()
+     *             .name("index-name")
+     *             .serviceName("ldp-xx-xxxxx")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs args) { + return getLogsOutputOpenSearchIndex(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.Dbaas.DbaasFunctions;
+     * import com.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var index = DbaasFunctions.getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs.builder()
+     *             .name("index-name")
+     *             .serviceName("ldp-xx-xxxxx")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLogsOutputOpenSearchIndexPlain(GetLogsOutputOpenSearchIndexPlainArgs args) { + return getLogsOutputOpenSearchIndexPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.Dbaas.DbaasFunctions;
+     * import com.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var index = DbaasFunctions.getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs.builder()
+     *             .name("index-name")
+     *             .serviceName("ldp-xx-xxxxx")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", TypeShape.of(GetLogsOutputOpenSearchIndexResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.ovh.Dbaas.DbaasFunctions;
+     * import com.pulumi.ovh.Dbaas.inputs.GetLogsOutputOpenSearchIndexArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var index = DbaasFunctions.getLogsOutputOpenSearchIndex(GetLogsOutputOpenSearchIndexArgs.builder()
+     *             .name("index-name")
+     *             .serviceName("ldp-xx-xxxxx")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLogsOutputOpenSearchIndexPlain(GetLogsOutputOpenSearchIndexPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", TypeShape.of(GetLogsOutputOpenSearchIndexResult.class), args, Utilities.withVersion(options)); + } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAlias.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAlias.java new file mode 100644 index 00000000..467196c3 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAlias.java @@ -0,0 +1,300 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas; + +import com.ovhcloud.pulumi.ovh.Dbaas.LogsOutputOpenSearchAliasArgs; +import com.ovhcloud.pulumi.ovh.Dbaas.inputs.LogsOutputOpenSearchAliasState; +import com.ovhcloud.pulumi.ovh.Utilities; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Creates a DBaaS Logs Opensearch output alias. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.ovh.Dbaas.LogsOutputOpenSearchAlias;
+ * import com.pulumi.ovh.Dbaas.LogsOutputOpenSearchAliasArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var alias = new LogsOutputOpenSearchAlias("alias", LogsOutputOpenSearchAliasArgs.builder()
+ *             .description("my opensearch alias")
+ *             .serviceName("....")
+ *             .suffix("alias")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias") +public class LogsOutputOpenSearchAlias extends com.pulumi.resources.CustomResource { + /** + * Alias Id + * + */ + @Export(name="aliasId", refs={String.class}, tree="[0]") + private Output aliasId; + + /** + * @return Alias Id + * + */ + public Output aliasId() { + return this.aliasId; + } + /** + * Alias creation + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return Alias creation + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * Current alias size (in bytes) + * + */ + @Export(name="currentSize", refs={Integer.class}, tree="[0]") + private Output currentSize; + + /** + * @return Current alias size (in bytes) + * + */ + public Output currentSize() { + return this.currentSize; + } + /** + * Index description + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Index description + * + */ + public Output description() { + return this.description; + } + /** + * List of attached indexes id + * + */ + @Export(name="indexes", refs={List.class,String.class}, tree="[0,1]") + private Output> indexes; + + /** + * @return List of attached indexes id + * + */ + public Output> indexes() { + return this.indexes; + } + /** + * Indicates if you are allowed to edit entry + * + */ + @Export(name="isEditable", refs={Boolean.class}, tree="[0]") + private Output isEditable; + + /** + * @return Indicates if you are allowed to edit entry + * + */ + public Output isEditable() { + return this.isEditable; + } + /** + * Alias name + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Alias name + * + */ + public Output name() { + return this.name; + } + /** + * Number of indices linked + * + */ + @Export(name="nbIndex", refs={Integer.class}, tree="[0]") + private Output nbIndex; + + /** + * @return Number of indices linked + * + */ + public Output nbIndex() { + return this.nbIndex; + } + /** + * Number of streams linked + * + */ + @Export(name="nbStream", refs={Integer.class}, tree="[0]") + private Output nbStream; + + /** + * @return Number of streams linked + * + */ + public Output nbStream() { + return this.nbStream; + } + /** + * The service name + * + */ + @Export(name="serviceName", refs={String.class}, tree="[0]") + private Output serviceName; + + /** + * @return The service name + * + */ + public Output serviceName() { + return this.serviceName; + } + /** + * List of attached streams id + * + */ + @Export(name="streams", refs={List.class,String.class}, tree="[0,1]") + private Output> streams; + + /** + * @return List of attached streams id + * + */ + public Output> streams() { + return this.streams; + } + /** + * Index suffix + * + */ + @Export(name="suffix", refs={String.class}, tree="[0]") + private Output suffix; + + /** + * @return Index suffix + * + */ + public Output suffix() { + return this.suffix; + } + /** + * Input last update + * + */ + @Export(name="updatedAt", refs={String.class}, tree="[0]") + private Output updatedAt; + + /** + * @return Input last update + * + */ + public Output updatedAt() { + return this.updatedAt; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public LogsOutputOpenSearchAlias(java.lang.String name) { + this(name, LogsOutputOpenSearchAliasArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public LogsOutputOpenSearchAlias(java.lang.String name, LogsOutputOpenSearchAliasArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public LogsOutputOpenSearchAlias(java.lang.String name, LogsOutputOpenSearchAliasArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private LogsOutputOpenSearchAlias(java.lang.String name, Output id, @Nullable LogsOutputOpenSearchAliasState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias", name, state, makeResourceOptions(options, id), false); + } + + private static LogsOutputOpenSearchAliasArgs makeArgs(LogsOutputOpenSearchAliasArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? LogsOutputOpenSearchAliasArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static LogsOutputOpenSearchAlias get(java.lang.String name, Output id, @Nullable LogsOutputOpenSearchAliasState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new LogsOutputOpenSearchAlias(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAliasArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAliasArgs.java new file mode 100644 index 00000000..8904533d --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchAliasArgs.java @@ -0,0 +1,337 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LogsOutputOpenSearchAliasArgs extends com.pulumi.resources.ResourceArgs { + + public static final LogsOutputOpenSearchAliasArgs Empty = new LogsOutputOpenSearchAliasArgs(); + + /** + * Index description + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return Index description + * + */ + public Output description() { + return this.description; + } + + /** + * List of attached indexes id + * + */ + @Import(name="indexes") + private @Nullable Output> indexes; + + /** + * @return List of attached indexes id + * + */ + public Optional>> indexes() { + return Optional.ofNullable(this.indexes); + } + + /** + * Number of indices linked + * + */ + @Import(name="nbIndex") + private @Nullable Output nbIndex; + + /** + * @return Number of indices linked + * + */ + public Optional> nbIndex() { + return Optional.ofNullable(this.nbIndex); + } + + /** + * Number of streams linked + * + */ + @Import(name="nbStream") + private @Nullable Output nbStream; + + /** + * @return Number of streams linked + * + */ + public Optional> nbStream() { + return Optional.ofNullable(this.nbStream); + } + + /** + * The service name + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The service name + * + */ + public Output serviceName() { + return this.serviceName; + } + + /** + * List of attached streams id + * + */ + @Import(name="streams") + private @Nullable Output> streams; + + /** + * @return List of attached streams id + * + */ + public Optional>> streams() { + return Optional.ofNullable(this.streams); + } + + /** + * Index suffix + * + */ + @Import(name="suffix", required=true) + private Output suffix; + + /** + * @return Index suffix + * + */ + public Output suffix() { + return this.suffix; + } + + private LogsOutputOpenSearchAliasArgs() {} + + private LogsOutputOpenSearchAliasArgs(LogsOutputOpenSearchAliasArgs $) { + this.description = $.description; + this.indexes = $.indexes; + this.nbIndex = $.nbIndex; + this.nbStream = $.nbStream; + this.serviceName = $.serviceName; + this.streams = $.streams; + this.suffix = $.suffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogsOutputOpenSearchAliasArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogsOutputOpenSearchAliasArgs $; + + public Builder() { + $ = new LogsOutputOpenSearchAliasArgs(); + } + + public Builder(LogsOutputOpenSearchAliasArgs defaults) { + $ = new LogsOutputOpenSearchAliasArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(@Nullable Output> indexes) { + $.indexes = indexes; + return this; + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(List indexes) { + return indexes(Output.of(indexes)); + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(String... indexes) { + return indexes(List.of(indexes)); + } + + /** + * @param nbIndex Number of indices linked + * + * @return builder + * + */ + public Builder nbIndex(@Nullable Output nbIndex) { + $.nbIndex = nbIndex; + return this; + } + + /** + * @param nbIndex Number of indices linked + * + * @return builder + * + */ + public Builder nbIndex(Integer nbIndex) { + return nbIndex(Output.of(nbIndex)); + } + + /** + * @param nbStream Number of streams linked + * + * @return builder + * + */ + public Builder nbStream(@Nullable Output nbStream) { + $.nbStream = nbStream; + return this; + } + + /** + * @param nbStream Number of streams linked + * + * @return builder + * + */ + public Builder nbStream(Integer nbStream) { + return nbStream(Output.of(nbStream)); + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(@Nullable Output> streams) { + $.streams = streams; + return this; + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(List streams) { + return streams(Output.of(streams)); + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(String... streams) { + return streams(List.of(streams)); + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + public LogsOutputOpenSearchAliasArgs build() { + if ($.description == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchAliasArgs", "description"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchAliasArgs", "serviceName"); + } + if ($.suffix == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchAliasArgs", "suffix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndex.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndex.java new file mode 100644 index 00000000..f0348a8b --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndex.java @@ -0,0 +1,285 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas; + +import com.ovhcloud.pulumi.ovh.Dbaas.LogsOutputOpenSearchIndexArgs; +import com.ovhcloud.pulumi.ovh.Dbaas.inputs.LogsOutputOpenSearchIndexState; +import com.ovhcloud.pulumi.ovh.Utilities; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Creates a DBaaS Logs Opensearch output index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.ovh.Dbaas.LogsOutputOpenSearchIndex;
+ * import com.pulumi.ovh.Dbaas.LogsOutputOpenSearchIndexArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var index = new LogsOutputOpenSearchIndex("index", LogsOutputOpenSearchIndexArgs.builder()
+ *             .description("my opensearch index")
+ *             .serviceName("....")
+ *             .suffix("index")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex") +public class LogsOutputOpenSearchIndex extends com.pulumi.resources.CustomResource { + /** + * If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + @Export(name="alertNotifyEnabled", refs={Boolean.class}, tree="[0]") + private Output alertNotifyEnabled; + + /** + * @return If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + public Output alertNotifyEnabled() { + return this.alertNotifyEnabled; + } + /** + * Index creation + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return Index creation + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * Current index size (in bytes) + * + */ + @Export(name="currentSize", refs={Integer.class}, tree="[0]") + private Output currentSize; + + /** + * @return Current index size (in bytes) + * + */ + public Output currentSize() { + return this.currentSize; + } + /** + * Index description + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Index description + * + */ + public Output description() { + return this.description; + } + /** + * Index ID + * + */ + @Export(name="indexId", refs={String.class}, tree="[0]") + private Output indexId; + + /** + * @return Index ID + * + */ + public Output indexId() { + return this.indexId; + } + /** + * Indicates if you are allowed to edit entry + * + */ + @Export(name="isEditable", refs={Boolean.class}, tree="[0]") + private Output isEditable; + + /** + * @return Indicates if you are allowed to edit entry + * + */ + public Output isEditable() { + return this.isEditable; + } + /** + * Maximum index size (in bytes) + * + */ + @Export(name="maxSize", refs={Integer.class}, tree="[0]") + private Output maxSize; + + /** + * @return Maximum index size (in bytes) + * + */ + public Output maxSize() { + return this.maxSize; + } + /** + * Index name + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Index name + * + */ + public Output name() { + return this.name; + } + /** + * Number of shards + * + */ + @Export(name="nbShard", refs={Integer.class}, tree="[0]") + private Output nbShard; + + /** + * @return Number of shards + * + */ + public Output nbShard() { + return this.nbShard; + } + /** + * The service name + * + */ + @Export(name="serviceName", refs={String.class}, tree="[0]") + private Output serviceName; + + /** + * @return The service name + * + */ + public Output serviceName() { + return this.serviceName; + } + /** + * Index suffix + * + */ + @Export(name="suffix", refs={String.class}, tree="[0]") + private Output suffix; + + /** + * @return Index suffix + * + */ + public Output suffix() { + return this.suffix; + } + /** + * Index last update + * + */ + @Export(name="updatedAt", refs={String.class}, tree="[0]") + private Output updatedAt; + + /** + * @return Index last update + * + */ + public Output updatedAt() { + return this.updatedAt; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public LogsOutputOpenSearchIndex(java.lang.String name) { + this(name, LogsOutputOpenSearchIndexArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public LogsOutputOpenSearchIndex(java.lang.String name, LogsOutputOpenSearchIndexArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public LogsOutputOpenSearchIndex(java.lang.String name, LogsOutputOpenSearchIndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private LogsOutputOpenSearchIndex(java.lang.String name, Output id, @Nullable LogsOutputOpenSearchIndexState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex", name, state, makeResourceOptions(options, id), false); + } + + private static LogsOutputOpenSearchIndexArgs makeArgs(LogsOutputOpenSearchIndexArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? LogsOutputOpenSearchIndexArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static LogsOutputOpenSearchIndex get(java.lang.String name, Output id, @Nullable LogsOutputOpenSearchIndexState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new LogsOutputOpenSearchIndex(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndexArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndexArgs.java new file mode 100644 index 00000000..aaa6af16 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/LogsOutputOpenSearchIndexArgs.java @@ -0,0 +1,206 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class LogsOutputOpenSearchIndexArgs extends com.pulumi.resources.ResourceArgs { + + public static final LogsOutputOpenSearchIndexArgs Empty = new LogsOutputOpenSearchIndexArgs(); + + /** + * Index description + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return Index description + * + */ + public Output description() { + return this.description; + } + + /** + * Number of shards + * + */ + @Import(name="nbShard", required=true) + private Output nbShard; + + /** + * @return Number of shards + * + */ + public Output nbShard() { + return this.nbShard; + } + + /** + * The service name + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The service name + * + */ + public Output serviceName() { + return this.serviceName; + } + + /** + * Index suffix + * + */ + @Import(name="suffix", required=true) + private Output suffix; + + /** + * @return Index suffix + * + */ + public Output suffix() { + return this.suffix; + } + + private LogsOutputOpenSearchIndexArgs() {} + + private LogsOutputOpenSearchIndexArgs(LogsOutputOpenSearchIndexArgs $) { + this.description = $.description; + this.nbShard = $.nbShard; + this.serviceName = $.serviceName; + this.suffix = $.suffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogsOutputOpenSearchIndexArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogsOutputOpenSearchIndexArgs $; + + public Builder() { + $ = new LogsOutputOpenSearchIndexArgs(); + } + + public Builder(LogsOutputOpenSearchIndexArgs defaults) { + $ = new LogsOutputOpenSearchIndexArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param nbShard Number of shards + * + * @return builder + * + */ + public Builder nbShard(Output nbShard) { + $.nbShard = nbShard; + return this; + } + + /** + * @param nbShard Number of shards + * + * @return builder + * + */ + public Builder nbShard(Integer nbShard) { + return nbShard(Output.of(nbShard)); + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + public LogsOutputOpenSearchIndexArgs build() { + if ($.description == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchIndexArgs", "description"); + } + if ($.nbShard == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchIndexArgs", "nbShard"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchIndexArgs", "serviceName"); + } + if ($.suffix == null) { + throw new MissingRequiredPropertyException("LogsOutputOpenSearchIndexArgs", "suffix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexArgs.java new file mode 100644 index 00000000..323378f6 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetLogsOutputOpenSearchIndexArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetLogsOutputOpenSearchIndexArgs Empty = new GetLogsOutputOpenSearchIndexArgs(); + + /** + * Index name + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Index name + * + */ + public Output name() { + return this.name; + } + + /** + * Number of shard + * + */ + @Import(name="nbShard") + private @Nullable Output nbShard; + + /** + * @return Number of shard + * + */ + public Optional> nbShard() { + return Optional.ofNullable(this.nbShard); + } + + /** + * The service name. It's the ID of your Logs Data Platform instance. + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return The service name. It's the ID of your Logs Data Platform instance. + * + */ + public Output serviceName() { + return this.serviceName; + } + + private GetLogsOutputOpenSearchIndexArgs() {} + + private GetLogsOutputOpenSearchIndexArgs(GetLogsOutputOpenSearchIndexArgs $) { + this.name = $.name; + this.nbShard = $.nbShard; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLogsOutputOpenSearchIndexArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLogsOutputOpenSearchIndexArgs $; + + public Builder() { + $ = new GetLogsOutputOpenSearchIndexArgs(); + } + + public Builder(GetLogsOutputOpenSearchIndexArgs defaults) { + $ = new GetLogsOutputOpenSearchIndexArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Index name + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Index name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param nbShard Number of shard + * + * @return builder + * + */ + public Builder nbShard(@Nullable Output nbShard) { + $.nbShard = nbShard; + return this; + } + + /** + * @param nbShard Number of shard + * + * @return builder + * + */ + public Builder nbShard(Integer nbShard) { + return nbShard(Output.of(nbShard)); + } + + /** + * @param serviceName The service name. It's the ID of your Logs Data Platform instance. + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The service name. It's the ID of your Logs Data Platform instance. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public GetLogsOutputOpenSearchIndexArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexArgs", "name"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexArgs", "serviceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexPlainArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexPlainArgs.java new file mode 100644 index 00000000..98536366 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/GetLogsOutputOpenSearchIndexPlainArgs.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetLogsOutputOpenSearchIndexPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetLogsOutputOpenSearchIndexPlainArgs Empty = new GetLogsOutputOpenSearchIndexPlainArgs(); + + /** + * Index name + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Index name + * + */ + public String name() { + return this.name; + } + + /** + * Number of shard + * + */ + @Import(name="nbShard") + private @Nullable Integer nbShard; + + /** + * @return Number of shard + * + */ + public Optional nbShard() { + return Optional.ofNullable(this.nbShard); + } + + /** + * The service name. It's the ID of your Logs Data Platform instance. + * + */ + @Import(name="serviceName", required=true) + private String serviceName; + + /** + * @return The service name. It's the ID of your Logs Data Platform instance. + * + */ + public String serviceName() { + return this.serviceName; + } + + private GetLogsOutputOpenSearchIndexPlainArgs() {} + + private GetLogsOutputOpenSearchIndexPlainArgs(GetLogsOutputOpenSearchIndexPlainArgs $) { + this.name = $.name; + this.nbShard = $.nbShard; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetLogsOutputOpenSearchIndexPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetLogsOutputOpenSearchIndexPlainArgs $; + + public Builder() { + $ = new GetLogsOutputOpenSearchIndexPlainArgs(); + } + + public Builder(GetLogsOutputOpenSearchIndexPlainArgs defaults) { + $ = new GetLogsOutputOpenSearchIndexPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Index name + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param nbShard Number of shard + * + * @return builder + * + */ + public Builder nbShard(@Nullable Integer nbShard) { + $.nbShard = nbShard; + return this; + } + + /** + * @param serviceName The service name. It's the ID of your Logs Data Platform instance. + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + $.serviceName = serviceName; + return this; + } + + public GetLogsOutputOpenSearchIndexPlainArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexPlainArgs", "name"); + } + if ($.serviceName == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexPlainArgs", "serviceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchAliasState.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchAliasState.java new file mode 100644 index 00000000..eef070b4 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchAliasState.java @@ -0,0 +1,550 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LogsOutputOpenSearchAliasState extends com.pulumi.resources.ResourceArgs { + + public static final LogsOutputOpenSearchAliasState Empty = new LogsOutputOpenSearchAliasState(); + + /** + * Alias Id + * + */ + @Import(name="aliasId") + private @Nullable Output aliasId; + + /** + * @return Alias Id + * + */ + public Optional> aliasId() { + return Optional.ofNullable(this.aliasId); + } + + /** + * Alias creation + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return Alias creation + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Current alias size (in bytes) + * + */ + @Import(name="currentSize") + private @Nullable Output currentSize; + + /** + * @return Current alias size (in bytes) + * + */ + public Optional> currentSize() { + return Optional.ofNullable(this.currentSize); + } + + /** + * Index description + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Index description + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * List of attached indexes id + * + */ + @Import(name="indexes") + private @Nullable Output> indexes; + + /** + * @return List of attached indexes id + * + */ + public Optional>> indexes() { + return Optional.ofNullable(this.indexes); + } + + /** + * Indicates if you are allowed to edit entry + * + */ + @Import(name="isEditable") + private @Nullable Output isEditable; + + /** + * @return Indicates if you are allowed to edit entry + * + */ + public Optional> isEditable() { + return Optional.ofNullable(this.isEditable); + } + + /** + * Alias name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Alias name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Number of indices linked + * + */ + @Import(name="nbIndex") + private @Nullable Output nbIndex; + + /** + * @return Number of indices linked + * + */ + public Optional> nbIndex() { + return Optional.ofNullable(this.nbIndex); + } + + /** + * Number of streams linked + * + */ + @Import(name="nbStream") + private @Nullable Output nbStream; + + /** + * @return Number of streams linked + * + */ + public Optional> nbStream() { + return Optional.ofNullable(this.nbStream); + } + + /** + * The service name + * + */ + @Import(name="serviceName") + private @Nullable Output serviceName; + + /** + * @return The service name + * + */ + public Optional> serviceName() { + return Optional.ofNullable(this.serviceName); + } + + /** + * List of attached streams id + * + */ + @Import(name="streams") + private @Nullable Output> streams; + + /** + * @return List of attached streams id + * + */ + public Optional>> streams() { + return Optional.ofNullable(this.streams); + } + + /** + * Index suffix + * + */ + @Import(name="suffix") + private @Nullable Output suffix; + + /** + * @return Index suffix + * + */ + public Optional> suffix() { + return Optional.ofNullable(this.suffix); + } + + /** + * Input last update + * + */ + @Import(name="updatedAt") + private @Nullable Output updatedAt; + + /** + * @return Input last update + * + */ + public Optional> updatedAt() { + return Optional.ofNullable(this.updatedAt); + } + + private LogsOutputOpenSearchAliasState() {} + + private LogsOutputOpenSearchAliasState(LogsOutputOpenSearchAliasState $) { + this.aliasId = $.aliasId; + this.createdAt = $.createdAt; + this.currentSize = $.currentSize; + this.description = $.description; + this.indexes = $.indexes; + this.isEditable = $.isEditable; + this.name = $.name; + this.nbIndex = $.nbIndex; + this.nbStream = $.nbStream; + this.serviceName = $.serviceName; + this.streams = $.streams; + this.suffix = $.suffix; + this.updatedAt = $.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogsOutputOpenSearchAliasState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogsOutputOpenSearchAliasState $; + + public Builder() { + $ = new LogsOutputOpenSearchAliasState(); + } + + public Builder(LogsOutputOpenSearchAliasState defaults) { + $ = new LogsOutputOpenSearchAliasState(Objects.requireNonNull(defaults)); + } + + /** + * @param aliasId Alias Id + * + * @return builder + * + */ + public Builder aliasId(@Nullable Output aliasId) { + $.aliasId = aliasId; + return this; + } + + /** + * @param aliasId Alias Id + * + * @return builder + * + */ + public Builder aliasId(String aliasId) { + return aliasId(Output.of(aliasId)); + } + + /** + * @param createdAt Alias creation + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt Alias creation + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param currentSize Current alias size (in bytes) + * + * @return builder + * + */ + public Builder currentSize(@Nullable Output currentSize) { + $.currentSize = currentSize; + return this; + } + + /** + * @param currentSize Current alias size (in bytes) + * + * @return builder + * + */ + public Builder currentSize(Integer currentSize) { + return currentSize(Output.of(currentSize)); + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(@Nullable Output> indexes) { + $.indexes = indexes; + return this; + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(List indexes) { + return indexes(Output.of(indexes)); + } + + /** + * @param indexes List of attached indexes id + * + * @return builder + * + */ + public Builder indexes(String... indexes) { + return indexes(List.of(indexes)); + } + + /** + * @param isEditable Indicates if you are allowed to edit entry + * + * @return builder + * + */ + public Builder isEditable(@Nullable Output isEditable) { + $.isEditable = isEditable; + return this; + } + + /** + * @param isEditable Indicates if you are allowed to edit entry + * + * @return builder + * + */ + public Builder isEditable(Boolean isEditable) { + return isEditable(Output.of(isEditable)); + } + + /** + * @param name Alias name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Alias name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param nbIndex Number of indices linked + * + * @return builder + * + */ + public Builder nbIndex(@Nullable Output nbIndex) { + $.nbIndex = nbIndex; + return this; + } + + /** + * @param nbIndex Number of indices linked + * + * @return builder + * + */ + public Builder nbIndex(Integer nbIndex) { + return nbIndex(Output.of(nbIndex)); + } + + /** + * @param nbStream Number of streams linked + * + * @return builder + * + */ + public Builder nbStream(@Nullable Output nbStream) { + $.nbStream = nbStream; + return this; + } + + /** + * @param nbStream Number of streams linked + * + * @return builder + * + */ + public Builder nbStream(Integer nbStream) { + return nbStream(Output.of(nbStream)); + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(@Nullable Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(@Nullable Output> streams) { + $.streams = streams; + return this; + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(List streams) { + return streams(Output.of(streams)); + } + + /** + * @param streams List of attached streams id + * + * @return builder + * + */ + public Builder streams(String... streams) { + return streams(List.of(streams)); + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(@Nullable Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + /** + * @param updatedAt Input last update + * + * @return builder + * + */ + public Builder updatedAt(@Nullable Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + /** + * @param updatedAt Input last update + * + * @return builder + * + */ + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + public LogsOutputOpenSearchAliasState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchIndexState.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchIndexState.java new file mode 100644 index 00000000..5c20ea50 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/inputs/LogsOutputOpenSearchIndexState.java @@ -0,0 +1,492 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LogsOutputOpenSearchIndexState extends com.pulumi.resources.ResourceArgs { + + public static final LogsOutputOpenSearchIndexState Empty = new LogsOutputOpenSearchIndexState(); + + /** + * If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + @Import(name="alertNotifyEnabled") + private @Nullable Output alertNotifyEnabled; + + /** + * @return If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + public Optional> alertNotifyEnabled() { + return Optional.ofNullable(this.alertNotifyEnabled); + } + + /** + * Index creation + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return Index creation + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Current index size (in bytes) + * + */ + @Import(name="currentSize") + private @Nullable Output currentSize; + + /** + * @return Current index size (in bytes) + * + */ + public Optional> currentSize() { + return Optional.ofNullable(this.currentSize); + } + + /** + * Index description + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Index description + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Index ID + * + */ + @Import(name="indexId") + private @Nullable Output indexId; + + /** + * @return Index ID + * + */ + public Optional> indexId() { + return Optional.ofNullable(this.indexId); + } + + /** + * Indicates if you are allowed to edit entry + * + */ + @Import(name="isEditable") + private @Nullable Output isEditable; + + /** + * @return Indicates if you are allowed to edit entry + * + */ + public Optional> isEditable() { + return Optional.ofNullable(this.isEditable); + } + + /** + * Maximum index size (in bytes) + * + */ + @Import(name="maxSize") + private @Nullable Output maxSize; + + /** + * @return Maximum index size (in bytes) + * + */ + public Optional> maxSize() { + return Optional.ofNullable(this.maxSize); + } + + /** + * Index name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Index name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Number of shards + * + */ + @Import(name="nbShard") + private @Nullable Output nbShard; + + /** + * @return Number of shards + * + */ + public Optional> nbShard() { + return Optional.ofNullable(this.nbShard); + } + + /** + * The service name + * + */ + @Import(name="serviceName") + private @Nullable Output serviceName; + + /** + * @return The service name + * + */ + public Optional> serviceName() { + return Optional.ofNullable(this.serviceName); + } + + /** + * Index suffix + * + */ + @Import(name="suffix") + private @Nullable Output suffix; + + /** + * @return Index suffix + * + */ + public Optional> suffix() { + return Optional.ofNullable(this.suffix); + } + + /** + * Index last update + * + */ + @Import(name="updatedAt") + private @Nullable Output updatedAt; + + /** + * @return Index last update + * + */ + public Optional> updatedAt() { + return Optional.ofNullable(this.updatedAt); + } + + private LogsOutputOpenSearchIndexState() {} + + private LogsOutputOpenSearchIndexState(LogsOutputOpenSearchIndexState $) { + this.alertNotifyEnabled = $.alertNotifyEnabled; + this.createdAt = $.createdAt; + this.currentSize = $.currentSize; + this.description = $.description; + this.indexId = $.indexId; + this.isEditable = $.isEditable; + this.maxSize = $.maxSize; + this.name = $.name; + this.nbShard = $.nbShard; + this.serviceName = $.serviceName; + this.suffix = $.suffix; + this.updatedAt = $.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogsOutputOpenSearchIndexState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogsOutputOpenSearchIndexState $; + + public Builder() { + $ = new LogsOutputOpenSearchIndexState(); + } + + public Builder(LogsOutputOpenSearchIndexState defaults) { + $ = new LogsOutputOpenSearchIndexState(Objects.requireNonNull(defaults)); + } + + /** + * @param alertNotifyEnabled If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + * @return builder + * + */ + public Builder alertNotifyEnabled(@Nullable Output alertNotifyEnabled) { + $.alertNotifyEnabled = alertNotifyEnabled; + return this; + } + + /** + * @param alertNotifyEnabled If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + * @return builder + * + */ + public Builder alertNotifyEnabled(Boolean alertNotifyEnabled) { + return alertNotifyEnabled(Output.of(alertNotifyEnabled)); + } + + /** + * @param createdAt Index creation + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt Index creation + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param currentSize Current index size (in bytes) + * + * @return builder + * + */ + public Builder currentSize(@Nullable Output currentSize) { + $.currentSize = currentSize; + return this; + } + + /** + * @param currentSize Current index size (in bytes) + * + * @return builder + * + */ + public Builder currentSize(Integer currentSize) { + return currentSize(Output.of(currentSize)); + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Index description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param indexId Index ID + * + * @return builder + * + */ + public Builder indexId(@Nullable Output indexId) { + $.indexId = indexId; + return this; + } + + /** + * @param indexId Index ID + * + * @return builder + * + */ + public Builder indexId(String indexId) { + return indexId(Output.of(indexId)); + } + + /** + * @param isEditable Indicates if you are allowed to edit entry + * + * @return builder + * + */ + public Builder isEditable(@Nullable Output isEditable) { + $.isEditable = isEditable; + return this; + } + + /** + * @param isEditable Indicates if you are allowed to edit entry + * + * @return builder + * + */ + public Builder isEditable(Boolean isEditable) { + return isEditable(Output.of(isEditable)); + } + + /** + * @param maxSize Maximum index size (in bytes) + * + * @return builder + * + */ + public Builder maxSize(@Nullable Output maxSize) { + $.maxSize = maxSize; + return this; + } + + /** + * @param maxSize Maximum index size (in bytes) + * + * @return builder + * + */ + public Builder maxSize(Integer maxSize) { + return maxSize(Output.of(maxSize)); + } + + /** + * @param name Index name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Index name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param nbShard Number of shards + * + * @return builder + * + */ + public Builder nbShard(@Nullable Output nbShard) { + $.nbShard = nbShard; + return this; + } + + /** + * @param nbShard Number of shards + * + * @return builder + * + */ + public Builder nbShard(Integer nbShard) { + return nbShard(Output.of(nbShard)); + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(@Nullable Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName The service name + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(@Nullable Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Index suffix + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + /** + * @param updatedAt Index last update + * + * @return builder + * + */ + public Builder updatedAt(@Nullable Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + /** + * @param updatedAt Index last update + * + * @return builder + * + */ + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + public LogsOutputOpenSearchIndexState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/outputs/GetLogsOutputOpenSearchIndexResult.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/outputs/GetLogsOutputOpenSearchIndexResult.java new file mode 100644 index 00000000..4cf1a484 --- /dev/null +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dbaas/outputs/GetLogsOutputOpenSearchIndexResult.java @@ -0,0 +1,305 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.ovhcloud.pulumi.ovh.Dbaas.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetLogsOutputOpenSearchIndexResult { + /** + * @return If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + private Boolean alertNotifyEnabled; + /** + * @return Index creation + * + */ + private String createdAt; + /** + * @return Current index size (in bytes) + * + */ + private Integer currentSize; + /** + * @return Index description + * + */ + private String description; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Index ID + * + */ + private String indexId; + /** + * @return Indicates if you are allowed to edit entry + * + */ + private Boolean isEditable; + /** + * @return Maximum index size (in bytes) + * + */ + private Integer maxSize; + /** + * @return Index name + * + */ + private String name; + /** + * @return Number of shard + * + */ + private Integer nbShard; + private String serviceName; + /** + * @return Index last update + * + */ + private String updatedAt; + + private GetLogsOutputOpenSearchIndexResult() {} + /** + * @return If set, notify when size is near 80, 90 or 100 % of its maximum capacity + * + */ + public Boolean alertNotifyEnabled() { + return this.alertNotifyEnabled; + } + /** + * @return Index creation + * + */ + public String createdAt() { + return this.createdAt; + } + /** + * @return Current index size (in bytes) + * + */ + public Integer currentSize() { + return this.currentSize; + } + /** + * @return Index description + * + */ + public String description() { + return this.description; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Index ID + * + */ + public String indexId() { + return this.indexId; + } + /** + * @return Indicates if you are allowed to edit entry + * + */ + public Boolean isEditable() { + return this.isEditable; + } + /** + * @return Maximum index size (in bytes) + * + */ + public Integer maxSize() { + return this.maxSize; + } + /** + * @return Index name + * + */ + public String name() { + return this.name; + } + /** + * @return Number of shard + * + */ + public Integer nbShard() { + return this.nbShard; + } + public String serviceName() { + return this.serviceName; + } + /** + * @return Index last update + * + */ + public String updatedAt() { + return this.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetLogsOutputOpenSearchIndexResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean alertNotifyEnabled; + private String createdAt; + private Integer currentSize; + private String description; + private String id; + private String indexId; + private Boolean isEditable; + private Integer maxSize; + private String name; + private Integer nbShard; + private String serviceName; + private String updatedAt; + public Builder() {} + public Builder(GetLogsOutputOpenSearchIndexResult defaults) { + Objects.requireNonNull(defaults); + this.alertNotifyEnabled = defaults.alertNotifyEnabled; + this.createdAt = defaults.createdAt; + this.currentSize = defaults.currentSize; + this.description = defaults.description; + this.id = defaults.id; + this.indexId = defaults.indexId; + this.isEditable = defaults.isEditable; + this.maxSize = defaults.maxSize; + this.name = defaults.name; + this.nbShard = defaults.nbShard; + this.serviceName = defaults.serviceName; + this.updatedAt = defaults.updatedAt; + } + + @CustomType.Setter + public Builder alertNotifyEnabled(Boolean alertNotifyEnabled) { + if (alertNotifyEnabled == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "alertNotifyEnabled"); + } + this.alertNotifyEnabled = alertNotifyEnabled; + return this; + } + @CustomType.Setter + public Builder createdAt(String createdAt) { + if (createdAt == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "createdAt"); + } + this.createdAt = createdAt; + return this; + } + @CustomType.Setter + public Builder currentSize(Integer currentSize) { + if (currentSize == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "currentSize"); + } + this.currentSize = currentSize; + return this; + } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder indexId(String indexId) { + if (indexId == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "indexId"); + } + this.indexId = indexId; + return this; + } + @CustomType.Setter + public Builder isEditable(Boolean isEditable) { + if (isEditable == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "isEditable"); + } + this.isEditable = isEditable; + return this; + } + @CustomType.Setter + public Builder maxSize(Integer maxSize) { + if (maxSize == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "maxSize"); + } + this.maxSize = maxSize; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder nbShard(Integer nbShard) { + if (nbShard == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "nbShard"); + } + this.nbShard = nbShard; + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + if (serviceName == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "serviceName"); + } + this.serviceName = serviceName; + return this; + } + @CustomType.Setter + public Builder updatedAt(String updatedAt) { + if (updatedAt == null) { + throw new MissingRequiredPropertyException("GetLogsOutputOpenSearchIndexResult", "updatedAt"); + } + this.updatedAt = updatedAt; + return this; + } + public GetLogsOutputOpenSearchIndexResult build() { + final var _resultValue = new GetLogsOutputOpenSearchIndexResult(); + _resultValue.alertNotifyEnabled = alertNotifyEnabled; + _resultValue.createdAt = createdAt; + _resultValue.currentSize = currentSize; + _resultValue.description = description; + _resultValue.id = id; + _resultValue.indexId = indexId; + _resultValue.isEditable = isEditable; + _resultValue.maxSize = maxSize; + _resultValue.name = name; + _resultValue.nbShard = nbShard; + _resultValue.serviceName = serviceName; + _resultValue.updatedAt = updatedAt; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/Server.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/Server.java index 09ccdff7..f6596d86 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/Server.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/Server.java @@ -26,13 +26,31 @@ /** * ## Import * - * Dedicated servers can be imported using the `service_name`, e.g.: + * Dedicated servers can be imported using the `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_dedicated_server.server + * + * id = "<service name>" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Dedicated/server:Server server service_name - * ``` + * $ pulumi preview -generate-config-out=dedicated.tf + * + * $ pulumi up + * + * The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. * */ @ResourceType(type="ovh:Dedicated/server:Server") @@ -258,14 +276,14 @@ public Output os() { * */ @Export(name="ovhSubsidiary", refs={String.class}, tree="[0]") - private Output ovhSubsidiary; + private Output ovhSubsidiary; /** * @return OVH subsidiaries * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Output> ovhSubsidiary() { + return Codegen.optional(this.ovhSubsidiary); } /** * Partition scheme name @@ -502,7 +520,7 @@ public Server(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Server(java.lang.String name, ServerArgs args) { + public Server(java.lang.String name, @Nullable ServerArgs args) { this(name, args, null); } /** @@ -511,7 +529,7 @@ public Server(java.lang.String name, ServerArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Server(java.lang.String name, ServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Server(java.lang.String name, @Nullable ServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Dedicated/server:Server", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -519,7 +537,7 @@ private Server(java.lang.String name, Output id, @Nullable Ser super("ovh:Dedicated/server:Server", name, state, makeResourceOptions(options, id), false); } - private static ServerArgs makeArgs(ServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static ServerArgs makeArgs(@Nullable ServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/ServerArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/ServerArgs.java index 43fbe8bf..111dd405 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/ServerArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Dedicated/ServerArgs.java @@ -9,7 +9,6 @@ import com.ovhcloud.pulumi.ovh.Dedicated.inputs.ServerUserMetadataArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.Double; import java.lang.String; @@ -117,15 +116,15 @@ public Optional> noIntervention() { * OVH subsidiaries * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVH subsidiaries * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -418,7 +417,7 @@ public Builder noIntervention(Boolean noIntervention) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -617,9 +616,6 @@ public Builder userMetadatas(ServerUserMetadataArgs... userMetadatas) { } public ServerArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("ServerArgs", "ovhSubsidiary"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/Zone.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/Zone.java index f9ca4638..3dc33fcd 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/Zone.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/Zone.java @@ -89,13 +89,31 @@ * * ## Import * - * Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. + * Zone can be imported using its `name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_domain_zone.zone + * + * id = "<zone name>" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Domain/zone:Zone zone order_id - * ``` + * $ pulumi preview -generate-config-out=zone.tf + * + * $ pulumi up + * + * The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. * */ @ResourceType(type="ovh:Domain/zone:Zone") @@ -263,7 +281,7 @@ public Zone(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Zone(java.lang.String name, ZoneArgs args) { + public Zone(java.lang.String name, @Nullable ZoneArgs args) { this(name, args, null); } /** @@ -272,7 +290,7 @@ public Zone(java.lang.String name, ZoneArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Zone(java.lang.String name, ZoneArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Zone(java.lang.String name, @Nullable ZoneArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Domain/zone:Zone", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -280,7 +298,7 @@ private Zone(java.lang.String name, Output id, @Nullable ZoneS super("ovh:Domain/zone:Zone", name, state, makeResourceOptions(options, id), false); } - private static ZoneArgs makeArgs(ZoneArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static ZoneArgs makeArgs(@Nullable ZoneArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/ZoneArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/ZoneArgs.java index 5f0f338c..d8702de1 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/ZoneArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Domain/ZoneArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.Domain.inputs.ZonePlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -39,15 +38,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -77,15 +76,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -168,7 +167,7 @@ public Builder orders(ZoneOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -218,7 +217,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -265,12 +264,6 @@ public Builder planOptions(ZonePlanOptionArgs... planOptions) { } public ZoneArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("ZoneArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("ZoneArgs", "plan"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabase.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabase.java index e037c155..3644b785 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabase.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabase.java @@ -92,11 +92,31 @@ * * ## Import * - * OVHcloud Webhosting database can be imported using the `service_name`, E.g., + * OVHcloud Webhosting database can be imported using the `service_name`. * - * ```sh - * $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name - * ``` + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_hosting_privatedatabase.database + * + * id = "<service name>" + * + * } + * + * You can then run: + * + * bash + * + * $ pulumi preview -generate-config-out=database.tf + * + * $ pulumi up + * + * The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. * */ @ResourceType(type="ovh:Hosting/privateDatabase:PrivateDatabase") @@ -468,7 +488,7 @@ public PrivateDatabase(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public PrivateDatabase(java.lang.String name, PrivateDatabaseArgs args) { + public PrivateDatabase(java.lang.String name, @Nullable PrivateDatabaseArgs args) { this(name, args, null); } /** @@ -477,7 +497,7 @@ public PrivateDatabase(java.lang.String name, PrivateDatabaseArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public PrivateDatabase(java.lang.String name, PrivateDatabaseArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public PrivateDatabase(java.lang.String name, @Nullable PrivateDatabaseArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Hosting/privateDatabase:PrivateDatabase", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -485,7 +505,7 @@ private PrivateDatabase(java.lang.String name, Output id, @Nul super("ovh:Hosting/privateDatabase:PrivateDatabase", name, state, makeResourceOptions(options, id), false); } - private static PrivateDatabaseArgs makeArgs(PrivateDatabaseArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static PrivateDatabaseArgs makeArgs(@Nullable PrivateDatabaseArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabaseArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabaseArgs.java index 64c6f02d..18a1ee2c 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabaseArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Hosting/PrivateDatabaseArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.Hosting.inputs.PrivateDatabasePlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -54,15 +53,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -92,15 +91,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -221,7 +220,7 @@ public Builder orders(PrivateDatabaseOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -271,7 +270,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -339,12 +338,6 @@ public Builder serviceName(String serviceName) { } public PrivateDatabaseArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("PrivateDatabaseArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("PrivateDatabaseArgs", "plan"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpService.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpService.java index cbf14753..083a54c0 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpService.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpService.java @@ -84,6 +84,30 @@ * * <!--End PulumiCodeChooser --> * + * ## Import + * + * The resource can be imported using its `service_name`, E.g., + * + * hcl + * + * import { + * + * to = ovh_ip_service.ipblock + * + * id = "ip-xx.xx.xx.xx" + * + * } + * + * bash + * + * $ pulumi preview -generate-config-out=ipblock.tf + * + * $ pulumi up + * + * The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + * */ @ResourceType(type="ovh:Ip/ipService:IpService") public class IpService extends com.pulumi.resources.CustomResource { @@ -286,7 +310,7 @@ public IpService(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public IpService(java.lang.String name, IpServiceArgs args) { + public IpService(java.lang.String name, @Nullable IpServiceArgs args) { this(name, args, null); } /** @@ -295,7 +319,7 @@ public IpService(java.lang.String name, IpServiceArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public IpService(java.lang.String name, IpServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public IpService(java.lang.String name, @Nullable IpServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Ip/ipService:IpService", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -303,7 +327,7 @@ private IpService(java.lang.String name, Output id, @Nullable super("ovh:Ip/ipService:IpService", name, state, makeResourceOptions(options, id), false); } - private static IpServiceArgs makeArgs(IpServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static IpServiceArgs makeArgs(@Nullable IpServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpServiceArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpServiceArgs.java index 7542a413..126b4096 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpServiceArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Ip/IpServiceArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.Ip.inputs.IpServicePlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -54,15 +53,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -92,15 +91,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -205,7 +204,7 @@ public Builder orders(IpServiceOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -255,7 +254,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -302,12 +301,6 @@ public Builder planOptions(IpServicePlanOptionArgs... planOptions) { } public IpServiceArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("IpServiceArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("IpServiceArgs", "plan"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancer.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancer.java index a2ed307d..78b53e9d 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancer.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancer.java @@ -95,6 +95,34 @@ * * <!--End PulumiCodeChooser --> * + * ## Import + * + * OVHcloud IP load balancing services can be imported using its `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_iploadbalancing.iplb + * + * id = "<service name>" + * + * } + * + * You can then run: + * + * bash + * + * $ pulumi preview -generate-config-out=iplb.tf + * + * $ pulumi up + * + * The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + * */ @ResourceType(type="ovh:IpLoadBalancing/loadBalancer:LoadBalancer") public class LoadBalancer extends com.pulumi.resources.CustomResource { @@ -381,7 +409,7 @@ public LoadBalancer(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public LoadBalancer(java.lang.String name, LoadBalancerArgs args) { + public LoadBalancer(java.lang.String name, @Nullable LoadBalancerArgs args) { this(name, args, null); } /** @@ -390,7 +418,7 @@ public LoadBalancer(java.lang.String name, LoadBalancerArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public LoadBalancer(java.lang.String name, LoadBalancerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public LoadBalancer(java.lang.String name, @Nullable LoadBalancerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:IpLoadBalancing/loadBalancer:LoadBalancer", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -398,7 +426,7 @@ private LoadBalancer(java.lang.String name, Output id, @Nullab super("ovh:IpLoadBalancing/loadBalancer:LoadBalancer", name, state, makeResourceOptions(options, id), false); } - private static LoadBalancerArgs makeArgs(LoadBalancerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static LoadBalancerArgs makeArgs(@Nullable LoadBalancerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancerArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancerArgs.java index 0b3e8fe1..7fdf2313 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancerArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/LoadBalancerArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.IpLoadBalancing.inputs.LoadBalancerPlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -54,15 +53,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -92,15 +91,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -221,7 +220,7 @@ public Builder orders(LoadBalancerOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -271,7 +270,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -339,12 +338,6 @@ public Builder sslConfiguration(String sslConfiguration) { } public LoadBalancerArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("LoadBalancerArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("LoadBalancerArgs", "plan"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/Ssl.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/Ssl.java index 7e0a94ae..b124f2d2 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/Ssl.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/Ssl.java @@ -12,6 +12,7 @@ import com.pulumi.core.internal.Codegen; import java.lang.String; import java.util.List; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -95,28 +96,28 @@ public Output certificate() { * */ @Export(name="chain", refs={String.class}, tree="[0]") - private Output chain; + private Output chain; /** * @return Certificate chain * */ - public Output chain() { - return this.chain; + public Output> chain() { + return Codegen.optional(this.chain); } /** * Readable label for loadbalancer ssl * */ @Export(name="displayName", refs={String.class}, tree="[0]") - private Output displayName; + private Output displayName; /** * @return Readable label for loadbalancer ssl * */ - public Output displayName() { - return this.displayName; + public Output> displayName() { + return Codegen.optional(this.displayName); } /** * Expire date of your SSL certificate. diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarm.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarm.java index 8d469c1d..60a51e9b 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarm.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarm.java @@ -12,6 +12,7 @@ import com.pulumi.core.internal.Codegen; import java.lang.Double; import java.lang.String; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -80,14 +81,14 @@ public class UdpFarm extends com.pulumi.resources.CustomResource { * */ @Export(name="displayName", refs={String.class}, tree="[0]") - private Output displayName; + private Output displayName; /** * @return Readable label for loadbalancer farm * */ - public Output displayName() { - return this.displayName; + public Output> displayName() { + return Codegen.optional(this.displayName); } /** * Id of your farm. @@ -136,14 +137,14 @@ public Output serviceName() { * */ @Export(name="vrackNetworkId", refs={Double.class}, tree="[0]") - private Output vrackNetworkId; + private Output vrackNetworkId; /** * @return Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack * */ - public Output vrackNetworkId() { - return this.vrackNetworkId; + public Output> vrackNetworkId() { + return Codegen.optional(this.vrackNetworkId); } /** * Zone where the farm will be defined (ie. `gra`, `bhs` also supports `all`) diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarmServer.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarmServer.java index 0586682f..fbdb08b9 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarmServer.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFarmServer.java @@ -12,6 +12,7 @@ import com.pulumi.core.internal.Codegen; import java.lang.Double; import java.lang.String; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -113,14 +114,14 @@ public Output backendId() { * */ @Export(name="displayName", refs={String.class}, tree="[0]") - private Output displayName; + private Output displayName; /** * @return Label for the server * */ - public Output displayName() { - return this.displayName; + public Output> displayName() { + return Codegen.optional(this.displayName); } /** * ID of the farm this server is attached to @@ -141,14 +142,14 @@ public Output farmId() { * */ @Export(name="port", refs={Double.class}, tree="[0]") - private Output port; + private Output port; /** * @return Port that backend will respond on * */ - public Output port() { - return this.port; + public Output> port() { + return Codegen.optional(this.port); } /** * Id of your server. diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFrontend.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFrontend.java index 0f3706a6..e312ab03 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFrontend.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/IpLoadBalancing/UdpFrontend.java @@ -14,6 +14,7 @@ import java.lang.Double; import java.lang.String; import java.util.List; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -82,28 +83,28 @@ public class UdpFrontend extends com.pulumi.resources.CustomResource { * */ @Export(name="dedicatedIpfos", refs={List.class,String.class}, tree="[0,1]") - private Output> dedicatedIpfos; + private Output> dedicatedIpfos; /** * @return Only attach frontend on these ip. No restriction if null. List of Ip blocks. * */ - public Output> dedicatedIpfos() { - return this.dedicatedIpfos; + public Output>> dedicatedIpfos() { + return Codegen.optional(this.dedicatedIpfos); } /** * Default UDP Farm of your frontend * */ @Export(name="defaultFarmId", refs={Double.class}, tree="[0]") - private Output defaultFarmId; + private Output defaultFarmId; /** * @return Default UDP Farm of your frontend * */ - public Output defaultFarmId() { - return this.defaultFarmId; + public Output> defaultFarmId() { + return Codegen.optional(this.defaultFarmId); } /** * Disable your frontend. Default: 'false' @@ -124,14 +125,14 @@ public Output disabled() { * */ @Export(name="displayName", refs={String.class}, tree="[0]") - private Output displayName; + private Output displayName; /** * @return Human readable name for your frontend * */ - public Output displayName() { - return this.displayName; + public Output> displayName() { + return Codegen.optional(this.displayName); } /** * Id of your frontend diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/Vps.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/Vps.java index 2f34aae7..b19e449b 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/Vps.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/Vps.java @@ -19,6 +19,7 @@ import java.lang.Double; import java.lang.String; import java.util.List; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -186,14 +187,14 @@ public Output order() { * */ @Export(name="ovhSubsidiary", refs={String.class}, tree="[0]") - private Output ovhSubsidiary; + private Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Output> ovhSubsidiary() { + return Codegen.optional(this.ovhSubsidiary); } /** * Product Plan to order @@ -298,7 +299,7 @@ public Vps(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Vps(java.lang.String name, VpsArgs args) { + public Vps(java.lang.String name, @Nullable VpsArgs args) { this(name, args, null); } /** @@ -307,7 +308,7 @@ public Vps(java.lang.String name, VpsArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Vps(java.lang.String name, VpsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Vps(java.lang.String name, @Nullable VpsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Vps/vps:Vps", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -315,7 +316,7 @@ private Vps(java.lang.String name, Output id, @Nullable VpsSta super("ovh:Vps/vps:Vps", name, state, makeResourceOptions(options, id), false); } - private static VpsArgs makeArgs(VpsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static VpsArgs makeArgs(@Nullable VpsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/VpsArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/VpsArgs.java index cad2a225..d67338b2 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/VpsArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vps/VpsArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.Vps.inputs.VpsPlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.Double; import java.lang.String; @@ -146,15 +145,15 @@ public Optional> offerType() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -461,7 +460,7 @@ public Builder offerType(String offerType) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -611,9 +610,6 @@ public Builder zone(String zone) { } public VpsArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("VpsArgs", "ovhSubsidiary"); - } return $; } } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/Vrack.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/Vrack.java index a35076d9..b83f3411 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/Vrack.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/Vrack.java @@ -80,13 +80,31 @@ * * ## Import * - * vRack can be imported using the `service_name`. + * A vRack can be imported using the `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_vrack.vrack + * + * id = "<service name>" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name - * ``` + * $ pulumi preview -generate-config-out=vrack.tf + * + * $ pulumi up + * + * The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. * */ @ResourceType(type="ovh:Vrack/vrack:Vrack") @@ -234,7 +252,7 @@ public Vrack(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Vrack(java.lang.String name, VrackArgs args) { + public Vrack(java.lang.String name, @Nullable VrackArgs args) { this(name, args, null); } /** @@ -243,7 +261,7 @@ public Vrack(java.lang.String name, VrackArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Vrack(java.lang.String name, VrackArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public Vrack(java.lang.String name, @Nullable VrackArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("ovh:Vrack/vrack:Vrack", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -251,7 +269,7 @@ private Vrack(java.lang.String name, Output id, @Nullable Vrac super("ovh:Vrack/vrack:Vrack", name, state, makeResourceOptions(options, id), false); } - private static VrackArgs makeArgs(VrackArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static VrackArgs makeArgs(@Nullable VrackArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/VrackArgs.java b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/VrackArgs.java index 74e8ef25..3229acf6 100644 --- a/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/VrackArgs.java +++ b/sdk/java/src/main/java/com/ovhcloud/pulumi/ovh/Vrack/VrackArgs.java @@ -8,7 +8,6 @@ import com.ovhcloud.pulumi.ovh.Vrack.inputs.VrackPlanOptionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.List; import java.util.Objects; @@ -69,15 +68,15 @@ public Optional>> orders() { * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - @Import(name="ovhSubsidiary", required=true) - private Output ovhSubsidiary; + @Import(name="ovhSubsidiary") + private @Nullable Output ovhSubsidiary; /** * @return OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) * */ - public Output ovhSubsidiary() { - return this.ovhSubsidiary; + public Optional> ovhSubsidiary() { + return Optional.ofNullable(this.ovhSubsidiary); } /** @@ -107,15 +106,15 @@ public Optional> paymentMean() { * Product Plan to order * */ - @Import(name="plan", required=true) - private Output plan; + @Import(name="plan") + private @Nullable Output plan; /** * @return Product Plan to order * */ - public Output plan() { - return this.plan; + public Optional> plan() { + return Optional.ofNullable(this.plan); } /** @@ -242,7 +241,7 @@ public Builder orders(VrackOrderArgs... orders) { * @return builder * */ - public Builder ovhSubsidiary(Output ovhSubsidiary) { + public Builder ovhSubsidiary(@Nullable Output ovhSubsidiary) { $.ovhSubsidiary = ovhSubsidiary; return this; } @@ -292,7 +291,7 @@ public Builder paymentMean(String paymentMean) { * @return builder * */ - public Builder plan(Output plan) { + public Builder plan(@Nullable Output plan) { $.plan = plan; return this; } @@ -339,12 +338,6 @@ public Builder planOptions(VrackPlanOptionArgs... planOptions) { } public VrackArgs build() { - if ($.ovhSubsidiary == null) { - throw new MissingRequiredPropertyException("VrackArgs", "ovhSubsidiary"); - } - if ($.plan == null) { - throw new MissingRequiredPropertyException("VrackArgs", "plan"); - } return $; } } diff --git a/sdk/nodejs/cloudproject/database.ts b/sdk/nodejs/cloudproject/database.ts index 80e00020..83ffe3c9 100644 --- a/sdk/nodejs/cloudproject/database.ts +++ b/sdk/nodejs/cloudproject/database.ts @@ -38,7 +38,8 @@ import * as utilities from "../utilities"; * serviceName: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", * description: "my-first-kafka", * engine: "kafka", - * version: "3.4", + * version: "3.8", + * flavor: "db1-4", * plan: "business", * kafkaRestApi: true, * kafkaSchemaRegistry: true, @@ -53,7 +54,6 @@ import * as utilities from "../utilities"; * region: "DE", * }, * ], - * flavor: "db1-4", * }); * const m3db = new ovh.cloudproject.Database("m3db", { * serviceName: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", @@ -253,7 +253,7 @@ export class Database extends pulumi.CustomResource { */ public readonly backupRegions!: pulumi.Output; /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). */ public readonly backupTime!: pulumi.Output; /** @@ -302,7 +302,7 @@ export class Database extends pulumi.CustomResource { /** * Time on which maintenances can start every day. */ - public /*out*/ readonly maintenanceTime!: pulumi.Output; + public readonly maintenanceTime!: pulumi.Output; /** * Type of network of the cluster. */ @@ -402,6 +402,7 @@ export class Database extends pulumi.CustomResource { resourceInputs["ipRestrictions"] = args ? args.ipRestrictions : undefined; resourceInputs["kafkaRestApi"] = args ? args.kafkaRestApi : undefined; resourceInputs["kafkaSchemaRegistry"] = args ? args.kafkaSchemaRegistry : undefined; + resourceInputs["maintenanceTime"] = args ? args.maintenanceTime : undefined; resourceInputs["nodes"] = args ? args.nodes : undefined; resourceInputs["opensearchAclsEnabled"] = args ? args.opensearchAclsEnabled : undefined; resourceInputs["plan"] = args ? args.plan : undefined; @@ -410,7 +411,6 @@ export class Database extends pulumi.CustomResource { resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["diskType"] = undefined /*out*/; resourceInputs["endpoints"] = undefined /*out*/; - resourceInputs["maintenanceTime"] = undefined /*out*/; resourceInputs["networkType"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } @@ -432,7 +432,7 @@ export interface DatabaseState { */ backupRegions?: pulumi.Input[]>; /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). */ backupTime?: pulumi.Input; /** @@ -531,7 +531,7 @@ export interface DatabaseArgs { */ backupRegions?: pulumi.Input[]>; /** - * Time on which backups start every day. + * Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). */ backupTime?: pulumi.Input; /** @@ -565,6 +565,10 @@ export interface DatabaseArgs { * Defines whether the schema registry is enabled on a Kafka cluster */ kafkaSchemaRegistry?: pulumi.Input; + /** + * Time on which maintenances can start every day. + */ + maintenanceTime?: pulumi.Input; /** * List of nodes object. * Multi region cluster are not yet available, all node should be identical. diff --git a/sdk/nodejs/cloudproject/getVolume.ts b/sdk/nodejs/cloudproject/getVolume.ts new file mode 100644 index 00000000..4bf3429a --- /dev/null +++ b/sdk/nodejs/cloudproject/getVolume.ts @@ -0,0 +1,117 @@ +// *** 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"; + +/** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const volume = ovh.CloudProject.getVolume({ + * regionName: "xxx", + * serviceName: "yyy", + * volumeId: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + * }); + * ``` + */ +export function getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("ovh:CloudProject/getVolume:getVolume", { + "regionName": args.regionName, + "serviceName": args.serviceName, + "volumeId": args.volumeId, + }, opts); +} + +/** + * A collection of arguments for invoking getVolume. + */ +export interface GetVolumeArgs { + /** + * A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + */ + regionName: string; + /** + * The id of the public cloud project. + */ + serviceName: string; + /** + * Volume id to get the informations + */ + volumeId: string; +} + +/** + * A collection of values returned by getVolume. + */ +export interface GetVolumeResult { + readonly id: string; + /** + * The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + */ + readonly name: string; + /** + * The region name where volume is available + */ + readonly regionName: string; + /** + * The id of the public cloud project. + */ + readonly serviceName: string; + /** + * The size of the volume + */ + readonly size: number; + /** + * The id of the volume + */ + readonly volumeId: string; +} +/** + * Get information about a volume in a public cloud project + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const volume = ovh.CloudProject.getVolume({ + * regionName: "xxx", + * serviceName: "yyy", + * volumeId: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + * }); + * ``` + */ +export function getVolumeOutput(args: GetVolumeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("ovh:CloudProject/getVolume:getVolume", { + "regionName": args.regionName, + "serviceName": args.serviceName, + "volumeId": args.volumeId, + }, opts); +} + +/** + * A collection of arguments for invoking getVolume. + */ +export interface GetVolumeOutputArgs { + /** + * A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + */ + regionName: pulumi.Input; + /** + * The id of the public cloud project. + */ + serviceName: pulumi.Input; + /** + * Volume id to get the informations + */ + volumeId: pulumi.Input; +} diff --git a/sdk/nodejs/cloudproject/getVolumes.ts b/sdk/nodejs/cloudproject/getVolumes.ts new file mode 100644 index 00000000..99cdbf5e --- /dev/null +++ b/sdk/nodejs/cloudproject/getVolumes.ts @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const volume = ovh.CloudProject.getVolume({ + * regionName: "xxx", + * serviceName: "yyy", + * }); + * ``` + */ +export function getVolumes(args: GetVolumesArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("ovh:CloudProject/getVolumes:getVolumes", { + "regionName": args.regionName, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getVolumes. + */ +export interface GetVolumesArgs { + /** + * A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + */ + regionName: string; + /** + * The id of the public cloud project. + */ + serviceName: string; +} + +/** + * A collection of values returned by getVolumes. + */ +export interface GetVolumesResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The region name where volumes are available + */ + readonly regionName: string; + /** + * The id of the public cloud project. + */ + readonly serviceName: string; + readonly volumes: outputs.CloudProject.GetVolumesVolume[]; +} +/** + * Get all the volume from a region of a public cloud project + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const volume = ovh.CloudProject.getVolume({ + * regionName: "xxx", + * serviceName: "yyy", + * }); + * ``` + */ +export function getVolumesOutput(args: GetVolumesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("ovh:CloudProject/getVolumes:getVolumes", { + "regionName": args.regionName, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getVolumes. + */ +export interface GetVolumesOutputArgs { + /** + * A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + */ + regionName: pulumi.Input; + /** + * The id of the public cloud project. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/cloudproject/index.ts b/sdk/nodejs/cloudproject/index.ts index 90b3dd37..9b7f6ad9 100644 --- a/sdk/nodejs/cloudproject/index.ts +++ b/sdk/nodejs/cloudproject/index.ts @@ -250,6 +250,16 @@ export const getVRack: typeof import("./getVRack").getVRack = null as any; export const getVRackOutput: typeof import("./getVRack").getVRackOutput = null as any; utilities.lazyLoad(exports, ["getVRack","getVRackOutput"], () => require("./getVRack")); +export { GetVolumeArgs, GetVolumeResult, GetVolumeOutputArgs } from "./getVolume"; +export const getVolume: typeof import("./getVolume").getVolume = null as any; +export const getVolumeOutput: typeof import("./getVolume").getVolumeOutput = null as any; +utilities.lazyLoad(exports, ["getVolume","getVolumeOutput"], () => require("./getVolume")); + +export { GetVolumesArgs, GetVolumesResult, GetVolumesOutputArgs } from "./getVolumes"; +export const getVolumes: typeof import("./getVolumes").getVolumes = null as any; +export const getVolumesOutput: typeof import("./getVolumes").getVolumesOutput = null as any; +utilities.lazyLoad(exports, ["getVolumes","getVolumesOutput"], () => require("./getVolumes")); + export { KubeArgs, KubeState } from "./kube"; export type Kube = import("./kube").Kube; export const Kube: typeof import("./kube").Kube = null as any; @@ -280,6 +290,11 @@ export type NetworkPrivateSubnet = import("./networkPrivateSubnet").NetworkPriva export const NetworkPrivateSubnet: typeof import("./networkPrivateSubnet").NetworkPrivateSubnet = null as any; utilities.lazyLoad(exports, ["NetworkPrivateSubnet"], () => require("./networkPrivateSubnet")); +export { NetworkPrivateSubnetV2Args, NetworkPrivateSubnetV2State } from "./networkPrivateSubnetV2"; +export type NetworkPrivateSubnetV2 = import("./networkPrivateSubnetV2").NetworkPrivateSubnetV2; +export const NetworkPrivateSubnetV2: typeof import("./networkPrivateSubnetV2").NetworkPrivateSubnetV2 = null as any; +utilities.lazyLoad(exports, ["NetworkPrivateSubnetV2"], () => require("./networkPrivateSubnetV2")); + export { ProjectArgs, ProjectState } from "./project"; export type Project = import("./project").Project; export const Project: typeof import("./project").Project = null as any; @@ -352,6 +367,8 @@ const _module = { return new NetworkPrivate(name, undefined, { urn }) case "ovh:CloudProject/networkPrivateSubnet:NetworkPrivateSubnet": return new NetworkPrivateSubnet(name, undefined, { urn }) + case "ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2": + return new NetworkPrivateSubnetV2(name, undefined, { urn }) case "ovh:CloudProject/project:Project": return new Project(name, undefined, { urn }) case "ovh:CloudProject/regionLoadBalancerLogSubscription:RegionLoadBalancerLogSubscription": @@ -387,6 +404,7 @@ pulumi.runtime.registerResourceModule("ovh", "CloudProject/kubeNodePool", _modul pulumi.runtime.registerResourceModule("ovh", "CloudProject/kubeOidc", _module) pulumi.runtime.registerResourceModule("ovh", "CloudProject/networkPrivate", _module) pulumi.runtime.registerResourceModule("ovh", "CloudProject/networkPrivateSubnet", _module) +pulumi.runtime.registerResourceModule("ovh", "CloudProject/networkPrivateSubnetV2", _module) pulumi.runtime.registerResourceModule("ovh", "CloudProject/project", _module) pulumi.runtime.registerResourceModule("ovh", "CloudProject/regionLoadBalancerLogSubscription", _module) pulumi.runtime.registerResourceModule("ovh", "CloudProject/regionStoragePresign", _module) diff --git a/sdk/nodejs/cloudproject/kube.ts b/sdk/nodejs/cloudproject/kube.ts index 0fe8224c..80d904cc 100644 --- a/sdk/nodejs/cloudproject/kube.ts +++ b/sdk/nodejs/cloudproject/kube.ts @@ -80,7 +80,7 @@ export class Kube extends pulumi.CustomResource { */ public /*out*/ readonly kubeconfigAttributes!: pulumi.Output; /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ public readonly loadBalancersSubnetId!: pulumi.Output; /** @@ -92,7 +92,7 @@ export class Kube extends pulumi.CustomResource { */ public /*out*/ readonly nextUpgradeVersions!: pulumi.Output; /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ public readonly nodesSubnetId!: pulumi.Output; /** @@ -104,7 +104,7 @@ export class Kube extends pulumi.CustomResource { */ public readonly privateNetworkConfiguration!: pulumi.Output; /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. */ @@ -244,7 +244,7 @@ export interface KubeState { */ kubeconfigAttributes?: pulumi.Input[]>; /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ loadBalancersSubnetId?: pulumi.Input; /** @@ -256,7 +256,7 @@ export interface KubeState { */ nextUpgradeVersions?: pulumi.Input[]>; /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ nodesSubnetId?: pulumi.Input; /** @@ -268,7 +268,7 @@ export interface KubeState { */ privateNetworkConfiguration?: pulumi.Input; /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. */ @@ -322,7 +322,7 @@ export interface KubeArgs { */ kubeProxyMode?: pulumi.Input; /** - * Openstack private network (or vRack) ID to use for load balancers. + * Subnet ID to use for Public Load Balancers, this subnet must belong to  `privateNetworkId`. Defaults to the same subnet as the nodes (see `nodesSubnetId`). Requires `privateNetworkId` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. */ loadBalancersSubnetId?: pulumi.Input; /** @@ -330,7 +330,7 @@ export interface KubeArgs { */ name?: pulumi.Input; /** - * Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + * Subnet ID to use for nodes, this subnet must belong to `privateNetworkId`. Default uses the first subnet belonging to the private network with id `privateNetworkId`. This attribute requires `privateNetworkId` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** */ nodesSubnetId?: pulumi.Input; /** @@ -338,7 +338,7 @@ export interface KubeArgs { */ privateNetworkConfiguration?: pulumi.Input; /** - * OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + * Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. * * > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. */ diff --git a/sdk/nodejs/cloudproject/networkPrivateSubnet.ts b/sdk/nodejs/cloudproject/networkPrivateSubnet.ts index 1e92377e..593192cc 100644 --- a/sdk/nodejs/cloudproject/networkPrivateSubnet.ts +++ b/sdk/nodejs/cloudproject/networkPrivateSubnet.ts @@ -72,7 +72,6 @@ export class NetworkPrivateSubnet extends pulumi.CustomResource { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ */ public readonly dhcp!: pulumi.Output; /** @@ -196,7 +195,6 @@ export interface NetworkPrivateSubnetState { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ */ dhcp?: pulumi.Input; /** @@ -256,7 +254,6 @@ export interface NetworkPrivateSubnetArgs { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ */ dhcp?: pulumi.Input; /** diff --git a/sdk/nodejs/cloudproject/networkPrivateSubnetV2.ts b/sdk/nodejs/cloudproject/networkPrivateSubnetV2.ts new file mode 100644 index 00000000..24fb37f0 --- /dev/null +++ b/sdk/nodejs/cloudproject/networkPrivateSubnetV2.ts @@ -0,0 +1,289 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Creates a subnet in a private network of a public cloud region. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@ovhcloud/pulumi-ovh"; + * + * const subnet = new ovh.cloudproject.NetworkPrivateSubnetV2("subnet", { + * cidr: "192.168.168.0/24", + * dhcp: true, + * dnsNameservers: ["1.1.1.1"], + * enableGatewayIp: true, + * networkId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + * region: "XXX1", + * serviceName: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + * }); + * ``` + * + * ## Import + * + * Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., + * + * bash + * + * ```sh + * $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 + * ``` + */ +export class NetworkPrivateSubnetV2 extends pulumi.CustomResource { + /** + * Get an existing NetworkPrivateSubnetV2 resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: NetworkPrivateSubnetV2State, opts?: pulumi.CustomResourceOptions): NetworkPrivateSubnetV2 { + return new NetworkPrivateSubnetV2(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2'; + + /** + * Returns true if the given object is an instance of NetworkPrivateSubnetV2. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is NetworkPrivateSubnetV2 { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NetworkPrivateSubnetV2.__pulumiType; + } + + /** + * DHCP allocation pools of subnet + */ + public readonly allocationPools!: pulumi.Output; + /** + * IP range of the subnet + * Changing this value recreates the subnet. + */ + public readonly cidr!: pulumi.Output; + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + */ + public readonly dhcp!: pulumi.Output; + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + */ + public readonly dnsNameservers!: pulumi.Output; + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + */ + public readonly enableGatewayIp!: pulumi.Output; + /** + * See Argument Reference above. + */ + public readonly gatewayIp!: pulumi.Output; + /** + * Static host routes of subnet + */ + public readonly hostRoutes!: pulumi.Output; + /** + * Name of the subnet + * Changing this value recreates the subnet. + */ + public readonly name!: pulumi.Output; + /** + * The id of the network. + * Changing this forces a new resource to be created. + */ + public readonly networkId!: pulumi.Output; + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + */ + public readonly region!: pulumi.Output; + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + */ + public readonly serviceName!: pulumi.Output; + + /** + * Create a NetworkPrivateSubnetV2 resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: NetworkPrivateSubnetV2Args, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NetworkPrivateSubnetV2Args | NetworkPrivateSubnetV2State, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NetworkPrivateSubnetV2State | undefined; + resourceInputs["allocationPools"] = state ? state.allocationPools : undefined; + resourceInputs["cidr"] = state ? state.cidr : undefined; + resourceInputs["dhcp"] = state ? state.dhcp : undefined; + resourceInputs["dnsNameservers"] = state ? state.dnsNameservers : undefined; + resourceInputs["enableGatewayIp"] = state ? state.enableGatewayIp : undefined; + resourceInputs["gatewayIp"] = state ? state.gatewayIp : undefined; + resourceInputs["hostRoutes"] = state ? state.hostRoutes : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["networkId"] = state ? state.networkId : undefined; + resourceInputs["region"] = state ? state.region : undefined; + resourceInputs["serviceName"] = state ? state.serviceName : undefined; + } else { + const args = argsOrState as NetworkPrivateSubnetV2Args | undefined; + if ((!args || args.cidr === undefined) && !opts.urn) { + throw new Error("Missing required property 'cidr'"); + } + if ((!args || args.networkId === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkId'"); + } + if ((!args || args.region === undefined) && !opts.urn) { + throw new Error("Missing required property 'region'"); + } + if ((!args || args.serviceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceName'"); + } + resourceInputs["allocationPools"] = args ? args.allocationPools : undefined; + resourceInputs["cidr"] = args ? args.cidr : undefined; + resourceInputs["dhcp"] = args ? args.dhcp : undefined; + resourceInputs["dnsNameservers"] = args ? args.dnsNameservers : undefined; + resourceInputs["enableGatewayIp"] = args ? args.enableGatewayIp : undefined; + resourceInputs["gatewayIp"] = args ? args.gatewayIp : undefined; + resourceInputs["hostRoutes"] = args ? args.hostRoutes : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["networkId"] = args ? args.networkId : undefined; + resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["serviceName"] = args ? args.serviceName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(NetworkPrivateSubnetV2.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering NetworkPrivateSubnetV2 resources. + */ +export interface NetworkPrivateSubnetV2State { + /** + * DHCP allocation pools of subnet + */ + allocationPools?: pulumi.Input[]>; + /** + * IP range of the subnet + * Changing this value recreates the subnet. + */ + cidr?: pulumi.Input; + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + */ + dhcp?: pulumi.Input; + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + */ + dnsNameservers?: pulumi.Input[]>; + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + */ + enableGatewayIp?: pulumi.Input; + /** + * See Argument Reference above. + */ + gatewayIp?: pulumi.Input; + /** + * Static host routes of subnet + */ + hostRoutes?: pulumi.Input[]>; + /** + * Name of the subnet + * Changing this value recreates the subnet. + */ + name?: pulumi.Input; + /** + * The id of the network. + * Changing this forces a new resource to be created. + */ + networkId?: pulumi.Input; + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + */ + region?: pulumi.Input; + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + */ + serviceName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a NetworkPrivateSubnetV2 resource. + */ +export interface NetworkPrivateSubnetV2Args { + /** + * DHCP allocation pools of subnet + */ + allocationPools?: pulumi.Input[]>; + /** + * IP range of the subnet + * Changing this value recreates the subnet. + */ + cidr: pulumi.Input; + /** + * Enable DHCP. + * Changing this forces a new resource to be created. Defaults to true. + */ + dhcp?: pulumi.Input; + /** + * DNS nameservers used by DHCP + * Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + */ + dnsNameservers?: pulumi.Input[]>; + /** + * Set to true if you want to set a default gateway IP. + * Changing this value recreates the resource. Defaults to true. + */ + enableGatewayIp?: pulumi.Input; + /** + * See Argument Reference above. + */ + gatewayIp?: pulumi.Input; + /** + * Static host routes of subnet + */ + hostRoutes?: pulumi.Input[]>; + /** + * Name of the subnet + * Changing this value recreates the subnet. + */ + name?: pulumi.Input; + /** + * The id of the network. + * Changing this forces a new resource to be created. + */ + networkId: pulumi.Input; + /** + * The region in which the network subnet will be created. + * Ex.: "GRA1". Changing this value recreates the resource. + */ + region: pulumi.Input; + /** + * The id of the public cloud project. If omitted, + * the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/cloudproject/project.ts b/sdk/nodejs/cloudproject/project.ts index 46378998..a9275c73 100644 --- a/sdk/nodejs/cloudproject/project.ts +++ b/sdk/nodejs/cloudproject/project.ts @@ -9,13 +9,31 @@ import * as utilities from "../utilities"; /** * ## Import * - * Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. + * Cloud project can be imported using the `project_id`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_cloud_project.my_cloud_project + * + * id = "" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id - * ``` + * $ pulumi preview -generate-config-out=cloudproject.tf + * + * $ pulumi up + * + * The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class Project extends pulumi.CustomResource { /** @@ -96,7 +114,7 @@ export class Project 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: ProjectArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: ProjectArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: ProjectArgs | ProjectState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -115,12 +133,6 @@ export class Project extends pulumi.CustomResource { resourceInputs["status"] = state ? state.status : undefined; } else { const args = argsOrState as ProjectArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["orders"] = args ? args.orders : undefined; resourceInputs["ovhSubsidiary"] = args ? args.ovhSubsidiary : undefined; @@ -202,7 +214,7 @@ export interface ProjectArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -212,7 +224,7 @@ export interface ProjectArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/cloudprojectdatabase/getDatabaseLogSubscriptions.ts b/sdk/nodejs/cloudprojectdatabase/getDatabaseLogSubscriptions.ts index 6221cbda..7438b351 100644 --- a/sdk/nodejs/cloudprojectdatabase/getDatabaseLogSubscriptions.ts +++ b/sdk/nodejs/cloudprojectdatabase/getDatabaseLogSubscriptions.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * @@ -76,7 +76,7 @@ export interface GetDatabaseLogSubscriptionsResult { readonly subscriptionIds: string[]; } /** - * Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + * Use this data source to get the list of log subscription for a cluster associated with a public cloud project. * * ## Example Usage * diff --git a/sdk/nodejs/cloudprojectdatabase/logSubscription.ts b/sdk/nodejs/cloudprojectdatabase/logSubscription.ts index 80958bf6..eb68982d 100644 --- a/sdk/nodejs/cloudprojectdatabase/logSubscription.ts +++ b/sdk/nodejs/cloudprojectdatabase/logSubscription.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Creates a log subscrition for a cluster associated with a public cloud project. + * Creates a log subscription for a cluster associated with a public cloud project. * * ## Example Usage * diff --git a/sdk/nodejs/dbaas/getLogsOutputOpenSearchIndex.ts b/sdk/nodejs/dbaas/getLogsOutputOpenSearchIndex.ts new file mode 100644 index 00000000..1cbd9cc8 --- /dev/null +++ b/sdk/nodejs/dbaas/getLogsOutputOpenSearchIndex.ts @@ -0,0 +1,139 @@ +// *** 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"; + +/** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const index = ovh.Dbaas.getLogsOutputOpenSearchIndex({ + * name: "index-name", + * serviceName: "ldp-xx-xxxxx", + * }); + * ``` + */ +export function getLogsOutputOpenSearchIndex(args: GetLogsOutputOpenSearchIndexArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", { + "name": args.name, + "nbShard": args.nbShard, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getLogsOutputOpenSearchIndex. + */ +export interface GetLogsOutputOpenSearchIndexArgs { + /** + * Index name + */ + name: string; + /** + * Number of shard + */ + nbShard?: number; + /** + * The service name. It's the ID of your Logs Data Platform instance. + */ + serviceName: string; +} + +/** + * A collection of values returned by getLogsOutputOpenSearchIndex. + */ +export interface GetLogsOutputOpenSearchIndexResult { + /** + * If set, notify when size is near 80, 90 or 100 % of its maximum capacity + */ + readonly alertNotifyEnabled: boolean; + /** + * Index creation + */ + readonly createdAt: string; + /** + * Current index size (in bytes) + */ + readonly currentSize: number; + /** + * Index description + */ + readonly description: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Index ID + */ + readonly indexId: string; + /** + * Indicates if you are allowed to edit entry + */ + readonly isEditable: boolean; + /** + * Maximum index size (in bytes) + */ + readonly maxSize: number; + /** + * Index name + */ + readonly name: string; + /** + * Number of shard + */ + readonly nbShard: number; + readonly serviceName: string; + /** + * Index last update + */ + readonly updatedAt: string; +} +/** + * Use this data source to retrieve information about a DBaas logs output opensearch index. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@pulumi/ovh"; + * + * const index = ovh.Dbaas.getLogsOutputOpenSearchIndex({ + * name: "index-name", + * serviceName: "ldp-xx-xxxxx", + * }); + * ``` + */ +export function getLogsOutputOpenSearchIndexOutput(args: GetLogsOutputOpenSearchIndexOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex", { + "name": args.name, + "nbShard": args.nbShard, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getLogsOutputOpenSearchIndex. + */ +export interface GetLogsOutputOpenSearchIndexOutputArgs { + /** + * Index name + */ + name: pulumi.Input; + /** + * Number of shard + */ + nbShard?: pulumi.Input; + /** + * The service name. It's the ID of your Logs Data Platform instance. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/dbaas/index.ts b/sdk/nodejs/dbaas/index.ts index 7fe403b3..869c1305 100644 --- a/sdk/nodejs/dbaas/index.ts +++ b/sdk/nodejs/dbaas/index.ts @@ -30,6 +30,11 @@ export const getLogsOutputGraylogStream: typeof import("./getLogsOutputGraylogSt export const getLogsOutputGraylogStreamOutput: typeof import("./getLogsOutputGraylogStream").getLogsOutputGraylogStreamOutput = null as any; utilities.lazyLoad(exports, ["getLogsOutputGraylogStream","getLogsOutputGraylogStreamOutput"], () => require("./getLogsOutputGraylogStream")); +export { GetLogsOutputOpenSearchIndexArgs, GetLogsOutputOpenSearchIndexResult, GetLogsOutputOpenSearchIndexOutputArgs } from "./getLogsOutputOpenSearchIndex"; +export const getLogsOutputOpenSearchIndex: typeof import("./getLogsOutputOpenSearchIndex").getLogsOutputOpenSearchIndex = null as any; +export const getLogsOutputOpenSearchIndexOutput: typeof import("./getLogsOutputOpenSearchIndex").getLogsOutputOpenSearchIndexOutput = null as any; +utilities.lazyLoad(exports, ["getLogsOutputOpenSearchIndex","getLogsOutputOpenSearchIndexOutput"], () => require("./getLogsOutputOpenSearchIndex")); + export { LogsClusterArgs, LogsClusterState } from "./logsCluster"; export type LogsCluster = import("./logsCluster").LogsCluster; export const LogsCluster: typeof import("./logsCluster").LogsCluster = null as any; @@ -45,6 +50,16 @@ export type LogsOutputGraylogStream = import("./logsOutputGraylogStream").LogsOu export const LogsOutputGraylogStream: typeof import("./logsOutputGraylogStream").LogsOutputGraylogStream = null as any; utilities.lazyLoad(exports, ["LogsOutputGraylogStream"], () => require("./logsOutputGraylogStream")); +export { LogsOutputOpenSearchAliasArgs, LogsOutputOpenSearchAliasState } from "./logsOutputOpenSearchAlias"; +export type LogsOutputOpenSearchAlias = import("./logsOutputOpenSearchAlias").LogsOutputOpenSearchAlias; +export const LogsOutputOpenSearchAlias: typeof import("./logsOutputOpenSearchAlias").LogsOutputOpenSearchAlias = null as any; +utilities.lazyLoad(exports, ["LogsOutputOpenSearchAlias"], () => require("./logsOutputOpenSearchAlias")); + +export { LogsOutputOpenSearchIndexArgs, LogsOutputOpenSearchIndexState } from "./logsOutputOpenSearchIndex"; +export type LogsOutputOpenSearchIndex = import("./logsOutputOpenSearchIndex").LogsOutputOpenSearchIndex; +export const LogsOutputOpenSearchIndex: typeof import("./logsOutputOpenSearchIndex").LogsOutputOpenSearchIndex = null as any; +utilities.lazyLoad(exports, ["LogsOutputOpenSearchIndex"], () => require("./logsOutputOpenSearchIndex")); + export { LogsTokenArgs, LogsTokenState } from "./logsToken"; export type LogsToken = import("./logsToken").LogsToken; export const LogsToken: typeof import("./logsToken").LogsToken = null as any; @@ -61,6 +76,10 @@ const _module = { return new LogsInput(name, undefined, { urn }) case "ovh:Dbaas/logsOutputGraylogStream:LogsOutputGraylogStream": return new LogsOutputGraylogStream(name, undefined, { urn }) + case "ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias": + return new LogsOutputOpenSearchAlias(name, undefined, { urn }) + case "ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex": + return new LogsOutputOpenSearchIndex(name, undefined, { urn }) case "ovh:Dbaas/logsToken:LogsToken": return new LogsToken(name, undefined, { urn }) default: @@ -71,4 +90,6 @@ const _module = { pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsCluster", _module) pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsInput", _module) pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsOutputGraylogStream", _module) +pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsOutputOpenSearchAlias", _module) +pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsOutputOpenSearchIndex", _module) pulumi.runtime.registerResourceModule("ovh", "Dbaas/logsToken", _module) diff --git a/sdk/nodejs/dbaas/logsOutputOpenSearchAlias.ts b/sdk/nodejs/dbaas/logsOutputOpenSearchAlias.ts new file mode 100644 index 00000000..b4a65591 --- /dev/null +++ b/sdk/nodejs/dbaas/logsOutputOpenSearchAlias.ts @@ -0,0 +1,250 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Creates a DBaaS Logs Opensearch output alias. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@ovhcloud/pulumi-ovh"; + * + * const alias = new ovh.dbaas.LogsOutputOpenSearchAlias("alias", { + * description: "my opensearch alias", + * serviceName: "....", + * suffix: "alias", + * }); + * ``` + */ +export class LogsOutputOpenSearchAlias extends pulumi.CustomResource { + /** + * Get an existing LogsOutputOpenSearchAlias resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: LogsOutputOpenSearchAliasState, opts?: pulumi.CustomResourceOptions): LogsOutputOpenSearchAlias { + return new LogsOutputOpenSearchAlias(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias'; + + /** + * Returns true if the given object is an instance of LogsOutputOpenSearchAlias. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is LogsOutputOpenSearchAlias { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogsOutputOpenSearchAlias.__pulumiType; + } + + /** + * Alias Id + */ + public /*out*/ readonly aliasId!: pulumi.Output; + /** + * Alias creation + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Current alias size (in bytes) + */ + public /*out*/ readonly currentSize!: pulumi.Output; + /** + * Index description + */ + public readonly description!: pulumi.Output; + /** + * List of attached indexes id + */ + public readonly indexes!: pulumi.Output; + /** + * Indicates if you are allowed to edit entry + */ + public /*out*/ readonly isEditable!: pulumi.Output; + /** + * Alias name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Number of indices linked + */ + public readonly nbIndex!: pulumi.Output; + /** + * Number of streams linked + */ + public readonly nbStream!: pulumi.Output; + /** + * The service name + */ + public readonly serviceName!: pulumi.Output; + /** + * List of attached streams id + */ + public readonly streams!: pulumi.Output; + /** + * Index suffix + */ + public readonly suffix!: pulumi.Output; + /** + * Input last update + */ + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a LogsOutputOpenSearchAlias resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: LogsOutputOpenSearchAliasArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogsOutputOpenSearchAliasArgs | LogsOutputOpenSearchAliasState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogsOutputOpenSearchAliasState | undefined; + resourceInputs["aliasId"] = state ? state.aliasId : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["currentSize"] = state ? state.currentSize : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["indexes"] = state ? state.indexes : undefined; + resourceInputs["isEditable"] = state ? state.isEditable : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["nbIndex"] = state ? state.nbIndex : undefined; + resourceInputs["nbStream"] = state ? state.nbStream : undefined; + resourceInputs["serviceName"] = state ? state.serviceName : undefined; + resourceInputs["streams"] = state ? state.streams : undefined; + resourceInputs["suffix"] = state ? state.suffix : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as LogsOutputOpenSearchAliasArgs | undefined; + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.serviceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceName'"); + } + if ((!args || args.suffix === undefined) && !opts.urn) { + throw new Error("Missing required property 'suffix'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["indexes"] = args ? args.indexes : undefined; + resourceInputs["nbIndex"] = args ? args.nbIndex : undefined; + resourceInputs["nbStream"] = args ? args.nbStream : undefined; + resourceInputs["serviceName"] = args ? args.serviceName : undefined; + resourceInputs["streams"] = args ? args.streams : undefined; + resourceInputs["suffix"] = args ? args.suffix : undefined; + resourceInputs["aliasId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["currentSize"] = undefined /*out*/; + resourceInputs["isEditable"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogsOutputOpenSearchAlias.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogsOutputOpenSearchAlias resources. + */ +export interface LogsOutputOpenSearchAliasState { + /** + * Alias Id + */ + aliasId?: pulumi.Input; + /** + * Alias creation + */ + createdAt?: pulumi.Input; + /** + * Current alias size (in bytes) + */ + currentSize?: pulumi.Input; + /** + * Index description + */ + description?: pulumi.Input; + /** + * List of attached indexes id + */ + indexes?: pulumi.Input[]>; + /** + * Indicates if you are allowed to edit entry + */ + isEditable?: pulumi.Input; + /** + * Alias name + */ + name?: pulumi.Input; + /** + * Number of indices linked + */ + nbIndex?: pulumi.Input; + /** + * Number of streams linked + */ + nbStream?: pulumi.Input; + /** + * The service name + */ + serviceName?: pulumi.Input; + /** + * List of attached streams id + */ + streams?: pulumi.Input[]>; + /** + * Index suffix + */ + suffix?: pulumi.Input; + /** + * Input last update + */ + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LogsOutputOpenSearchAlias resource. + */ +export interface LogsOutputOpenSearchAliasArgs { + /** + * Index description + */ + description: pulumi.Input; + /** + * List of attached indexes id + */ + indexes?: pulumi.Input[]>; + /** + * Number of indices linked + */ + nbIndex?: pulumi.Input; + /** + * Number of streams linked + */ + nbStream?: pulumi.Input; + /** + * The service name + */ + serviceName: pulumi.Input; + /** + * List of attached streams id + */ + streams?: pulumi.Input[]>; + /** + * Index suffix + */ + suffix: pulumi.Input; +} diff --git a/sdk/nodejs/dbaas/logsOutputOpenSearchIndex.ts b/sdk/nodejs/dbaas/logsOutputOpenSearchIndex.ts new file mode 100644 index 00000000..cf6384e9 --- /dev/null +++ b/sdk/nodejs/dbaas/logsOutputOpenSearchIndex.ts @@ -0,0 +1,231 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Creates a DBaaS Logs Opensearch output index. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as ovh from "@ovhcloud/pulumi-ovh"; + * + * const index = new ovh.dbaas.LogsOutputOpenSearchIndex("index", { + * description: "my opensearch index", + * serviceName: "....", + * suffix: "index", + * }); + * ``` + */ +export class LogsOutputOpenSearchIndex extends pulumi.CustomResource { + /** + * Get an existing LogsOutputOpenSearchIndex resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: LogsOutputOpenSearchIndexState, opts?: pulumi.CustomResourceOptions): LogsOutputOpenSearchIndex { + return new LogsOutputOpenSearchIndex(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex'; + + /** + * Returns true if the given object is an instance of LogsOutputOpenSearchIndex. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is LogsOutputOpenSearchIndex { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogsOutputOpenSearchIndex.__pulumiType; + } + + /** + * If set, notify when size is near 80, 90 or 100 % of its maximum capacity + */ + public /*out*/ readonly alertNotifyEnabled!: pulumi.Output; + /** + * Index creation + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Current index size (in bytes) + */ + public /*out*/ readonly currentSize!: pulumi.Output; + /** + * Index description + */ + public readonly description!: pulumi.Output; + /** + * Index ID + */ + public /*out*/ readonly indexId!: pulumi.Output; + /** + * Indicates if you are allowed to edit entry + */ + public /*out*/ readonly isEditable!: pulumi.Output; + /** + * Maximum index size (in bytes) + */ + public /*out*/ readonly maxSize!: pulumi.Output; + /** + * Index name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Number of shards + */ + public readonly nbShard!: pulumi.Output; + /** + * The service name + */ + public readonly serviceName!: pulumi.Output; + /** + * Index suffix + */ + public readonly suffix!: pulumi.Output; + /** + * Index last update + */ + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a LogsOutputOpenSearchIndex resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: LogsOutputOpenSearchIndexArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogsOutputOpenSearchIndexArgs | LogsOutputOpenSearchIndexState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogsOutputOpenSearchIndexState | undefined; + resourceInputs["alertNotifyEnabled"] = state ? state.alertNotifyEnabled : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["currentSize"] = state ? state.currentSize : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["indexId"] = state ? state.indexId : undefined; + resourceInputs["isEditable"] = state ? state.isEditable : undefined; + resourceInputs["maxSize"] = state ? state.maxSize : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["nbShard"] = state ? state.nbShard : undefined; + resourceInputs["serviceName"] = state ? state.serviceName : undefined; + resourceInputs["suffix"] = state ? state.suffix : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as LogsOutputOpenSearchIndexArgs | undefined; + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.nbShard === undefined) && !opts.urn) { + throw new Error("Missing required property 'nbShard'"); + } + if ((!args || args.serviceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceName'"); + } + if ((!args || args.suffix === undefined) && !opts.urn) { + throw new Error("Missing required property 'suffix'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["nbShard"] = args ? args.nbShard : undefined; + resourceInputs["serviceName"] = args ? args.serviceName : undefined; + resourceInputs["suffix"] = args ? args.suffix : undefined; + resourceInputs["alertNotifyEnabled"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["currentSize"] = undefined /*out*/; + resourceInputs["indexId"] = undefined /*out*/; + resourceInputs["isEditable"] = undefined /*out*/; + resourceInputs["maxSize"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogsOutputOpenSearchIndex.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogsOutputOpenSearchIndex resources. + */ +export interface LogsOutputOpenSearchIndexState { + /** + * If set, notify when size is near 80, 90 or 100 % of its maximum capacity + */ + alertNotifyEnabled?: pulumi.Input; + /** + * Index creation + */ + createdAt?: pulumi.Input; + /** + * Current index size (in bytes) + */ + currentSize?: pulumi.Input; + /** + * Index description + */ + description?: pulumi.Input; + /** + * Index ID + */ + indexId?: pulumi.Input; + /** + * Indicates if you are allowed to edit entry + */ + isEditable?: pulumi.Input; + /** + * Maximum index size (in bytes) + */ + maxSize?: pulumi.Input; + /** + * Index name + */ + name?: pulumi.Input; + /** + * Number of shards + */ + nbShard?: pulumi.Input; + /** + * The service name + */ + serviceName?: pulumi.Input; + /** + * Index suffix + */ + suffix?: pulumi.Input; + /** + * Index last update + */ + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LogsOutputOpenSearchIndex resource. + */ +export interface LogsOutputOpenSearchIndexArgs { + /** + * Index description + */ + description: pulumi.Input; + /** + * Number of shards + */ + nbShard: pulumi.Input; + /** + * The service name + */ + serviceName: pulumi.Input; + /** + * Index suffix + */ + suffix: pulumi.Input; +} diff --git a/sdk/nodejs/dedicated/server.ts b/sdk/nodejs/dedicated/server.ts index 0b213330..31cd54eb 100644 --- a/sdk/nodejs/dedicated/server.ts +++ b/sdk/nodejs/dedicated/server.ts @@ -9,13 +9,31 @@ import * as utilities from "../utilities"; /** * ## Import * - * Dedicated servers can be imported using the `service_name`, e.g.: + * Dedicated servers can be imported using the `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_dedicated_server.server + * + * id = "" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Dedicated/server:Server server service_name - * ``` + * $ pulumi preview -generate-config-out=dedicated.tf + * + * $ pulumi up + * + * The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class Server extends pulumi.CustomResource { /** @@ -109,7 +127,7 @@ export class Server extends pulumi.CustomResource { /** * OVH subsidiaries */ - public readonly ovhSubsidiary!: pulumi.Output; + public readonly ovhSubsidiary!: pulumi.Output; /** * Partition scheme name */ @@ -180,7 +198,7 @@ export class Server 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: ServerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: ServerArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: ServerArgs | ServerState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -222,9 +240,6 @@ export class Server extends pulumi.CustomResource { resourceInputs["userMetadatas"] = state ? state.userMetadatas : undefined; } else { const args = argsOrState as ServerArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } resourceInputs["bootId"] = args ? args.bootId : undefined; resourceInputs["bootScript"] = args ? args.bootScript : undefined; resourceInputs["details"] = args ? args.details : undefined; @@ -429,7 +444,7 @@ export interface ServerArgs { /** * OVH subsidiaries */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Partition scheme name */ diff --git a/sdk/nodejs/domain/zone.ts b/sdk/nodejs/domain/zone.ts index 820c9b45..609f7006 100644 --- a/sdk/nodejs/domain/zone.ts +++ b/sdk/nodejs/domain/zone.ts @@ -46,13 +46,31 @@ import * as utilities from "../utilities"; * * ## Import * - * Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. + * Zone can be imported using its `name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_domain_zone.zone + * + * id = "" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Domain/zone:Zone zone order_id - * ``` + * $ pulumi preview -generate-config-out=zone.tf + * + * $ pulumi up + * + * The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class Zone extends pulumi.CustomResource { /** @@ -133,7 +151,7 @@ export class Zone 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: ZoneArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: ZoneArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: ZoneArgs | ZoneState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -152,12 +170,6 @@ export class Zone extends pulumi.CustomResource { resourceInputs["planOptions"] = state ? state.planOptions : undefined; } else { const args = argsOrState as ZoneArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["orders"] = args ? args.orders : undefined; resourceInputs["ovhSubsidiary"] = args ? args.ovhSubsidiary : undefined; resourceInputs["paymentMean"] = args ? args.paymentMean : undefined; @@ -235,7 +247,7 @@ export interface ZoneArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -245,7 +257,7 @@ export interface ZoneArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/hosting/privateDatabase.ts b/sdk/nodejs/hosting/privateDatabase.ts index e620644b..251095a7 100644 --- a/sdk/nodejs/hosting/privateDatabase.ts +++ b/sdk/nodejs/hosting/privateDatabase.ts @@ -48,11 +48,31 @@ import * as utilities from "../utilities"; * * ## Import * - * OVHcloud Webhosting database can be imported using the `service_name`, E.g., + * OVHcloud Webhosting database can be imported using the `service_name`. * - * ```sh - * $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name - * ``` + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_hosting_privatedatabase.database + * + * id = "" + * + * } + * + * You can then run: + * + * bash + * + * $ pulumi preview -generate-config-out=database.tf + * + * $ pulumi up + * + * The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class PrivateDatabase extends pulumi.CustomResource { /** @@ -192,7 +212,7 @@ export class PrivateDatabase 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: PrivateDatabaseArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: PrivateDatabaseArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: PrivateDatabaseArgs | PrivateDatabaseState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -225,12 +245,6 @@ export class PrivateDatabase extends pulumi.CustomResource { resourceInputs["versionNumber"] = state ? state.versionNumber : undefined; } else { const args = argsOrState as PrivateDatabaseArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["orders"] = args ? args.orders : undefined; resourceInputs["ovhSubsidiary"] = args ? args.ovhSubsidiary : undefined; @@ -385,7 +399,7 @@ export interface PrivateDatabaseArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -395,7 +409,7 @@ export interface PrivateDatabaseArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/ip/ipService.ts b/sdk/nodejs/ip/ipService.ts index 8a10199f..cab26705 100644 --- a/sdk/nodejs/ip/ipService.ts +++ b/sdk/nodejs/ip/ipService.ts @@ -38,6 +38,30 @@ import * as utilities from "../utilities"; * }, * }); * ``` + * + * ## Import + * + * The resource can be imported using its `service_name`, E.g., + * + * hcl + * + * import { + * + * to = ovh_ip_service.ipblock + * + * id = "ip-xx.xx.xx.xx" + * + * } + * + * bash + * + * $ pulumi preview -generate-config-out=ipblock.tf + * + * $ pulumi up + * + * The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class IpService extends pulumi.CustomResource { /** @@ -129,7 +153,7 @@ export class IpService 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: IpServiceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: IpServiceArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: IpServiceArgs | IpServiceState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -150,12 +174,6 @@ export class IpService extends pulumi.CustomResource { resourceInputs["type"] = state ? state.type : undefined; } else { const args = argsOrState as IpServiceArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["orders"] = args ? args.orders : undefined; resourceInputs["ovhSubsidiary"] = args ? args.ovhSubsidiary : undefined; @@ -250,7 +268,7 @@ export interface IpServiceArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -260,7 +278,7 @@ export interface IpServiceArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/iploadbalancing/loadBalancer.ts b/sdk/nodejs/iploadbalancing/loadBalancer.ts index ffabb31d..948e3be7 100644 --- a/sdk/nodejs/iploadbalancing/loadBalancer.ts +++ b/sdk/nodejs/iploadbalancing/loadBalancer.ts @@ -46,6 +46,34 @@ import * as utilities from "../utilities"; * }], * }); * ``` + * + * ## Import + * + * OVHcloud IP load balancing services can be imported using its `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_iploadbalancing.iplb + * + * id = "" + * + * } + * + * You can then run: + * + * bash + * + * $ pulumi preview -generate-config-out=iplb.tf + * + * $ pulumi up + * + * The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class LoadBalancer extends pulumi.CustomResource { /** @@ -161,7 +189,7 @@ export class LoadBalancer 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: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: LoadBalancerArgs | LoadBalancerState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -188,12 +216,6 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["zones"] = state ? state.zones : undefined; } else { const args = argsOrState as LoadBalancerArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["orders"] = args ? args.orders : undefined; resourceInputs["ovhSubsidiary"] = args ? args.ovhSubsidiary : undefined; @@ -320,7 +342,7 @@ export interface LoadBalancerArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -330,7 +352,7 @@ export interface LoadBalancerArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/iploadbalancing/ssl.ts b/sdk/nodejs/iploadbalancing/ssl.ts index db441c39..c6d07c04 100644 --- a/sdk/nodejs/iploadbalancing/ssl.ts +++ b/sdk/nodejs/iploadbalancing/ssl.ts @@ -72,11 +72,11 @@ export class Ssl extends pulumi.CustomResource { /** * Certificate chain */ - public readonly chain!: pulumi.Output; + public readonly chain!: pulumi.Output; /** * Readable label for loadbalancer ssl */ - public readonly displayName!: pulumi.Output; + public readonly displayName!: pulumi.Output; /** * Expire date of your SSL certificate. */ diff --git a/sdk/nodejs/iploadbalancing/udpFarm.ts b/sdk/nodejs/iploadbalancing/udpFarm.ts index 4715f286..109e2194 100644 --- a/sdk/nodejs/iploadbalancing/udpFarm.ts +++ b/sdk/nodejs/iploadbalancing/udpFarm.ts @@ -67,7 +67,7 @@ export class UdpFarm extends pulumi.CustomResource { /** * Readable label for loadbalancer farm */ - public readonly displayName!: pulumi.Output; + public readonly displayName!: pulumi.Output; /** * Id of your farm. */ @@ -83,7 +83,7 @@ export class UdpFarm extends pulumi.CustomResource { /** * Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack */ - public readonly vrackNetworkId!: pulumi.Output; + public readonly vrackNetworkId!: pulumi.Output; /** * Zone where the farm will be defined (ie. `gra`, `bhs` also supports `all`) */ diff --git a/sdk/nodejs/iploadbalancing/udpFarmServer.ts b/sdk/nodejs/iploadbalancing/udpFarmServer.ts index 45f7d762..6f09c824 100644 --- a/sdk/nodejs/iploadbalancing/udpFarmServer.ts +++ b/sdk/nodejs/iploadbalancing/udpFarmServer.ts @@ -77,7 +77,7 @@ export class UdpFarmServer extends pulumi.CustomResource { /** * Label for the server */ - public readonly displayName!: pulumi.Output; + public readonly displayName!: pulumi.Output; /** * ID of the farm this server is attached to */ @@ -85,7 +85,7 @@ export class UdpFarmServer extends pulumi.CustomResource { /** * Port that backend will respond on */ - public readonly port!: pulumi.Output; + public readonly port!: pulumi.Output; /** * Id of your server. */ diff --git a/sdk/nodejs/iploadbalancing/udpFrontend.ts b/sdk/nodejs/iploadbalancing/udpFrontend.ts index 4dc968f1..35c4c0e1 100644 --- a/sdk/nodejs/iploadbalancing/udpFrontend.ts +++ b/sdk/nodejs/iploadbalancing/udpFrontend.ts @@ -67,11 +67,11 @@ export class UdpFrontend extends pulumi.CustomResource { /** * Only attach frontend on these ip. No restriction if null. List of Ip blocks. */ - public readonly dedicatedIpfos!: pulumi.Output; + public readonly dedicatedIpfos!: pulumi.Output; /** * Default UDP Farm of your frontend */ - public readonly defaultFarmId!: pulumi.Output; + public readonly defaultFarmId!: pulumi.Output; /** * Disable your frontend. Default: 'false' */ @@ -79,7 +79,7 @@ export class UdpFrontend extends pulumi.CustomResource { /** * Human readable name for your frontend */ - public readonly displayName!: pulumi.Output; + public readonly displayName!: pulumi.Output; /** * Id of your frontend */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index b1c59d73..2955c31b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -65,6 +65,8 @@ "cloudproject/getUserS3Policy.ts", "cloudproject/getUsers.ts", "cloudproject/getVRack.ts", + "cloudproject/getVolume.ts", + "cloudproject/getVolumes.ts", "cloudproject/index.ts", "cloudproject/kube.ts", "cloudproject/kubeIpRestrictions.ts", @@ -72,6 +74,7 @@ "cloudproject/kubeOidc.ts", "cloudproject/networkPrivate.ts", "cloudproject/networkPrivateSubnet.ts", + "cloudproject/networkPrivateSubnetV2.ts", "cloudproject/project.ts", "cloudproject/regionLoadBalancerLogSubscription.ts", "cloudproject/regionStoragePresign.ts", @@ -126,10 +129,13 @@ "dbaas/getLogsClustersRetention.ts", "dbaas/getLogsInputEngine.ts", "dbaas/getLogsOutputGraylogStream.ts", + "dbaas/getLogsOutputOpenSearchIndex.ts", "dbaas/index.ts", "dbaas/logsCluster.ts", "dbaas/logsInput.ts", "dbaas/logsOutputGraylogStream.ts", + "dbaas/logsOutputOpenSearchAlias.ts", + "dbaas/logsOutputOpenSearchIndex.ts", "dbaas/logsToken.ts", "dedicated/cephAcl.ts", "dedicated/getCeph.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 6e63ecce..96e01364 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -575,7 +575,6 @@ export namespace CloudProject { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ */ dhcp?: pulumi.Input; /** @@ -600,6 +599,16 @@ export namespace CloudProject { start?: pulumi.Input; } + export interface NetworkPrivateSubnetV2AllocationPool { + end: pulumi.Input; + start: pulumi.Input; + } + + export interface NetworkPrivateSubnetV2HostRoute { + destination: pulumi.Input; + nexthop: pulumi.Input; + } + export interface ProjectOrder { /** * date diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 09783b95..12c5575e 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1001,6 +1001,21 @@ export namespace CloudProject { permissions: string[]; } + export interface GetVolumesVolume { + /** + * The id of the volume + */ + id: string; + /** + * The name of the volume + */ + name: string; + /** + * The size of the volume + */ + size: number; + } + export interface KubeCustomization { /** * Kubernetes API server customization @@ -1170,7 +1185,6 @@ export namespace CloudProject { /** * Enable DHCP. * Changing this forces a new resource to be created. Defaults to false. - * _ */ dhcp: boolean; /** @@ -1195,6 +1209,16 @@ export namespace CloudProject { start: string; } + export interface NetworkPrivateSubnetV2AllocationPool { + end: string; + start: string; + } + + export interface NetworkPrivateSubnetV2HostRoute { + destination: string; + nexthop: string; + } + export interface ProjectOrder { /** * date diff --git a/sdk/nodejs/vps/vps.ts b/sdk/nodejs/vps/vps.ts index 1beee61a..6e351543 100644 --- a/sdk/nodejs/vps/vps.ts +++ b/sdk/nodejs/vps/vps.ts @@ -84,7 +84,7 @@ export class Vps extends pulumi.CustomResource { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) */ - public readonly ovhSubsidiary!: pulumi.Output; + public readonly ovhSubsidiary!: pulumi.Output; /** * Product Plan to order */ @@ -118,7 +118,7 @@ export class Vps 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: VpsArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: VpsArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: VpsArgs | VpsState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -145,9 +145,6 @@ export class Vps extends pulumi.CustomResource { resourceInputs["zone"] = state ? state.zone : undefined; } else { const args = argsOrState as VpsArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["keymap"] = args ? args.keymap : undefined; resourceInputs["memoryLimit"] = args ? args.memoryLimit : undefined; @@ -291,7 +288,7 @@ export interface VpsArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/nodejs/vrack/vrack.ts b/sdk/nodejs/vrack/vrack.ts index 3576ded5..cf7fb8e3 100644 --- a/sdk/nodejs/vrack/vrack.ts +++ b/sdk/nodejs/vrack/vrack.ts @@ -37,13 +37,31 @@ import * as utilities from "../utilities"; * * ## Import * - * vRack can be imported using the `service_name`. + * A vRack can be imported using the `service_name`. + * + * Using the following configuration: + * + * hcl + * + * import { + * + * to = ovh_vrack.vrack + * + * id = "" + * + * } + * + * You can then run: * * bash * - * ```sh - * $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name - * ``` + * $ pulumi preview -generate-config-out=vrack.tf + * + * $ pulumi up + * + * The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + * + * See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. */ export class Vrack extends pulumi.CustomResource { /** @@ -119,7 +137,7 @@ export class Vrack 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: VrackArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: VrackArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: VrackArgs | VrackState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -136,12 +154,6 @@ export class Vrack extends pulumi.CustomResource { resourceInputs["serviceName"] = state ? state.serviceName : undefined; } else { const args = argsOrState as VrackArgs | undefined; - if ((!args || args.ovhSubsidiary === undefined) && !opts.urn) { - throw new Error("Missing required property 'ovhSubsidiary'"); - } - if ((!args || args.plan === undefined) && !opts.urn) { - throw new Error("Missing required property 'plan'"); - } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["orders"] = args ? args.orders : undefined; @@ -220,7 +232,7 @@ export interface VrackArgs { /** * OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) */ - ovhSubsidiary: pulumi.Input; + ovhSubsidiary?: pulumi.Input; /** * Ovh payment mode * @@ -230,7 +242,7 @@ export interface VrackArgs { /** * Product Plan to order */ - plan: pulumi.Input; + plan?: pulumi.Input; /** * Product Plan to order */ diff --git a/sdk/python/pulumi_ovh/__init__.py b/sdk/python/pulumi_ovh/__init__.py index b25a7bed..79417dc6 100644 --- a/sdk/python/pulumi_ovh/__init__.py +++ b/sdk/python/pulumi_ovh/__init__.py @@ -196,6 +196,14 @@ "ovh:CloudProject/networkPrivateSubnet:NetworkPrivateSubnet": "NetworkPrivateSubnet" } }, + { + "pkg": "ovh", + "mod": "CloudProject/networkPrivateSubnetV2", + "fqn": "pulumi_ovh.cloudproject", + "classes": { + "ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2": "NetworkPrivateSubnetV2" + } + }, { "pkg": "ovh", "mod": "CloudProject/project", @@ -404,6 +412,22 @@ "ovh:Dbaas/logsOutputGraylogStream:LogsOutputGraylogStream": "LogsOutputGraylogStream" } }, + { + "pkg": "ovh", + "mod": "Dbaas/logsOutputOpenSearchAlias", + "fqn": "pulumi_ovh.dbaas", + "classes": { + "ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias": "LogsOutputOpenSearchAlias" + } + }, + { + "pkg": "ovh", + "mod": "Dbaas/logsOutputOpenSearchIndex", + "fqn": "pulumi_ovh.dbaas", + "classes": { + "ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex": "LogsOutputOpenSearchIndex" + } + }, { "pkg": "ovh", "mod": "Dbaas/logsToken", diff --git a/sdk/python/pulumi_ovh/_utilities.py b/sdk/python/pulumi_ovh/_utilities.py index 19b668ef..2b46848a 100644 --- a/sdk/python/pulumi_ovh/_utilities.py +++ b/sdk/python/pulumi_ovh/_utilities.py @@ -264,7 +264,7 @@ def call_plain( output = pulumi.runtime.call(tok, props, res, typ) # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. - result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output))) + result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output))) problem = None if not known: diff --git a/sdk/python/pulumi_ovh/cloud/get_project.py b/sdk/python/pulumi_ovh/cloud/get_project.py index e4a12797..6e069fdc 100644 --- a/sdk/python/pulumi_ovh/cloud/get_project.py +++ b/sdk/python/pulumi_ovh/cloud/get_project.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -239,9 +244,6 @@ def get_project(service_name: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status'), unleash=pulumi.get(__ret__, 'unleash')) - - -@_utilities.lift_output_func(get_project) def get_project_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectResult]: """ @@ -260,4 +262,22 @@ def get_project_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Cloud/getProject:getProject', __args__, opts=opts, typ=GetProjectResult) + return __ret__.apply(lambda __response__: GetProjectResult( + access=pulumi.get(__response__, 'access'), + creation_date=pulumi.get(__response__, 'creation_date'), + description=pulumi.get(__response__, 'description'), + expiration=pulumi.get(__response__, 'expiration'), + iam=pulumi.get(__response__, 'iam'), + id=pulumi.get(__response__, 'id'), + manual_quota=pulumi.get(__response__, 'manual_quota'), + order_id=pulumi.get(__response__, 'order_id'), + plan_code=pulumi.get(__response__, 'plan_code'), + project_id=pulumi.get(__response__, 'project_id'), + project_name=pulumi.get(__response__, 'project_name'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + unleash=pulumi.get(__response__, 'unleash'))) diff --git a/sdk/python/pulumi_ovh/cloud/get_projects.py b/sdk/python/pulumi_ovh/cloud/get_projects.py index d74fc224..1ddc80aa 100644 --- a/sdk/python/pulumi_ovh/cloud/get_projects.py +++ b/sdk/python/pulumi_ovh/cloud/get_projects.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -74,9 +79,6 @@ def get_projects(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPro return AwaitableGetProjectsResult( id=pulumi.get(__ret__, 'id'), projects=pulumi.get(__ret__, 'projects')) - - -@_utilities.lift_output_func(get_projects) def get_projects_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetProjectsResult]: """ Get the details of your public cloud projects. @@ -90,4 +92,9 @@ def get_projects_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.O projects = ovh.Cloud.get_projects() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Cloud/getProjects:getProjects', __args__, opts=opts, typ=GetProjectsResult) + return __ret__.apply(lambda __response__: GetProjectsResult( + id=pulumi.get(__response__, 'id'), + projects=pulumi.get(__response__, 'projects'))) diff --git a/sdk/python/pulumi_ovh/cloud/outputs.py b/sdk/python/pulumi_ovh/cloud/outputs.py index 57da8f08..15367ad1 100644 --- a/sdk/python/pulumi_ovh/cloud/outputs.py +++ b/sdk/python/pulumi_ovh/cloud/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/cloudproject/__init__.py b/sdk/python/pulumi_ovh/cloudproject/__init__.py index a5230334..d61656ef 100644 --- a/sdk/python/pulumi_ovh/cloudproject/__init__.py +++ b/sdk/python/pulumi_ovh/cloudproject/__init__.py @@ -54,12 +54,15 @@ from .get_user_s3_policy import * from .get_users import * from .get_v_rack import * +from .get_volume import * +from .get_volumes import * from .kube import * from .kube_ip_restrictions import * from .kube_node_pool import * from .kube_oidc import * from .network_private import * from .network_private_subnet import * +from .network_private_subnet_v2 import * from .project import * from .region_load_balancer_log_subscription import * from .region_storage_presign import * diff --git a/sdk/python/pulumi_ovh/cloudproject/_inputs.py b/sdk/python/pulumi_ovh/cloudproject/_inputs.py index 70a485f7..c221e3d3 100644 --- a/sdk/python/pulumi_ovh/cloudproject/_inputs.py +++ b/sdk/python/pulumi_ovh/cloudproject/_inputs.py @@ -4,54 +4,122 @@ 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__ = [ 'AlertingFormattedMonthlyThresholdArgs', + 'AlertingFormattedMonthlyThresholdArgsDict', 'ContainerRegistryPlanArgs', + 'ContainerRegistryPlanArgsDict', 'ContainerRegistryPlanFeatureArgs', + 'ContainerRegistryPlanFeatureArgsDict', 'ContainerRegistryPlanRegistryLimitArgs', + 'ContainerRegistryPlanRegistryLimitArgsDict', 'DatabaseEndpointArgs', + 'DatabaseEndpointArgsDict', 'DatabaseIpRestrictionArgs', + 'DatabaseIpRestrictionArgsDict', 'DatabaseNodeArgs', + 'DatabaseNodeArgsDict', 'GatewayExternalInformationArgs', + 'GatewayExternalInformationArgsDict', 'GatewayExternalInformationIpArgs', + 'GatewayExternalInformationIpArgsDict', 'GatewayInterfaceArgs', + 'GatewayInterfaceArgsDict', 'KubeCustomizationArgs', + 'KubeCustomizationArgsDict', 'KubeCustomizationApiserverArgs', + 'KubeCustomizationApiserverArgsDict', 'KubeCustomizationApiserverAdmissionpluginArgs', + 'KubeCustomizationApiserverAdmissionpluginArgsDict', 'KubeCustomizationKubeProxyArgs', + 'KubeCustomizationKubeProxyArgsDict', 'KubeCustomizationKubeProxyIptablesArgs', + 'KubeCustomizationKubeProxyIptablesArgsDict', 'KubeCustomizationKubeProxyIpvsArgs', + 'KubeCustomizationKubeProxyIpvsArgsDict', 'KubeKubeconfigAttributeArgs', + 'KubeKubeconfigAttributeArgsDict', 'KubeNodePoolTemplateArgs', + 'KubeNodePoolTemplateArgsDict', 'KubeNodePoolTemplateMetadataArgs', + 'KubeNodePoolTemplateMetadataArgsDict', 'KubeNodePoolTemplateSpecArgs', + 'KubeNodePoolTemplateSpecArgsDict', 'KubePrivateNetworkConfigurationArgs', + 'KubePrivateNetworkConfigurationArgsDict', 'NetworkPrivateRegionsAttributeArgs', + 'NetworkPrivateRegionsAttributeArgsDict', 'NetworkPrivateRegionsStatusArgs', + 'NetworkPrivateRegionsStatusArgsDict', 'NetworkPrivateSubnetIpPoolArgs', + 'NetworkPrivateSubnetIpPoolArgsDict', + 'NetworkPrivateSubnetV2AllocationPoolArgs', + 'NetworkPrivateSubnetV2AllocationPoolArgsDict', + 'NetworkPrivateSubnetV2HostRouteArgs', + 'NetworkPrivateSubnetV2HostRouteArgsDict', 'ProjectOrderArgs', + 'ProjectOrderArgsDict', 'ProjectOrderDetailArgs', + 'ProjectOrderDetailArgsDict', 'ProjectPlanArgs', + 'ProjectPlanArgsDict', 'ProjectPlanConfigurationArgs', + 'ProjectPlanConfigurationArgsDict', 'ProjectPlanOptionArgs', + 'ProjectPlanOptionArgsDict', 'ProjectPlanOptionConfigurationArgs', + 'ProjectPlanOptionConfigurationArgsDict', 'UserRoleArgs', + 'UserRoleArgsDict', 'GetKubeCustomizationArgs', + 'GetKubeCustomizationArgsDict', 'GetKubeCustomizationApiserverArgs', + 'GetKubeCustomizationApiserverArgsDict', 'GetKubeCustomizationApiserverAdmissionpluginArgs', + 'GetKubeCustomizationApiserverAdmissionpluginArgsDict', 'GetKubeCustomizationKubeProxyArgs', + 'GetKubeCustomizationKubeProxyArgsDict', 'GetKubeCustomizationKubeProxyIptablesArgs', + 'GetKubeCustomizationKubeProxyIptablesArgsDict', 'GetKubeCustomizationKubeProxyIpvsArgs', + 'GetKubeCustomizationKubeProxyIpvsArgsDict', 'GetKubeNodePoolTemplateArgs', + 'GetKubeNodePoolTemplateArgsDict', 'GetKubeNodePoolTemplateMetadataArgs', + 'GetKubeNodePoolTemplateMetadataArgsDict', 'GetKubeNodePoolTemplateSpecArgs', + 'GetKubeNodePoolTemplateSpecArgsDict', ] +MYPY = False + +if not MYPY: + class AlertingFormattedMonthlyThresholdArgsDict(TypedDict): + currency_code: NotRequired[pulumi.Input[str]] + """ + Currency of the monthly threshold + """ + text: NotRequired[pulumi.Input[str]] + """ + Text representation of the monthly threshold + """ + value: NotRequired[pulumi.Input[float]] + """ + Value of the monthly threshold + """ +elif False: + AlertingFormattedMonthlyThresholdArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class AlertingFormattedMonthlyThresholdArgs: def __init__(__self__, *, @@ -107,6 +175,39 @@ def value(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "value", value) +if not MYPY: + class ContainerRegistryPlanArgsDict(TypedDict): + code: NotRequired[pulumi.Input[str]] + """ + Plan code from the catalog + """ + created_at: NotRequired[pulumi.Input[str]] + """ + Plan creation date + """ + features: NotRequired[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryPlanFeatureArgsDict']]]] + """ + Features of the plan + """ + id: NotRequired[pulumi.Input[str]] + """ + Plan ID + """ + name: NotRequired[pulumi.Input[str]] + """ + Registry name + """ + registry_limits: NotRequired[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryPlanRegistryLimitArgsDict']]]] + """ + Container registry limits + """ + updated_at: NotRequired[pulumi.Input[str]] + """ + Registry last update date + """ +elif False: + ContainerRegistryPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ContainerRegistryPlanArgs: def __init__(__self__, *, @@ -226,6 +327,15 @@ def updated_at(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "updated_at", value) +if not MYPY: + class ContainerRegistryPlanFeatureArgsDict(TypedDict): + vulnerability: NotRequired[pulumi.Input[bool]] + """ + Vulnerability scanning + """ +elif False: + ContainerRegistryPlanFeatureArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ContainerRegistryPlanFeatureArgs: def __init__(__self__, *, @@ -249,6 +359,19 @@ def vulnerability(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "vulnerability", value) +if not MYPY: + class ContainerRegistryPlanRegistryLimitArgsDict(TypedDict): + image_storage: NotRequired[pulumi.Input[int]] + """ + Docker image storage limits in bytes + """ + parallel_request: NotRequired[pulumi.Input[int]] + """ + Parallel requests on Docker image API (/v2 Docker registry API) + """ +elif False: + ContainerRegistryPlanRegistryLimitArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ContainerRegistryPlanRegistryLimitArgs: def __init__(__self__, *, @@ -288,6 +411,43 @@ def parallel_request(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "parallel_request", value) +if not MYPY: + class DatabaseEndpointArgsDict(TypedDict): + component: NotRequired[pulumi.Input[str]] + """ + Type of component the URI relates to. + """ + domain: NotRequired[pulumi.Input[str]] + """ + Domain of the cluster. + """ + path: NotRequired[pulumi.Input[str]] + """ + Path of the endpoint. + """ + port: NotRequired[pulumi.Input[int]] + """ + Connection port for the endpoint. + """ + scheme: NotRequired[pulumi.Input[str]] + """ + Scheme used to generate the URI. + """ + ssl: NotRequired[pulumi.Input[bool]] + """ + Defines whether the endpoint uses SSL. + """ + ssl_mode: NotRequired[pulumi.Input[str]] + """ + SSL mode used to connect to the service if the SSL is enabled. + """ + uri: NotRequired[pulumi.Input[str]] + """ + URI of the endpoint. + """ +elif False: + DatabaseEndpointArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class DatabaseEndpointArgs: def __init__(__self__, *, @@ -423,6 +583,23 @@ def uri(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "uri", value) +if not MYPY: + class DatabaseIpRestrictionArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + Description of the IP restriction + """ + ip: NotRequired[pulumi.Input[str]] + """ + Authorized IP + """ + status: NotRequired[pulumi.Input[str]] + """ + Current status of the cluster. + """ +elif False: + DatabaseIpRestrictionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class DatabaseIpRestrictionArgs: def __init__(__self__, *, @@ -478,6 +655,24 @@ def status(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "status", value) +if not MYPY: + class DatabaseNodeArgsDict(TypedDict): + region: pulumi.Input[str] + """ + Public cloud region in which the node should be deployed. + Ex: "GRA'. + """ + network_id: NotRequired[pulumi.Input[str]] + """ + Private network id in which the node should be deployed. It's the regional openstackId of the private network + """ + subnet_id: NotRequired[pulumi.Input[str]] + """ + Private subnet ID in which the node is. + """ +elif False: + DatabaseNodeArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class DatabaseNodeArgs: def __init__(__self__, *, @@ -534,6 +729,19 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subnet_id", value) +if not MYPY: + class GatewayExternalInformationArgsDict(TypedDict): + ips: NotRequired[pulumi.Input[Sequence[pulumi.Input['GatewayExternalInformationIpArgsDict']]]] + """ + List of external ips of the gateway. + """ + network_id: NotRequired[pulumi.Input[str]] + """ + ID of the private network. + """ +elif False: + GatewayExternalInformationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GatewayExternalInformationArgs: def __init__(__self__, *, @@ -573,6 +781,19 @@ def network_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "network_id", value) +if not MYPY: + class GatewayExternalInformationIpArgsDict(TypedDict): + ip: NotRequired[pulumi.Input[str]] + """ + IP of the interface. + """ + subnet_id: NotRequired[pulumi.Input[str]] + """ + ID of the subnet. + """ +elif False: + GatewayExternalInformationIpArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GatewayExternalInformationIpArgs: def __init__(__self__, *, @@ -612,6 +833,27 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subnet_id", value) +if not MYPY: + class GatewayInterfaceArgsDict(TypedDict): + id: NotRequired[pulumi.Input[str]] + """ + ID of the interface. + """ + ip: NotRequired[pulumi.Input[str]] + """ + IP of the interface. + """ + network_id: NotRequired[pulumi.Input[str]] + """ + ID of the private network. + """ + subnet_id: NotRequired[pulumi.Input[str]] + """ + ID of the subnet. + """ +elif False: + GatewayInterfaceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GatewayInterfaceArgs: def __init__(__self__, *, @@ -683,6 +925,15 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subnet_id", value) +if not MYPY: + class KubeCustomizationArgsDict(TypedDict): + apiservers: NotRequired[pulumi.Input[Sequence[pulumi.Input['KubeCustomizationApiserverArgsDict']]]] + """ + Kubernetes API server customization + """ +elif False: + KubeCustomizationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationArgs: def __init__(__self__, *, @@ -710,6 +961,15 @@ def apiservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KubeCus pulumi.set(self, "apiservers", value) +if not MYPY: + class KubeCustomizationApiserverArgsDict(TypedDict): + admissionplugins: NotRequired[pulumi.Input[Sequence[pulumi.Input['KubeCustomizationApiserverAdmissionpluginArgsDict']]]] + """ + Kubernetes API server admission plugins customization + """ +elif False: + KubeCustomizationApiserverArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationApiserverArgs: def __init__(__self__, *, @@ -733,6 +993,19 @@ def admissionplugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['K pulumi.set(self, "admissionplugins", value) +if not MYPY: + class KubeCustomizationApiserverAdmissionpluginArgsDict(TypedDict): + disableds: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Array of admission plugins disabled, default is [] and only AlwaysPulImages can be disabled at this time. + """ + enableds: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Array of admission plugins enabled, default is ["NodeRestriction","AlwaysPulImages"] and only these admission plugins can be enabled at this time. + """ +elif False: + KubeCustomizationApiserverAdmissionpluginArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationApiserverAdmissionpluginArgs: def __init__(__self__, *, @@ -772,6 +1045,19 @@ def enableds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "enableds", value) +if not MYPY: + class KubeCustomizationKubeProxyArgsDict(TypedDict): + iptables: NotRequired[pulumi.Input['KubeCustomizationKubeProxyIptablesArgsDict']] + """ + Kubernetes cluster kube-proxy customization of iptables specific config (durations format is RFC3339 duration, e.g. `PT60S`) + """ + ipvs: NotRequired[pulumi.Input['KubeCustomizationKubeProxyIpvsArgsDict']] + """ + Kubernetes cluster kube-proxy customization of IPVS specific config (durations format is [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration, e.g. `PT60S`) + """ +elif False: + KubeCustomizationKubeProxyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationKubeProxyArgs: def __init__(__self__, *, @@ -811,6 +1097,19 @@ def ipvs(self, value: Optional[pulumi.Input['KubeCustomizationKubeProxyIpvsArgs' pulumi.set(self, "ipvs", value) +if not MYPY: + class KubeCustomizationKubeProxyIptablesArgsDict(TypedDict): + min_sync_period: NotRequired[pulumi.Input[str]] + """ + Period that iptables rules are refreshed, in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration format (e.g. `PT60S`). Must be greater than 0. + """ + sync_period: NotRequired[pulumi.Input[str]] + """ + Minimum period that iptables rules are refreshed, in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration format (e.g. `PT60S`). + """ +elif False: + KubeCustomizationKubeProxyIptablesArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationKubeProxyIptablesArgs: def __init__(__self__, *, @@ -850,6 +1149,35 @@ def sync_period(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "sync_period", value) +if not MYPY: + class KubeCustomizationKubeProxyIpvsArgsDict(TypedDict): + min_sync_period: NotRequired[pulumi.Input[str]] + """ + Minimum period that IPVS rules are refreshed in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration (e.g. `PT60S`). + """ + scheduler: NotRequired[pulumi.Input[str]] + """ + IPVS scheduler. + """ + sync_period: NotRequired[pulumi.Input[str]] + """ + Minimum period that IPVS rules are refreshed, in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration format (e.g. `PT60S`). + """ + tcp_fin_timeout: NotRequired[pulumi.Input[str]] + """ + Timeout value used for IPVS TCP sessions after receiving a FIN in RFC3339 duration (e.g. `PT60S`). The default value is `PT0S`, which preserves the current timeout value on the system. + """ + tcp_timeout: NotRequired[pulumi.Input[str]] + """ + Timeout value used for idle IPVS TCP sessions in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration (e.g. `PT60S`). The default value is `PT0S`, which preserves the current timeout value on the system. + """ + udp_timeout: NotRequired[pulumi.Input[str]] + """ + timeout value used for IPVS UDP packets in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration (e.g. `PT60S`). The default value is `PT0S`, which preserves the current timeout value on the system. + """ +elif False: + KubeCustomizationKubeProxyIpvsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeCustomizationKubeProxyIpvsArgs: def __init__(__self__, *, @@ -953,6 +1281,27 @@ def udp_timeout(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "udp_timeout", value) +if not MYPY: + class KubeKubeconfigAttributeArgsDict(TypedDict): + client_certificate: NotRequired[pulumi.Input[str]] + """ + The kubernetes API server client certificate. + """ + client_key: NotRequired[pulumi.Input[str]] + """ + The kubernetes API server client key. + """ + cluster_ca_certificate: NotRequired[pulumi.Input[str]] + """ + The kubernetes API server CA certificate. + """ + host: NotRequired[pulumi.Input[str]] + """ + The kubernetes API server URL. + """ +elif False: + KubeKubeconfigAttributeArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeKubeconfigAttributeArgs: def __init__(__self__, *, @@ -1024,6 +1373,19 @@ def host(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "host", value) +if not MYPY: + class KubeNodePoolTemplateArgsDict(TypedDict): + metadata: pulumi.Input['KubeNodePoolTemplateMetadataArgsDict'] + """ + metadata + """ + spec: pulumi.Input['KubeNodePoolTemplateSpecArgsDict'] + """ + spec + """ +elif False: + KubeNodePoolTemplateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeNodePoolTemplateArgs: def __init__(__self__, *, @@ -1061,6 +1423,23 @@ def spec(self, value: pulumi.Input['KubeNodePoolTemplateSpecArgs']): pulumi.set(self, "spec", value) +if not MYPY: + class KubeNodePoolTemplateMetadataArgsDict(TypedDict): + annotations: pulumi.Input[Mapping[str, pulumi.Input[str]]] + """ + annotations + """ + finalizers: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + finalizers + """ + labels: pulumi.Input[Mapping[str, pulumi.Input[str]]] + """ + labels + """ +elif False: + KubeNodePoolTemplateMetadataArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeNodePoolTemplateMetadataArgs: def __init__(__self__, *, @@ -1113,6 +1492,19 @@ def labels(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): pulumi.set(self, "labels", value) +if not MYPY: + class KubeNodePoolTemplateSpecArgsDict(TypedDict): + taints: pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] + """ + taints + """ + unschedulable: pulumi.Input[bool] + """ + unschedulable + """ +elif False: + KubeNodePoolTemplateSpecArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubeNodePoolTemplateSpecArgs: def __init__(__self__, *, @@ -1150,6 +1542,24 @@ def unschedulable(self, value: pulumi.Input[bool]): pulumi.set(self, "unschedulable", value) +if not MYPY: + class KubePrivateNetworkConfigurationArgsDict(TypedDict): + default_vrack_gateway: pulumi.Input[str] + """ + If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled. + """ + private_network_routing_as_default: pulumi.Input[bool] + """ + Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false. + + In order to use the gateway IP advertised by the private network subnet DHCP, the following configuration shall be used. + ```python + import pulumi + ``` + """ +elif False: + KubePrivateNetworkConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class KubePrivateNetworkConfigurationArgs: def __init__(__self__, *, @@ -1197,6 +1607,17 @@ def private_network_routing_as_default(self, value: pulumi.Input[bool]): pulumi.set(self, "private_network_routing_as_default", value) +if not MYPY: + class NetworkPrivateRegionsAttributeArgsDict(TypedDict): + status: pulumi.Input[str] + """ + the status of the network. should be normally set to 'ACTIVE'. + """ + openstackid: NotRequired[pulumi.Input[str]] + region: NotRequired[pulumi.Input[str]] +elif False: + NetworkPrivateRegionsAttributeArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class NetworkPrivateRegionsAttributeArgs: def __init__(__self__, *, @@ -1243,6 +1664,16 @@ def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) +if not MYPY: + class NetworkPrivateRegionsStatusArgsDict(TypedDict): + status: pulumi.Input[str] + """ + the status of the network. should be normally set to 'ACTIVE'. + """ + region: NotRequired[pulumi.Input[str]] +elif False: + NetworkPrivateRegionsStatusArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class NetworkPrivateRegionsStatusArgs: def __init__(__self__, *, @@ -1277,6 +1708,36 @@ def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) +if not MYPY: + class NetworkPrivateSubnetIpPoolArgsDict(TypedDict): + dhcp: NotRequired[pulumi.Input[bool]] + """ + Enable DHCP. + Changing this forces a new resource to be created. Defaults to false. + """ + end: NotRequired[pulumi.Input[str]] + """ + Last ip for this region. + Changing this value recreates the subnet. + """ + network: NotRequired[pulumi.Input[str]] + """ + Global network in CIDR format. + Changing this value recreates the subnet + """ + region: NotRequired[pulumi.Input[str]] + """ + The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + """ + start: NotRequired[pulumi.Input[str]] + """ + First ip for this region. + Changing this value recreates the subnet. + """ +elif False: + NetworkPrivateSubnetIpPoolArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class NetworkPrivateSubnetIpPoolArgs: def __init__(__self__, *, @@ -1288,7 +1749,6 @@ def __init__(__self__, *, """ :param pulumi.Input[bool] dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param pulumi.Input[str] end: Last ip for this region. Changing this value recreates the subnet. :param pulumi.Input[str] network: Global network in CIDR format. @@ -1315,7 +1775,6 @@ def dhcp(self) -> Optional[pulumi.Input[bool]]: """ Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ """ return pulumi.get(self, "dhcp") @@ -1376,6 +1835,95 @@ def start(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "start", value) +if not MYPY: + class NetworkPrivateSubnetV2AllocationPoolArgsDict(TypedDict): + end: pulumi.Input[str] + start: pulumi.Input[str] +elif False: + NetworkPrivateSubnetV2AllocationPoolArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkPrivateSubnetV2AllocationPoolArgs: + def __init__(__self__, *, + end: pulumi.Input[str], + start: pulumi.Input[str]): + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> pulumi.Input[str]: + return pulumi.get(self, "end") + + @end.setter + def end(self, value: pulumi.Input[str]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter + def start(self) -> pulumi.Input[str]: + return pulumi.get(self, "start") + + @start.setter + def start(self, value: pulumi.Input[str]): + pulumi.set(self, "start", value) + + +if not MYPY: + class NetworkPrivateSubnetV2HostRouteArgsDict(TypedDict): + destination: pulumi.Input[str] + nexthop: pulumi.Input[str] +elif False: + NetworkPrivateSubnetV2HostRouteArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkPrivateSubnetV2HostRouteArgs: + def __init__(__self__, *, + destination: pulumi.Input[str], + nexthop: pulumi.Input[str]): + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "nexthop", nexthop) + + @property + @pulumi.getter + def destination(self) -> pulumi.Input[str]: + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: pulumi.Input[str]): + pulumi.set(self, "destination", value) + + @property + @pulumi.getter + def nexthop(self) -> pulumi.Input[str]: + return pulumi.get(self, "nexthop") + + @nexthop.setter + def nexthop(self, value: pulumi.Input[str]): + pulumi.set(self, "nexthop", value) + + +if not MYPY: + class ProjectOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['ProjectOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id, the same as the `id` + """ +elif False: + ProjectOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectOrderArgs: def __init__(__self__, *, @@ -1447,6 +1995,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class ProjectOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + A description associated with the user. + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + ProjectOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectOrderDetailArgs: def __init__(__self__, *, @@ -1518,6 +2087,31 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class ProjectPlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code. This value must be adapted depending on your `OVH_ENDPOINT` value. It's `project.2018` for `ovh-{eu,ca}` and `project` when using `ovh-us`. + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ProjectPlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + ProjectPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectPlanArgs: def __init__(__self__, *, @@ -1602,6 +2196,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Pro pulumi.set(self, "configurations", value) +if not MYPY: + class ProjectPlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + ProjectPlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectPlanConfigurationArgs: def __init__(__self__, *, @@ -1639,6 +2246,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class ProjectPlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ProjectPlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + ProjectPlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectPlanOptionArgs: def __init__(__self__, *, @@ -1723,6 +2355,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Pro pulumi.set(self, "configurations", value) +if not MYPY: + class ProjectPlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + ProjectPlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ProjectPlanOptionConfigurationArgs: def __init__(__self__, *, @@ -1760,6 +2405,27 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class UserRoleArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + A description associated with the user. + """ + id: NotRequired[pulumi.Input[str]] + """ + id of the role + """ + name: NotRequired[pulumi.Input[str]] + """ + name of the role + """ + permissions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + list of permissions associated with the role + """ +elif False: + UserRoleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class UserRoleArgs: def __init__(__self__, *, @@ -1831,6 +2497,15 @@ def permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] pulumi.set(self, "permissions", value) +if not MYPY: + class GetKubeCustomizationArgsDict(TypedDict): + apiservers: Sequence['GetKubeCustomizationApiserverArgsDict'] + """ + Kubernetes API server customization + """ +elif False: + GetKubeCustomizationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationArgs: def __init__(__self__, *, @@ -1857,6 +2532,15 @@ def apiservers(self, value: Sequence['GetKubeCustomizationApiserverArgs']): pulumi.set(self, "apiservers", value) +if not MYPY: + class GetKubeCustomizationApiserverArgsDict(TypedDict): + admissionplugins: Sequence['GetKubeCustomizationApiserverAdmissionpluginArgsDict'] + """ + Kubernetes API server admission plugins customization + """ +elif False: + GetKubeCustomizationApiserverArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationApiserverArgs: def __init__(__self__, *, @@ -1879,6 +2563,19 @@ def admissionplugins(self, value: Sequence['GetKubeCustomizationApiserverAdmissi pulumi.set(self, "admissionplugins", value) +if not MYPY: + class GetKubeCustomizationApiserverAdmissionpluginArgsDict(TypedDict): + disableds: Sequence[str] + """ + Array of admission plugins disabled, default is [] and only AlwaysPulImages can be disabled at this time. + """ + enableds: Sequence[str] + """ + Array of admission plugins enabled, default is ["NodeRestriction","AlwaysPulImages"] and only these admission plugins can be enabled at this time. + """ +elif False: + GetKubeCustomizationApiserverAdmissionpluginArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationApiserverAdmissionpluginArgs: def __init__(__self__, *, @@ -1916,6 +2613,19 @@ def enableds(self, value: Sequence[str]): pulumi.set(self, "enableds", value) +if not MYPY: + class GetKubeCustomizationKubeProxyArgsDict(TypedDict): + iptables: NotRequired['GetKubeCustomizationKubeProxyIptablesArgsDict'] + """ + Kubernetes cluster kube-proxy customization of iptables specific config. + """ + ipvs: NotRequired['GetKubeCustomizationKubeProxyIpvsArgsDict'] + """ + Kubernetes cluster kube-proxy customization of IPVS specific config (durations format is [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration. + """ +elif False: + GetKubeCustomizationKubeProxyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationKubeProxyArgs: def __init__(__self__, *, @@ -1955,6 +2665,19 @@ def ipvs(self, value: Optional['GetKubeCustomizationKubeProxyIpvsArgs']): pulumi.set(self, "ipvs", value) +if not MYPY: + class GetKubeCustomizationKubeProxyIptablesArgsDict(TypedDict): + min_sync_period: NotRequired[str] + """ + Minimum period that IPVS rules are refreshed in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration. + """ + sync_period: NotRequired[str] + """ + Minimum period that IPVS rules are refreshed, in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration format. + """ +elif False: + GetKubeCustomizationKubeProxyIptablesArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationKubeProxyIptablesArgs: def __init__(__self__, *, @@ -1994,6 +2717,35 @@ def sync_period(self, value: Optional[str]): pulumi.set(self, "sync_period", value) +if not MYPY: + class GetKubeCustomizationKubeProxyIpvsArgsDict(TypedDict): + min_sync_period: NotRequired[str] + """ + Minimum period that IPVS rules are refreshed in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration. + """ + scheduler: NotRequired[str] + """ + IPVS scheduler. + """ + sync_period: NotRequired[str] + """ + Minimum period that IPVS rules are refreshed, in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration format. + """ + tcp_fin_timeout: NotRequired[str] + """ + Timeout value used for IPVS TCP sessions after receiving a FIN in RFC3339 duration. + """ + tcp_timeout: NotRequired[str] + """ + Timeout value used for idle IPVS TCP sessions in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration. + """ + udp_timeout: NotRequired[str] + """ + timeout value used for IPVS UDP packets in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) duration. + """ +elif False: + GetKubeCustomizationKubeProxyIpvsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeCustomizationKubeProxyIpvsArgs: def __init__(__self__, *, @@ -2097,6 +2849,19 @@ def udp_timeout(self, value: Optional[str]): pulumi.set(self, "udp_timeout", value) +if not MYPY: + class GetKubeNodePoolTemplateArgsDict(TypedDict): + metadata: NotRequired['GetKubeNodePoolTemplateMetadataArgsDict'] + """ + metadata + """ + spec: NotRequired['GetKubeNodePoolTemplateSpecArgsDict'] + """ + spec + """ +elif False: + GetKubeNodePoolTemplateArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeNodePoolTemplateArgs: def __init__(__self__, *, @@ -2136,6 +2901,23 @@ def spec(self, value: Optional['GetKubeNodePoolTemplateSpecArgs']): pulumi.set(self, "spec", value) +if not MYPY: + class GetKubeNodePoolTemplateMetadataArgsDict(TypedDict): + annotations: NotRequired[Mapping[str, str]] + """ + annotations + """ + finalizers: NotRequired[Sequence[str]] + """ + finalizers + """ + labels: NotRequired[Mapping[str, str]] + """ + labels + """ +elif False: + GetKubeNodePoolTemplateMetadataArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeNodePoolTemplateMetadataArgs: def __init__(__self__, *, @@ -2191,6 +2973,19 @@ def labels(self, value: Optional[Mapping[str, str]]): pulumi.set(self, "labels", value) +if not MYPY: + class GetKubeNodePoolTemplateSpecArgsDict(TypedDict): + taints: NotRequired[Sequence[Mapping[str, str]]] + """ + taints + """ + unschedulable: NotRequired[bool] + """ + unschedulable + """ +elif False: + GetKubeNodePoolTemplateSpecArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class GetKubeNodePoolTemplateSpecArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/cloudproject/alerting.py b/sdk/python/pulumi_ovh/cloudproject/alerting.py index c08cc5ec..7bc6c18d 100644 --- a/sdk/python/pulumi_ovh/cloudproject/alerting.py +++ b/sdk/python/pulumi_ovh/cloudproject/alerting.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/container_registry.py b/sdk/python/pulumi_ovh/cloudproject/container_registry.py index 8c45f07d..035b3fe7 100644 --- a/sdk/python/pulumi_ovh/cloudproject/container_registry.py +++ b/sdk/python/pulumi_ovh/cloudproject/container_registry.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_management.py b/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_management.py index 761b94df..67b48a8a 100644 --- a/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_management.py +++ b/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_management.py @@ -4,9 +4,14 @@ 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__ = ['ContainerRegistryIPRestrictionsManagementArgs', 'ContainerRegistryIPRestrictionsManagement'] diff --git a/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_registry.py b/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_registry.py index bb839dc1..72f45aa9 100644 --- a/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_registry.py +++ b/sdk/python/pulumi_ovh/cloudproject/container_registry_ip_restrictions_registry.py @@ -4,9 +4,14 @@ 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__ = ['ContainerRegistryIPRestrictionsRegistryArgs', 'ContainerRegistryIPRestrictionsRegistry'] diff --git a/sdk/python/pulumi_ovh/cloudproject/container_registry_oidc.py b/sdk/python/pulumi_ovh/cloudproject/container_registry_oidc.py index df0b80cc..af6b1d35 100644 --- a/sdk/python/pulumi_ovh/cloudproject/container_registry_oidc.py +++ b/sdk/python/pulumi_ovh/cloudproject/container_registry_oidc.py @@ -4,9 +4,14 @@ 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__ = ['ContainerRegistryOIDCArgs', 'ContainerRegistryOIDC'] diff --git a/sdk/python/pulumi_ovh/cloudproject/container_registry_user.py b/sdk/python/pulumi_ovh/cloudproject/container_registry_user.py index cc871f51..ea7c4665 100644 --- a/sdk/python/pulumi_ovh/cloudproject/container_registry_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/container_registry_user.py @@ -4,9 +4,14 @@ 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__ = ['ContainerRegistryUserArgs', 'ContainerRegistryUser'] diff --git a/sdk/python/pulumi_ovh/cloudproject/database.py b/sdk/python/pulumi_ovh/cloudproject/database.py index 11947961..bc1522d7 100644 --- a/sdk/python/pulumi_ovh/cloudproject/database.py +++ b/sdk/python/pulumi_ovh/cloudproject/database.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -30,6 +35,7 @@ def __init__(__self__, *, ip_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input['DatabaseIpRestrictionArgs']]]] = None, kafka_rest_api: Optional[pulumi.Input[bool]] = None, kafka_schema_registry: Optional[pulumi.Input[bool]] = None, + maintenance_time: Optional[pulumi.Input[str]] = None, opensearch_acls_enabled: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a Database resource. @@ -50,12 +56,13 @@ def __init__(__self__, *, :param pulumi.Input[str] version: The version of the engine in which the service should be deployed :param pulumi.Input[Mapping[str, pulumi.Input[str]]] advanced_configuration: Advanced configuration key / value. :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_regions: List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field - :param pulumi.Input[str] backup_time: Time on which backups start every day. + :param pulumi.Input[str] backup_time: Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). :param pulumi.Input[str] description: Small description of the database service. :param pulumi.Input[int] disk_size: The disk size (in GB) of the database service. :param pulumi.Input[Sequence[pulumi.Input['DatabaseIpRestrictionArgs']]] ip_restrictions: IP Blocks authorized to access to the cluster. :param pulumi.Input[bool] kafka_rest_api: Defines whether the REST API is enabled on a kafka cluster :param pulumi.Input[bool] kafka_schema_registry: Defines whether the schema registry is enabled on a Kafka cluster + :param pulumi.Input[str] maintenance_time: Time on which maintenances can start every day. :param pulumi.Input[bool] opensearch_acls_enabled: Defines whether the ACLs are enabled on an OpenSearch cluster """ pulumi.set(__self__, "engine", engine) @@ -80,6 +87,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kafka_rest_api", kafka_rest_api) if kafka_schema_registry is not None: pulumi.set(__self__, "kafka_schema_registry", kafka_schema_registry) + if maintenance_time is not None: + pulumi.set(__self__, "maintenance_time", maintenance_time) if opensearch_acls_enabled is not None: pulumi.set(__self__, "opensearch_acls_enabled", opensearch_acls_enabled) @@ -192,7 +201,7 @@ def backup_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] @pulumi.getter(name="backupTime") def backup_time(self) -> Optional[pulumi.Input[str]]: """ - Time on which backups start every day. + Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). """ return pulumi.get(self, "backup_time") @@ -260,6 +269,18 @@ def kafka_schema_registry(self) -> Optional[pulumi.Input[bool]]: def kafka_schema_registry(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "kafka_schema_registry", value) + @property + @pulumi.getter(name="maintenanceTime") + def maintenance_time(self) -> Optional[pulumi.Input[str]]: + """ + Time on which maintenances can start every day. + """ + return pulumi.get(self, "maintenance_time") + + @maintenance_time.setter + def maintenance_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_time", value) + @property @pulumi.getter(name="opensearchAclsEnabled") def opensearch_acls_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -301,7 +322,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Database resources. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] advanced_configuration: Advanced configuration key / value. :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_regions: List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field - :param pulumi.Input[str] backup_time: Time on which backups start every day. + :param pulumi.Input[str] backup_time: Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). :param pulumi.Input[str] created_at: Date of the creation of the cluster. :param pulumi.Input[str] description: Small description of the database service. :param pulumi.Input[int] disk_size: The disk size (in GB) of the database service. @@ -401,7 +422,7 @@ def backup_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] @pulumi.getter(name="backupTime") def backup_time(self) -> Optional[pulumi.Input[str]]: """ - Time on which backups start every day. + Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). """ return pulumi.get(self, "backup_time") @@ -650,6 +671,7 @@ def __init__(__self__, ip_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseIpRestrictionArgs', 'DatabaseIpRestrictionArgsDict']]]]] = None, kafka_rest_api: Optional[pulumi.Input[bool]] = None, kafka_schema_registry: Optional[pulumi.Input[bool]] = None, + maintenance_time: Optional[pulumi.Input[str]] = None, nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseNodeArgs', 'DatabaseNodeArgsDict']]]]] = None, opensearch_acls_enabled: Optional[pulumi.Input[bool]] = None, plan: Optional[pulumi.Input[str]] = None, @@ -687,7 +709,8 @@ def __init__(__self__, service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", description="my-first-kafka", engine="kafka", - version="3.4", + version="3.8", + flavor="db1-4", plan="business", kafka_rest_api=True, kafka_schema_registry=True, @@ -701,8 +724,7 @@ def __init__(__self__, { "region": "DE", }, - ], - flavor="db1-4") + ]) m3db = ovh.cloud_project.Database("m3db", service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", description="my-first-m3db", @@ -859,7 +881,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] advanced_configuration: Advanced configuration key / value. :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_regions: List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field - :param pulumi.Input[str] backup_time: Time on which backups start every day. + :param pulumi.Input[str] backup_time: Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). :param pulumi.Input[str] description: Small description of the database service. :param pulumi.Input[int] disk_size: The disk size (in GB) of the database service. :param pulumi.Input[str] engine: The database engine you want to deploy. To get a full list of available engine visit. @@ -870,6 +892,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseIpRestrictionArgs', 'DatabaseIpRestrictionArgsDict']]]] ip_restrictions: IP Blocks authorized to access to the cluster. :param pulumi.Input[bool] kafka_rest_api: Defines whether the REST API is enabled on a kafka cluster :param pulumi.Input[bool] kafka_schema_registry: Defines whether the schema registry is enabled on a Kafka cluster + :param pulumi.Input[str] maintenance_time: Time on which maintenances can start every day. :param pulumi.Input[Sequence[pulumi.Input[Union['DatabaseNodeArgs', 'DatabaseNodeArgsDict']]]] nodes: List of nodes object. Multi region cluster are not yet available, all node should be identical. :param pulumi.Input[bool] opensearch_acls_enabled: Defines whether the ACLs are enabled on an OpenSearch cluster @@ -919,7 +942,8 @@ def __init__(__self__, service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", description="my-first-kafka", engine="kafka", - version="3.4", + version="3.8", + flavor="db1-4", plan="business", kafka_rest_api=True, kafka_schema_registry=True, @@ -933,8 +957,7 @@ def __init__(__self__, { "region": "DE", }, - ], - flavor="db1-4") + ]) m3db = ovh.cloud_project.Database("m3db", service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", description="my-first-m3db", @@ -1112,6 +1135,7 @@ def _internal_init(__self__, ip_restrictions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseIpRestrictionArgs', 'DatabaseIpRestrictionArgsDict']]]]] = None, kafka_rest_api: Optional[pulumi.Input[bool]] = None, kafka_schema_registry: Optional[pulumi.Input[bool]] = None, + maintenance_time: Optional[pulumi.Input[str]] = None, nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DatabaseNodeArgs', 'DatabaseNodeArgsDict']]]]] = None, opensearch_acls_enabled: Optional[pulumi.Input[bool]] = None, plan: Optional[pulumi.Input[str]] = None, @@ -1140,6 +1164,7 @@ def _internal_init(__self__, __props__.__dict__["ip_restrictions"] = ip_restrictions __props__.__dict__["kafka_rest_api"] = kafka_rest_api __props__.__dict__["kafka_schema_registry"] = kafka_schema_registry + __props__.__dict__["maintenance_time"] = maintenance_time if nodes is None and not opts.urn: raise TypeError("Missing required property 'nodes'") __props__.__dict__["nodes"] = nodes @@ -1156,7 +1181,6 @@ def _internal_init(__self__, __props__.__dict__["created_at"] = None __props__.__dict__["disk_type"] = None __props__.__dict__["endpoints"] = None - __props__.__dict__["maintenance_time"] = None __props__.__dict__["network_type"] = None __props__.__dict__["status"] = None super(Database, __self__).__init__( @@ -1199,7 +1223,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] advanced_configuration: Advanced configuration key / value. :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_regions: List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field - :param pulumi.Input[str] backup_time: Time on which backups start every day. + :param pulumi.Input[str] backup_time: Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). :param pulumi.Input[str] created_at: Date of the creation of the cluster. :param pulumi.Input[str] description: Small description of the database service. :param pulumi.Input[int] disk_size: The disk size (in GB) of the database service. @@ -1275,7 +1299,7 @@ def backup_regions(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="backupTime") def backup_time(self) -> pulumi.Output[str]: """ - Time on which backups start every day. + Time on which backups start every day (this parameter is not usable on the following engines: "m3db", "grafana", "kafka", "kafkaconnect", "kafkamirrormaker", "opensearch", "m3aggregator"). """ return pulumi.get(self, "backup_time") diff --git a/sdk/python/pulumi_ovh/cloudproject/failover_ip_attach.py b/sdk/python/pulumi_ovh/cloudproject/failover_ip_attach.py index 4b411469..56a3c27d 100644 --- a/sdk/python/pulumi_ovh/cloudproject/failover_ip_attach.py +++ b/sdk/python/pulumi_ovh/cloudproject/failover_ip_attach.py @@ -4,9 +4,14 @@ 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__ = ['FailoverIpAttachArgs', 'FailoverIpAttach'] diff --git a/sdk/python/pulumi_ovh/cloudproject/gateway.py b/sdk/python/pulumi_ovh/cloudproject/gateway.py index 6f4ba55a..b4ec88dc 100644 --- a/sdk/python/pulumi_ovh/cloudproject/gateway.py +++ b/sdk/python/pulumi_ovh/cloudproject/gateway.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/gateway_interface.py b/sdk/python/pulumi_ovh/cloudproject/gateway_interface.py index f513d7ed..7f20102e 100644 --- a/sdk/python/pulumi_ovh/cloudproject/gateway_interface.py +++ b/sdk/python/pulumi_ovh/cloudproject/gateway_interface.py @@ -4,9 +4,14 @@ 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__ = ['GatewayInterfaceInitArgs', 'GatewayInterface'] diff --git a/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_filter.py b/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_filter.py index 2f335298..65f35776 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_filter.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_filter.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -186,9 +191,6 @@ def get_capabilities_container_filter(plan_name: Optional[str] = None, registry_limits=pulumi.get(__ret__, 'registry_limits'), service_name=pulumi.get(__ret__, 'service_name'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_capabilities_container_filter) def get_capabilities_container_filter_output(plan_name: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -213,4 +215,20 @@ def get_capabilities_container_filter_output(plan_name: Optional[pulumi.Input[st :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['planName'] = plan_name + __args__['region'] = region + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getCapabilitiesContainerFilter:getCapabilitiesContainerFilter', __args__, opts=opts, typ=GetCapabilitiesContainerFilterResult) + return __ret__.apply(lambda __response__: GetCapabilitiesContainerFilterResult( + code=pulumi.get(__response__, 'code'), + created_at=pulumi.get(__response__, 'created_at'), + features=pulumi.get(__response__, 'features'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + plan_name=pulumi.get(__response__, 'plan_name'), + region=pulumi.get(__response__, 'region'), + registry_limits=pulumi.get(__response__, 'registry_limits'), + service_name=pulumi.get(__response__, 'service_name'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_registry.py b/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_registry.py index 8046c04b..e286c6d3 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_registry.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_capabilities_container_registry.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -93,9 +98,6 @@ def get_capabilities_container_registry(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_capabilities_container_registry) def get_capabilities_container_registry_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapabilitiesContainerRegistryResult]: """ @@ -114,4 +116,11 @@ def get_capabilities_container_registry_output(service_name: Optional[pulumi.Inp :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getCapabilitiesContainerRegistry:getCapabilitiesContainerRegistry', __args__, opts=opts, typ=GetCapabilitiesContainerRegistryResult) + return __ret__.apply(lambda __response__: GetCapabilitiesContainerRegistryResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registries.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registries.py index 59ed10e1..d9818826 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registries.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registries.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -93,9 +98,6 @@ def get_container_registries(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_container_registries) def get_container_registries_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRegistriesResult]: """ @@ -114,4 +116,11 @@ def get_container_registries_output(service_name: Optional[pulumi.Input[str]] = :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistries:getContainerRegistries', __args__, opts=opts, typ=GetContainerRegistriesResult) + return __ret__.apply(lambda __response__: GetContainerRegistriesResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registry.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registry.py index e26da19e..137d1ba3 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registry.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registry.py @@ -4,9 +4,14 @@ 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__ = [ @@ -210,9 +215,6 @@ def get_container_registry(registry_id: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at'), url=pulumi.get(__ret__, 'url'), version=pulumi.get(__ret__, 'version')) - - -@_utilities.lift_output_func(get_container_registry) def get_container_registry_output(registry_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRegistryResult]: @@ -234,4 +236,21 @@ def get_container_registry_output(registry_id: Optional[pulumi.Input[str]] = Non :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['registryId'] = registry_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistry:getContainerRegistry', __args__, opts=opts, typ=GetContainerRegistryResult) + return __ret__.apply(lambda __response__: GetContainerRegistryResult( + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + registry_id=pulumi.get(__response__, 'registry_id'), + service_name=pulumi.get(__response__, 'service_name'), + size=pulumi.get(__response__, 'size'), + status=pulumi.get(__response__, 'status'), + updated_at=pulumi.get(__response__, 'updated_at'), + url=pulumi.get(__response__, 'url'), + version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_management.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_management.py index e6fad674..10dc5cdb 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_management.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_management.py @@ -4,9 +4,14 @@ 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__ = [ @@ -101,9 +106,6 @@ def get_container_registry_ip_restrictions_management(registry_id: Optional[str] ip_restrictions=pulumi.get(__ret__, 'ip_restrictions'), registry_id=pulumi.get(__ret__, 'registry_id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_container_registry_ip_restrictions_management) def get_container_registry_ip_restrictions_management_output(registry_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRegistryIPRestrictionsManagementResult]: @@ -114,4 +116,13 @@ def get_container_registry_ip_restrictions_management_output(registry_id: Option :param str registry_id: The id of the Managed Private Registry. :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['registryId'] = registry_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistryIPRestrictionsManagement:getContainerRegistryIPRestrictionsManagement', __args__, opts=opts, typ=GetContainerRegistryIPRestrictionsManagementResult) + return __ret__.apply(lambda __response__: GetContainerRegistryIPRestrictionsManagementResult( + id=pulumi.get(__response__, 'id'), + ip_restrictions=pulumi.get(__response__, 'ip_restrictions'), + registry_id=pulumi.get(__response__, 'registry_id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_registry.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_registry.py index 92a92f87..cc0e2dd2 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_registry.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_ip_restrictions_registry.py @@ -4,9 +4,14 @@ 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__ = [ @@ -101,9 +106,6 @@ def get_container_registry_ip_restrictions_registry(registry_id: Optional[str] = ip_restrictions=pulumi.get(__ret__, 'ip_restrictions'), registry_id=pulumi.get(__ret__, 'registry_id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_container_registry_ip_restrictions_registry) def get_container_registry_ip_restrictions_registry_output(registry_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRegistryIPRestrictionsRegistryResult]: @@ -114,4 +116,13 @@ def get_container_registry_ip_restrictions_registry_output(registry_id: Optional :param str registry_id: The id of the Managed Private Registry. :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['registryId'] = registry_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistryIPRestrictionsRegistry:getContainerRegistryIPRestrictionsRegistry', __args__, opts=opts, typ=GetContainerRegistryIPRestrictionsRegistryResult) + return __ret__.apply(lambda __response__: GetContainerRegistryIPRestrictionsRegistryResult( + id=pulumi.get(__response__, 'id'), + ip_restrictions=pulumi.get(__response__, 'ip_restrictions'), + registry_id=pulumi.get(__response__, 'registry_id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_oidc.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_oidc.py index b1446689..0a568e64 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_oidc.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_oidc.py @@ -4,9 +4,14 @@ 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__ = [ @@ -243,9 +248,6 @@ def get_container_registry_oidc(oidc_admin_group: Optional[str] = None, oidc_verify_cert=pulumi.get(__ret__, 'oidc_verify_cert'), registry_id=pulumi.get(__ret__, 'registry_id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_container_registry_oidc) def get_container_registry_oidc_output(oidc_admin_group: Optional[pulumi.Input[Optional[str]]] = None, oidc_auto_onboard: Optional[pulumi.Input[Optional[bool]]] = None, oidc_client_id: Optional[pulumi.Input[Optional[str]]] = None, @@ -285,4 +287,30 @@ def get_container_registry_oidc_output(oidc_admin_group: Optional[pulumi.Input[O :param str registry_id: The id of the Managed Private Registry. :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['oidcAdminGroup'] = oidc_admin_group + __args__['oidcAutoOnboard'] = oidc_auto_onboard + __args__['oidcClientId'] = oidc_client_id + __args__['oidcEndpoint'] = oidc_endpoint + __args__['oidcGroupsClaim'] = oidc_groups_claim + __args__['oidcName'] = oidc_name + __args__['oidcScope'] = oidc_scope + __args__['oidcUserClaim'] = oidc_user_claim + __args__['oidcVerifyCert'] = oidc_verify_cert + __args__['registryId'] = registry_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistryOIDC:getContainerRegistryOIDC', __args__, opts=opts, typ=GetContainerRegistryOIDCResult) + return __ret__.apply(lambda __response__: GetContainerRegistryOIDCResult( + id=pulumi.get(__response__, 'id'), + oidc_admin_group=pulumi.get(__response__, 'oidc_admin_group'), + oidc_auto_onboard=pulumi.get(__response__, 'oidc_auto_onboard'), + oidc_client_id=pulumi.get(__response__, 'oidc_client_id'), + oidc_endpoint=pulumi.get(__response__, 'oidc_endpoint'), + oidc_groups_claim=pulumi.get(__response__, 'oidc_groups_claim'), + oidc_name=pulumi.get(__response__, 'oidc_name'), + oidc_scope=pulumi.get(__response__, 'oidc_scope'), + oidc_user_claim=pulumi.get(__response__, 'oidc_user_claim'), + oidc_verify_cert=pulumi.get(__response__, 'oidc_verify_cert'), + registry_id=pulumi.get(__response__, 'registry_id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_users.py b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_users.py index 09232d50..e47a8cc2 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_container_registry_users.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_container_registry_users.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -109,9 +114,6 @@ def get_container_registry_users(registry_id: Optional[str] = None, registry_id=pulumi.get(__ret__, 'registry_id'), results=pulumi.get(__ret__, 'results'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_container_registry_users) def get_container_registry_users_output(registry_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerRegistryUsersResult]: @@ -135,4 +137,13 @@ def get_container_registry_users_output(registry_id: Optional[pulumi.Input[str]] :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['registryId'] = registry_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getContainerRegistryUsers:getContainerRegistryUsers', __args__, opts=opts, typ=GetContainerRegistryUsersResult) + return __ret__.apply(lambda __response__: GetContainerRegistryUsersResult( + id=pulumi.get(__response__, 'id'), + registry_id=pulumi.get(__response__, 'registry_id'), + results=pulumi.get(__response__, 'results'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_failover_ip_attach.py b/sdk/python/pulumi_ovh/cloudproject/get_failover_ip_attach.py index 159c0763..9c304f36 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_failover_ip_attach.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_failover_ip_attach.py @@ -4,9 +4,14 @@ 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__ = [ @@ -188,9 +193,6 @@ def get_failover_ip_attach(block: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status'), sub_type=pulumi.get(__ret__, 'sub_type')) - - -@_utilities.lift_output_func(get_failover_ip_attach) def get_failover_ip_attach_output(block: Optional[pulumi.Input[Optional[str]]] = None, continent_code: Optional[pulumi.Input[Optional[str]]] = None, geo_loc: Optional[pulumi.Input[Optional[str]]] = None, @@ -218,4 +220,23 @@ def get_failover_ip_attach_output(block: Optional[pulumi.Input[Optional[str]]] = :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['block'] = block + __args__['continentCode'] = continent_code + __args__['geoLoc'] = geo_loc + __args__['ip'] = ip + __args__['routedTo'] = routed_to + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getFailoverIpAttach:getFailoverIpAttach', __args__, opts=opts, typ=GetFailoverIpAttachResult) + return __ret__.apply(lambda __response__: GetFailoverIpAttachResult( + block=pulumi.get(__response__, 'block'), + continent_code=pulumi.get(__response__, 'continent_code'), + geo_loc=pulumi.get(__response__, 'geo_loc'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + progress=pulumi.get(__response__, 'progress'), + routed_to=pulumi.get(__response__, 'routed_to'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + sub_type=pulumi.get(__response__, 'sub_type'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_gateway_interface.py b/sdk/python/pulumi_ovh/cloudproject/get_gateway_interface.py index e1bd4248..a2fcff1a 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_gateway_interface.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_gateway_interface.py @@ -4,9 +4,14 @@ 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__ = [ @@ -158,9 +163,6 @@ def get_gateway_interface(id: Optional[str] = None, region=pulumi.get(__ret__, 'region'), service_name=pulumi.get(__ret__, 'service_name'), subnet_id=pulumi.get(__ret__, 'subnet_id')) - - -@_utilities.lift_output_func(get_gateway_interface) def get_gateway_interface_output(id: Optional[pulumi.Input[str]] = None, interface_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, @@ -187,4 +189,18 @@ def get_gateway_interface_output(id: Optional[pulumi.Input[str]] = None, :param str region: Region of the gateway :param str service_name: ID of the cloud project """ - ... + __args__ = dict() + __args__['id'] = id + __args__['interfaceId'] = interface_id + __args__['region'] = region + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getGatewayInterface:getGatewayInterface', __args__, opts=opts, typ=GetGatewayInterfaceResult) + return __ret__.apply(lambda __response__: GetGatewayInterfaceResult( + id=pulumi.get(__response__, 'id'), + interface_id=pulumi.get(__response__, 'interface_id'), + ip=pulumi.get(__response__, 'ip'), + network_id=pulumi.get(__response__, 'network_id'), + region=pulumi.get(__response__, 'region'), + service_name=pulumi.get(__response__, 'service_name'), + subnet_id=pulumi.get(__response__, 'subnet_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube.py b/sdk/python/pulumi_ovh/cloudproject/get_kube.py index aae2221c..60a470bf 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -347,9 +352,6 @@ def get_kube(customization_apiservers: Optional[Sequence[Union['GetKubeCustomiza update_policy=pulumi.get(__ret__, 'update_policy'), url=pulumi.get(__ret__, 'url'), version=pulumi.get(__ret__, 'version')) - - -@_utilities.lift_output_func(get_kube) def get_kube_output(customization_apiservers: Optional[pulumi.Input[Optional[Sequence[Union['GetKubeCustomizationApiserverArgs', 'GetKubeCustomizationApiserverArgsDict']]]]] = None, customization_kube_proxy: Optional[pulumi.Input[Optional[Union['GetKubeCustomizationKubeProxyArgs', 'GetKubeCustomizationKubeProxyArgsDict']]]] = None, customizations: Optional[pulumi.Input[Optional[Sequence[Union['GetKubeCustomizationArgs', 'GetKubeCustomizationArgsDict']]]]] = None, @@ -387,4 +389,37 @@ def get_kube_output(customization_apiservers: Optional[pulumi.Input[Optional[Seq :param str update_policy: Cluster update policy. Choose between [ALWAYS_UPDATE,MINIMAL_DOWNTIME,NEVER_UPDATE]'. :param str version: Kubernetes version of the managed kubernetes cluster. """ - ... + __args__ = dict() + __args__['customizationApiservers'] = customization_apiservers + __args__['customizationKubeProxy'] = customization_kube_proxy + __args__['customizations'] = customizations + __args__['kubeId'] = kube_id + __args__['kubeProxyMode'] = kube_proxy_mode + __args__['name'] = name + __args__['region'] = region + __args__['serviceName'] = service_name + __args__['updatePolicy'] = update_policy + __args__['version'] = version + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKube:getKube', __args__, opts=opts, typ=GetKubeResult) + return __ret__.apply(lambda __response__: GetKubeResult( + control_plane_is_up_to_date=pulumi.get(__response__, 'control_plane_is_up_to_date'), + customization_apiservers=pulumi.get(__response__, 'customization_apiservers'), + customization_kube_proxy=pulumi.get(__response__, 'customization_kube_proxy'), + customizations=pulumi.get(__response__, 'customizations'), + id=pulumi.get(__response__, 'id'), + is_up_to_date=pulumi.get(__response__, 'is_up_to_date'), + kube_id=pulumi.get(__response__, 'kube_id'), + kube_proxy_mode=pulumi.get(__response__, 'kube_proxy_mode'), + load_balancers_subnet_id=pulumi.get(__response__, 'load_balancers_subnet_id'), + name=pulumi.get(__response__, 'name'), + next_upgrade_versions=pulumi.get(__response__, 'next_upgrade_versions'), + nodes_subnet_id=pulumi.get(__response__, 'nodes_subnet_id'), + nodes_url=pulumi.get(__response__, 'nodes_url'), + private_network_id=pulumi.get(__response__, 'private_network_id'), + region=pulumi.get(__response__, 'region'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + update_policy=pulumi.get(__response__, 'update_policy'), + url=pulumi.get(__response__, 'url'), + version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube_ip_restrictions.py b/sdk/python/pulumi_ovh/cloudproject/get_kube_ip_restrictions.py index 6bed6450..cc687d68 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube_ip_restrictions.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube_ip_restrictions.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_kube_ip_restrictions(kube_id: Optional[str] = None, ips=pulumi.get(__ret__, 'ips'), kube_id=pulumi.get(__ret__, 'kube_id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kube_ip_restrictions) def get_kube_ip_restrictions_output(kube_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKubeIpRestrictionsResult]: @@ -138,4 +140,13 @@ def get_kube_ip_restrictions_output(kube_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['kubeId'] = kube_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKubeIpRestrictions:getKubeIpRestrictions', __args__, opts=opts, typ=GetKubeIpRestrictionsResult) + return __ret__.apply(lambda __response__: GetKubeIpRestrictionsResult( + id=pulumi.get(__response__, 'id'), + ips=pulumi.get(__response__, 'ips'), + kube_id=pulumi.get(__response__, 'kube_id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool.py b/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool.py index b27343a5..e8cfa9c8 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -387,9 +392,6 @@ def get_kube_node_pool(kube_id: Optional[str] = None, template=pulumi.get(__ret__, 'template'), up_to_date_nodes=pulumi.get(__ret__, 'up_to_date_nodes'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_kube_node_pool) def get_kube_node_pool_output(kube_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -416,4 +418,35 @@ def get_kube_node_pool_output(kube_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['kubeId'] = kube_id + __args__['name'] = name + __args__['serviceName'] = service_name + __args__['template'] = template + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKubeNodePool:getKubeNodePool', __args__, opts=opts, typ=GetKubeNodePoolResult) + return __ret__.apply(lambda __response__: GetKubeNodePoolResult( + anti_affinity=pulumi.get(__response__, 'anti_affinity'), + autoscale=pulumi.get(__response__, 'autoscale'), + autoscaling_scale_down_unneeded_time_seconds=pulumi.get(__response__, 'autoscaling_scale_down_unneeded_time_seconds'), + autoscaling_scale_down_unready_time_seconds=pulumi.get(__response__, 'autoscaling_scale_down_unready_time_seconds'), + autoscaling_scale_down_utilization_threshold=pulumi.get(__response__, 'autoscaling_scale_down_utilization_threshold'), + available_nodes=pulumi.get(__response__, 'available_nodes'), + created_at=pulumi.get(__response__, 'created_at'), + current_nodes=pulumi.get(__response__, 'current_nodes'), + desired_nodes=pulumi.get(__response__, 'desired_nodes'), + flavor=pulumi.get(__response__, 'flavor'), + flavor_name=pulumi.get(__response__, 'flavor_name'), + id=pulumi.get(__response__, 'id'), + kube_id=pulumi.get(__response__, 'kube_id'), + max_nodes=pulumi.get(__response__, 'max_nodes'), + min_nodes=pulumi.get(__response__, 'min_nodes'), + monthly_billed=pulumi.get(__response__, 'monthly_billed'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + service_name=pulumi.get(__response__, 'service_name'), + size_status=pulumi.get(__response__, 'size_status'), + status=pulumi.get(__response__, 'status'), + template=pulumi.get(__response__, 'template'), + up_to_date_nodes=pulumi.get(__response__, 'up_to_date_nodes'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool_nodes.py b/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool_nodes.py index 54dab5bb..f85d3a00 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool_nodes.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube_node_pool_nodes.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -131,9 +136,6 @@ def get_kube_node_pool_nodes(kube_id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), nodes=pulumi.get(__ret__, 'nodes'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kube_node_pool_nodes) def get_kube_node_pool_nodes_output(kube_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -159,4 +161,15 @@ def get_kube_node_pool_nodes_output(kube_id: Optional[pulumi.Input[str]] = None, :param str service_name: The ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['kubeId'] = kube_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKubeNodePoolNodes:getKubeNodePoolNodes', __args__, opts=opts, typ=GetKubeNodePoolNodesResult) + return __ret__.apply(lambda __response__: GetKubeNodePoolNodesResult( + id=pulumi.get(__response__, 'id'), + kube_id=pulumi.get(__response__, 'kube_id'), + name=pulumi.get(__response__, 'name'), + nodes=pulumi.get(__response__, 'nodes'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube_nodes.py b/sdk/python/pulumi_ovh/cloudproject/get_kube_nodes.py index 1a59c70d..e8a2e85e 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube_nodes.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube_nodes.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -114,9 +119,6 @@ def get_kube_nodes(kube_id: Optional[str] = None, kube_id=pulumi.get(__ret__, 'kube_id'), nodes=pulumi.get(__ret__, 'nodes'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kube_nodes) def get_kube_nodes_output(kube_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKubeNodesResult]: @@ -139,4 +141,13 @@ def get_kube_nodes_output(kube_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['kubeId'] = kube_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKubeNodes:getKubeNodes', __args__, opts=opts, typ=GetKubeNodesResult) + return __ret__.apply(lambda __response__: GetKubeNodesResult( + id=pulumi.get(__response__, 'id'), + kube_id=pulumi.get(__response__, 'kube_id'), + nodes=pulumi.get(__response__, 'nodes'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_kube_oidc.py b/sdk/python/pulumi_ovh/cloudproject/get_kube_oidc.py index 2dc844ad..d3adba3e 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_kube_oidc.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_kube_oidc.py @@ -4,9 +4,14 @@ 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__ = [ @@ -244,9 +249,6 @@ def get_kube_oidc(client_id: Optional[str] = None, oidc_username_claim=pulumi.get(__ret__, 'oidc_username_claim'), oidc_username_prefix=pulumi.get(__ret__, 'oidc_username_prefix'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kube_oidc) def get_kube_oidc_output(client_id: Optional[pulumi.Input[Optional[str]]] = None, issuer_url: Optional[pulumi.Input[Optional[str]]] = None, kube_id: Optional[pulumi.Input[str]] = None, @@ -287,4 +289,30 @@ def get_kube_oidc_output(client_id: Optional[pulumi.Input[Optional[str]]] = None :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clientId'] = client_id + __args__['issuerUrl'] = issuer_url + __args__['kubeId'] = kube_id + __args__['oidcCaContent'] = oidc_ca_content + __args__['oidcGroupsClaims'] = oidc_groups_claims + __args__['oidcGroupsPrefix'] = oidc_groups_prefix + __args__['oidcRequiredClaims'] = oidc_required_claims + __args__['oidcSigningAlgs'] = oidc_signing_algs + __args__['oidcUsernameClaim'] = oidc_username_claim + __args__['oidcUsernamePrefix'] = oidc_username_prefix + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getKubeOidc:getKubeOidc', __args__, opts=opts, typ=GetKubeOidcResult) + return __ret__.apply(lambda __response__: GetKubeOidcResult( + client_id=pulumi.get(__response__, 'client_id'), + id=pulumi.get(__response__, 'id'), + issuer_url=pulumi.get(__response__, 'issuer_url'), + kube_id=pulumi.get(__response__, 'kube_id'), + oidc_ca_content=pulumi.get(__response__, 'oidc_ca_content'), + oidc_groups_claims=pulumi.get(__response__, 'oidc_groups_claims'), + oidc_groups_prefix=pulumi.get(__response__, 'oidc_groups_prefix'), + oidc_required_claims=pulumi.get(__response__, 'oidc_required_claims'), + oidc_signing_algs=pulumi.get(__response__, 'oidc_signing_algs'), + oidc_username_claim=pulumi.get(__response__, 'oidc_username_claim'), + oidc_username_prefix=pulumi.get(__response__, 'oidc_username_prefix'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_load_balancer.py b/sdk/python/pulumi_ovh/cloudproject/get_load_balancer.py index 5b3feef5..b8a3d25e 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_load_balancer.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_load_balancer.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -235,9 +240,6 @@ def get_load_balancer(id: Optional[str] = None, vip_address=pulumi.get(__ret__, 'vip_address'), vip_network_id=pulumi.get(__ret__, 'vip_network_id'), vip_subnet_id=pulumi.get(__ret__, 'vip_subnet_id')) - - -@_utilities.lift_output_func(get_load_balancer) def get_load_balancer_output(id: Optional[pulumi.Input[str]] = None, region_name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -263,4 +265,23 @@ def get_load_balancer_output(id: Optional[pulumi.Input[str]] = None, :param str service_name: The ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['id'] = id + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getLoadBalancer:getLoadBalancer', __args__, opts=opts, typ=GetLoadBalancerResult) + return __ret__.apply(lambda __response__: GetLoadBalancerResult( + created_at=pulumi.get(__response__, 'created_at'), + flavor_id=pulumi.get(__response__, 'flavor_id'), + floating_ip=pulumi.get(__response__, 'floating_ip'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + operating_status=pulumi.get(__response__, 'operating_status'), + provisioning_status=pulumi.get(__response__, 'provisioning_status'), + region_name=pulumi.get(__response__, 'region_name'), + service_name=pulumi.get(__response__, 'service_name'), + updated_at=pulumi.get(__response__, 'updated_at'), + vip_address=pulumi.get(__response__, 'vip_address'), + vip_network_id=pulumi.get(__response__, 'vip_network_id'), + vip_subnet_id=pulumi.get(__response__, 'vip_subnet_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_load_balancers.py b/sdk/python/pulumi_ovh/cloudproject/get_load_balancers.py index d13604f6..f066ff69 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_load_balancers.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_load_balancers.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -114,9 +119,6 @@ def get_load_balancers(region_name: Optional[str] = None, loadbalancers=pulumi.get(__ret__, 'loadbalancers'), region_name=pulumi.get(__ret__, 'region_name'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_load_balancers) def get_load_balancers_output(region_name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancersResult]: @@ -139,4 +141,13 @@ def get_load_balancers_output(region_name: Optional[pulumi.Input[str]] = None, :param str service_name: The ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getLoadBalancers:getLoadBalancers', __args__, opts=opts, typ=GetLoadBalancersResult) + return __ret__.apply(lambda __response__: GetLoadBalancersResult( + id=pulumi.get(__response__, 'id'), + loadbalancers=pulumi.get(__response__, 'loadbalancers'), + region_name=pulumi.get(__response__, 'region_name'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespace.py b/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespace.py index f9361f5b..fe9d6b66 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespace.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespace.py @@ -4,9 +4,14 @@ 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__ = [ @@ -234,9 +239,6 @@ def get_m3db_namespace(cluster_id: Optional[str] = None, snapshot_enabled=pulumi.get(__ret__, 'snapshot_enabled'), type=pulumi.get(__ret__, 'type'), writes_to_commit_log_enabled=pulumi.get(__ret__, 'writes_to_commit_log_enabled')) - - -@_utilities.lift_output_func(get_m3db_namespace) def get_m3db_namespace_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -262,4 +264,23 @@ def get_m3db_namespace_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getM3dbNamespace:getM3dbNamespace', __args__, opts=opts, typ=GetM3dbNamespaceResult) + return __ret__.apply(lambda __response__: GetM3dbNamespaceResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + resolution=pulumi.get(__response__, 'resolution'), + retention_block_data_expiration_duration=pulumi.get(__response__, 'retention_block_data_expiration_duration'), + retention_block_size_duration=pulumi.get(__response__, 'retention_block_size_duration'), + retention_buffer_future_duration=pulumi.get(__response__, 'retention_buffer_future_duration'), + retention_buffer_past_duration=pulumi.get(__response__, 'retention_buffer_past_duration'), + retention_period_duration=pulumi.get(__response__, 'retention_period_duration'), + service_name=pulumi.get(__response__, 'service_name'), + snapshot_enabled=pulumi.get(__response__, 'snapshot_enabled'), + type=pulumi.get(__response__, 'type'), + writes_to_commit_log_enabled=pulumi.get(__response__, 'writes_to_commit_log_enabled'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespaces.py b/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespaces.py index e1e79d95..caf56f37 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespaces.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_m3db_namespaces.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_m3db_namespaces(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), namespace_ids=pulumi.get(__ret__, 'namespace_ids'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_m3db_namespaces) def get_m3db_namespaces_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetM3dbNamespacesResult]: @@ -138,4 +140,13 @@ def get_m3db_namespaces_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getM3dbNamespaces:getM3dbNamespaces', __args__, opts=opts, typ=GetM3dbNamespacesResult) + return __ret__.apply(lambda __response__: GetM3dbNamespacesResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + namespace_ids=pulumi.get(__response__, 'namespace_ids'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_m3db_user.py b/sdk/python/pulumi_ovh/cloudproject/get_m3db_user.py index fa7c70c9..6349d4d4 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_m3db_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_m3db_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -156,9 +161,6 @@ def get_m3db_user(cluster_id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_m3db_user) def get_m3db_user_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -184,4 +186,17 @@ def get_m3db_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getM3dbUser:getM3dbUser', __args__, opts=opts, typ=GetM3dbUserResult) + return __ret__.apply(lambda __response__: GetM3dbUserResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + group=pulumi.get(__response__, 'group'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_mongo_db_user.py b/sdk/python/pulumi_ovh/cloudproject/get_mongo_db_user.py index c58374c8..da161f04 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_mongo_db_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_mongo_db_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -156,9 +161,6 @@ def get_mongo_db_user(cluster_id: Optional[str] = None, roles=pulumi.get(__ret__, 'roles'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_mongo_db_user) def get_mongo_db_user_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -184,4 +186,17 @@ def get_mongo_db_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getMongoDbUser:getMongoDbUser', __args__, opts=opts, typ=GetMongoDbUserResult) + return __ret__.apply(lambda __response__: GetMongoDbUserResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + roles=pulumi.get(__response__, 'roles'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_network_private.py b/sdk/python/pulumi_ovh/cloudproject/get_network_private.py index 2451070a..9368662a 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_network_private.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_network_private.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -165,9 +170,6 @@ def get_network_private(network_id: Optional[str] = None, status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), vlan_id=pulumi.get(__ret__, 'vlan_id')) - - -@_utilities.lift_output_func(get_network_private) def get_network_private_output(network_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkPrivateResult]: @@ -189,4 +191,17 @@ def get_network_private_output(network_id: Optional[pulumi.Input[str]] = None, :param str network_id: ID of the network :param str service_name: The ID of the public cloud project. """ - ... + __args__ = dict() + __args__['networkId'] = network_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getNetworkPrivate:getNetworkPrivate', __args__, opts=opts, typ=GetNetworkPrivateResult) + return __ret__.apply(lambda __response__: GetNetworkPrivateResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + network_id=pulumi.get(__response__, 'network_id'), + regions=pulumi.get(__response__, 'regions'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + type=pulumi.get(__response__, 'type'), + vlan_id=pulumi.get(__response__, 'vlan_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_network_private_subnets.py b/sdk/python/pulumi_ovh/cloudproject/get_network_private_subnets.py index 79143e9f..786e5706 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_network_private_subnets.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_network_private_subnets.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -113,9 +118,6 @@ def get_network_private_subnets(network_id: Optional[str] = None, network_id=pulumi.get(__ret__, 'network_id'), service_name=pulumi.get(__ret__, 'service_name'), subnets=pulumi.get(__ret__, 'subnets')) - - -@_utilities.lift_output_func(get_network_private_subnets) def get_network_private_subnets_output(network_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkPrivateSubnetsResult]: @@ -137,4 +139,13 @@ def get_network_private_subnets_output(network_id: Optional[pulumi.Input[str]] = :param str network_id: ID of the network :param str service_name: The ID of the public cloud project. """ - ... + __args__ = dict() + __args__['networkId'] = network_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getNetworkPrivateSubnets:getNetworkPrivateSubnets', __args__, opts=opts, typ=GetNetworkPrivateSubnetsResult) + return __ret__.apply(lambda __response__: GetNetworkPrivateSubnetsResult( + id=pulumi.get(__response__, 'id'), + network_id=pulumi.get(__response__, 'network_id'), + service_name=pulumi.get(__response__, 'service_name'), + subnets=pulumi.get(__response__, 'subnets'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_network_privates.py b/sdk/python/pulumi_ovh/cloudproject/get_network_privates.py index 0f5877ac..bec048d5 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_network_privates.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_network_privates.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -96,9 +101,6 @@ def get_network_privates(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), networks=pulumi.get(__ret__, 'networks'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_network_privates) def get_network_privates_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkPrivatesResult]: """ @@ -117,4 +119,11 @@ def get_network_privates_output(service_name: Optional[pulumi.Input[str]] = None :param str service_name: The ID of the public cloud project. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getNetworkPrivates:getNetworkPrivates', __args__, opts=opts, typ=GetNetworkPrivatesResult) + return __ret__.apply(lambda __response__: GetNetworkPrivatesResult( + id=pulumi.get(__response__, 'id'), + networks=pulumi.get(__response__, 'networks'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_open_search_pattern.py b/sdk/python/pulumi_ovh/cloudproject/get_open_search_pattern.py index 054a93b1..f7a6f20f 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_open_search_pattern.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_open_search_pattern.py @@ -4,9 +4,14 @@ 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__ = [ @@ -130,9 +135,6 @@ def get_open_search_pattern(cluster_id: Optional[str] = None, max_index_count=pulumi.get(__ret__, 'max_index_count'), pattern=pulumi.get(__ret__, 'pattern'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_open_search_pattern) def get_open_search_pattern_output(cluster_id: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -158,4 +160,15 @@ def get_open_search_pattern_output(cluster_id: Optional[pulumi.Input[str]] = Non :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getOpenSearchPattern:getOpenSearchPattern', __args__, opts=opts, typ=GetOpenSearchPatternResult) + return __ret__.apply(lambda __response__: GetOpenSearchPatternResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + max_index_count=pulumi.get(__response__, 'max_index_count'), + pattern=pulumi.get(__response__, 'pattern'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_open_search_patterns.py b/sdk/python/pulumi_ovh/cloudproject/get_open_search_patterns.py index 1ad9a278..17deebc7 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_open_search_patterns.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_open_search_patterns.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_open_search_patterns(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), pattern_ids=pulumi.get(__ret__, 'pattern_ids'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_open_search_patterns) def get_open_search_patterns_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOpenSearchPatternsResult]: @@ -138,4 +140,13 @@ def get_open_search_patterns_output(cluster_id: Optional[pulumi.Input[str]] = No :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getOpenSearchPatterns:getOpenSearchPatterns', __args__, opts=opts, typ=GetOpenSearchPatternsResult) + return __ret__.apply(lambda __response__: GetOpenSearchPatternsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + pattern_ids=pulumi.get(__response__, 'pattern_ids'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_open_search_user.py b/sdk/python/pulumi_ovh/cloudproject/get_open_search_user.py index b2af4150..61fbfcd5 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_open_search_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_open_search_user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -157,9 +162,6 @@ def get_open_search_user(cluster_id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_open_search_user) def get_open_search_user_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -185,4 +187,17 @@ def get_open_search_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getOpenSearchUser:getOpenSearchUser', __args__, opts=opts, typ=GetOpenSearchUserResult) + return __ret__.apply(lambda __response__: GetOpenSearchUserResult( + acls=pulumi.get(__response__, 'acls'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_redis_user.py b/sdk/python/pulumi_ovh/cloudproject/get_redis_user.py index 4491028f..4e1d23c3 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_redis_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_redis_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -195,9 +200,6 @@ def get_redis_user(cluster_id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_redis_user) def get_redis_user_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -223,4 +225,20 @@ def get_redis_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getRedisUser:getRedisUser', __args__, opts=opts, typ=GetRedisUserResult) + return __ret__.apply(lambda __response__: GetRedisUserResult( + categories=pulumi.get(__response__, 'categories'), + channels=pulumi.get(__response__, 'channels'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + commands=pulumi.get(__response__, 'commands'), + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + keys=pulumi.get(__response__, 'keys'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_region.py b/sdk/python/pulumi_ovh/cloudproject/get_region.py index b9b87735..6002253e 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_region.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_region.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -139,9 +144,6 @@ def get_region(name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), services=pulumi.get(__ret__, 'services')) - - -@_utilities.lift_output_func(get_region) def get_region_output(name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionResult]: @@ -164,4 +166,15 @@ def get_region_output(name: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getRegion:getRegion', __args__, opts=opts, typ=GetRegionResult) + return __ret__.apply(lambda __response__: GetRegionResult( + continent_code=pulumi.get(__response__, 'continent_code'), + datacenter_location=pulumi.get(__response__, 'datacenter_location'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + services=pulumi.get(__response__, 'services'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscription.py b/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscription.py index 991ad0ad..027687f7 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscription.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscription.py @@ -4,9 +4,14 @@ 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__ = [ @@ -223,9 +228,6 @@ def get_region_load_balancer_log_subscription(loadbalancer_id: Optional[str] = N stream_id=pulumi.get(__ret__, 'stream_id'), subscription_id=pulumi.get(__ret__, 'subscription_id'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_region_load_balancer_log_subscription) def get_region_load_balancer_log_subscription_output(loadbalancer_id: Optional[pulumi.Input[str]] = None, region_name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -252,4 +254,23 @@ def get_region_load_balancer_log_subscription_output(loadbalancer_id: Optional[p :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str subscription_id: Subscription id """ - ... + __args__ = dict() + __args__['loadbalancerId'] = loadbalancer_id + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + __args__['subscriptionId'] = subscription_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getRegionLoadBalancerLogSubscription:getRegionLoadBalancerLogSubscription', __args__, opts=opts, typ=GetRegionLoadBalancerLogSubscriptionResult) + return __ret__.apply(lambda __response__: GetRegionLoadBalancerLogSubscriptionResult( + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + kind=pulumi.get(__response__, 'kind'), + ldp_service_name=pulumi.get(__response__, 'ldp_service_name'), + loadbalancer_id=pulumi.get(__response__, 'loadbalancer_id'), + region_name=pulumi.get(__response__, 'region_name'), + resource_name=pulumi.get(__response__, 'resource_name'), + resource_type=pulumi.get(__response__, 'resource_type'), + service_name=pulumi.get(__response__, 'service_name'), + stream_id=pulumi.get(__response__, 'stream_id'), + subscription_id=pulumi.get(__response__, 'subscription_id'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscriptions.py b/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscriptions.py index b241e628..94278dce 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscriptions.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_region_load_balancer_log_subscriptions.py @@ -4,9 +4,14 @@ 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__ = [ @@ -144,9 +149,6 @@ def get_region_load_balancer_log_subscriptions(kind: Optional[str] = None, region_name=pulumi.get(__ret__, 'region_name'), service_name=pulumi.get(__ret__, 'service_name'), subscription_ids=pulumi.get(__ret__, 'subscription_ids')) - - -@_utilities.lift_output_func(get_region_load_balancer_log_subscriptions) def get_region_load_balancer_log_subscriptions_output(kind: Optional[pulumi.Input[Optional[str]]] = None, loadbalancer_id: Optional[pulumi.Input[str]] = None, region_name: Optional[pulumi.Input[str]] = None, @@ -172,4 +174,17 @@ def get_region_load_balancer_log_subscriptions_output(kind: Optional[pulumi.Inpu :param str region_name: A valid OVHcloud public cloud region name in which the loadbalancer is available. Ex.: "GRA11". :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['kind'] = kind + __args__['loadbalancerId'] = loadbalancer_id + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getRegionLoadBalancerLogSubscriptions:getRegionLoadBalancerLogSubscriptions', __args__, opts=opts, typ=GetRegionLoadBalancerLogSubscriptionsResult) + return __ret__.apply(lambda __response__: GetRegionLoadBalancerLogSubscriptionsResult( + id=pulumi.get(__response__, 'id'), + kind=pulumi.get(__response__, 'kind'), + loadbalancer_id=pulumi.get(__response__, 'loadbalancer_id'), + region_name=pulumi.get(__response__, 'region_name'), + service_name=pulumi.get(__response__, 'service_name'), + subscription_ids=pulumi.get(__response__, 'subscription_ids'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_regions.py b/sdk/python/pulumi_ovh/cloudproject/get_regions.py index 04b4dad6..424fcc84 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_regions.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_regions.py @@ -4,9 +4,14 @@ 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__ = [ @@ -108,9 +113,6 @@ def get_regions(has_services_ups: Optional[Sequence[str]] = None, id=pulumi.get(__ret__, 'id'), names=pulumi.get(__ret__, 'names'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_regions) def get_regions_output(has_services_ups: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionsResult]: @@ -134,4 +136,13 @@ def get_regions_output(has_services_ups: Optional[pulumi.Input[Optional[Sequence :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['hasServicesUps'] = has_services_ups + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getRegions:getRegions', __args__, opts=opts, typ=GetRegionsResult) + return __ret__.apply(lambda __response__: GetRegionsResult( + has_services_ups=pulumi.get(__response__, 'has_services_ups'), + id=pulumi.get(__response__, 'id'), + names=pulumi.get(__response__, 'names'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_user.py b/sdk/python/pulumi_ovh/cloudproject/get_user.py index e6d01cc0..cd4150a6 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_user.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -164,9 +169,6 @@ def get_user(service_name: Optional[str] = None, status=pulumi.get(__ret__, 'status'), user_id=pulumi.get(__ret__, 'user_id'), username=pulumi.get(__ret__, 'username')) - - -@_utilities.lift_output_func(get_user) def get_user_output(service_name: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: @@ -192,4 +194,17 @@ def get_user_output(service_name: Optional[pulumi.Input[str]] = None, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str user_id: The ID of a public cloud project's user. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getUser:getUser', __args__, opts=opts, typ=GetUserResult) + return __ret__.apply(lambda __response__: GetUserResult( + creation_date=pulumi.get(__response__, 'creation_date'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + roles=pulumi.get(__response__, 'roles'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + user_id=pulumi.get(__response__, 'user_id'), + username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credential.py b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credential.py index 7335b60f..2ae35532 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credential.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credential.py @@ -4,9 +4,14 @@ 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__ = [ @@ -128,9 +133,6 @@ def get_user_s3_credential(access_key_id: Optional[str] = None, secret_access_key=pulumi.get(__ret__, 'secret_access_key'), service_name=pulumi.get(__ret__, 'service_name'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_user_s3_credential) def get_user_s3_credential_output(access_key_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -163,4 +165,15 @@ def get_user_s3_credential_output(access_key_id: Optional[pulumi.Input[str]] = N the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str user_id: The ID of a public cloud project's user. """ - ... + __args__ = dict() + __args__['accessKeyId'] = access_key_id + __args__['serviceName'] = service_name + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getUserS3Credential:getUserS3Credential', __args__, opts=opts, typ=GetUserS3CredentialResult) + return __ret__.apply(lambda __response__: GetUserS3CredentialResult( + access_key_id=pulumi.get(__response__, 'access_key_id'), + id=pulumi.get(__response__, 'id'), + secret_access_key=pulumi.get(__response__, 'secret_access_key'), + service_name=pulumi.get(__response__, 'service_name'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credentials.py b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credentials.py index 5a5b6db1..9259d6d0 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credentials.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_credentials.py @@ -4,9 +4,14 @@ 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__ = [ @@ -107,9 +112,6 @@ def get_user_s3_credentials(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_user_s3_credentials) def get_user_s3_credentials_output(service_name: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserS3CredentialsResult]: @@ -132,4 +134,13 @@ def get_user_s3_credentials_output(service_name: Optional[pulumi.Input[str]] = N the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str user_id: The ID of a public cloud project's user. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getUserS3Credentials:getUserS3Credentials', __args__, opts=opts, typ=GetUserS3CredentialsResult) + return __ret__.apply(lambda __response__: GetUserS3CredentialsResult( + access_key_ids=pulumi.get(__response__, 'access_key_ids'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_policy.py b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_policy.py index 135c9d67..277c0e2d 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_user_s3_policy.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_user_s3_policy.py @@ -4,9 +4,14 @@ 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__ = [ @@ -110,9 +115,6 @@ def get_user_s3_policy(service_name: Optional[str] = None, policy=pulumi.get(__ret__, 'policy'), service_name=pulumi.get(__ret__, 'service_name'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_user_s3_policy) def get_user_s3_policy_output(service_name: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserS3PolicyResult]: @@ -138,4 +140,13 @@ def get_user_s3_policy_output(service_name: Optional[pulumi.Input[str]] = None, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str user_id: The ID of a public cloud project's user. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getUserS3Policy:getUserS3Policy', __args__, opts=opts, typ=GetUserS3PolicyResult) + return __ret__.apply(lambda __response__: GetUserS3PolicyResult( + id=pulumi.get(__response__, 'id'), + policy=pulumi.get(__response__, 'policy'), + service_name=pulumi.get(__response__, 'service_name'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_users.py b/sdk/python/pulumi_ovh/cloudproject/get_users.py index 411c8eae..558d4500 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_users.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_users.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -97,9 +102,6 @@ def get_users(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), users=pulumi.get(__ret__, 'users')) - - -@_utilities.lift_output_func(get_users) def get_users_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUsersResult]: """ @@ -122,4 +124,11 @@ def get_users_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult) + return __ret__.apply(lambda __response__: GetUsersResult( + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + users=pulumi.get(__response__, 'users'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_v_rack.py b/sdk/python/pulumi_ovh/cloudproject/get_v_rack.py index b9024f63..513a0bdc 100644 --- a/sdk/python/pulumi_ovh/cloudproject/get_v_rack.py +++ b/sdk/python/pulumi_ovh/cloudproject/get_v_rack.py @@ -4,9 +4,14 @@ 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__ = [ @@ -106,9 +111,6 @@ def get_v_rack(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_v_rack) def get_v_rack_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVRackResult]: """ @@ -128,4 +130,12 @@ def get_v_rack_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getVRack:getVRack', __args__, opts=opts, typ=GetVRackResult) + return __ret__.apply(lambda __response__: GetVRackResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_volume.py b/sdk/python/pulumi_ovh/cloudproject/get_volume.py new file mode 100644 index 00000000..3cd71564 --- /dev/null +++ b/sdk/python/pulumi_ovh/cloudproject/get_volume.py @@ -0,0 +1,181 @@ +# 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__ = [ + 'GetVolumeResult', + 'AwaitableGetVolumeResult', + 'get_volume', + 'get_volume_output', +] + +@pulumi.output_type +class GetVolumeResult: + """ + A collection of values returned by getVolume. + """ + def __init__(__self__, id=None, name=None, region_name=None, service_name=None, size=None, volume_id=None): + 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 region_name and not isinstance(region_name, str): + raise TypeError("Expected argument 'region_name' to be a str") + pulumi.set(__self__, "region_name", region_name) + if service_name and not isinstance(service_name, str): + raise TypeError("Expected argument 'service_name' to be a str") + pulumi.set(__self__, "service_name", service_name) + if size and not isinstance(size, float): + raise TypeError("Expected argument 'size' to be a float") + pulumi.set(__self__, "size", size) + if volume_id and not isinstance(volume_id, str): + raise TypeError("Expected argument 'volume_id' to be a str") + pulumi.set(__self__, "volume_id", volume_id) + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the volume (E.g.: "GRA", meaning Gravelines, for region "GRA1") + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="regionName") + def region_name(self) -> str: + """ + The region name where volume is available + """ + return pulumi.get(self, "region_name") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + """ + The id of the public cloud project. + """ + return pulumi.get(self, "service_name") + + @property + @pulumi.getter + def size(self) -> float: + """ + The size of the volume + """ + return pulumi.get(self, "size") + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> str: + """ + The id of the volume + """ + return pulumi.get(self, "volume_id") + + +class AwaitableGetVolumeResult(GetVolumeResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVolumeResult( + id=self.id, + name=self.name, + region_name=self.region_name, + service_name=self.service_name, + size=self.size, + volume_id=self.volume_id) + + +def get_volume(region_name: Optional[str] = None, + service_name: Optional[str] = None, + volume_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumeResult: + """ + Get information about a volume in a public cloud project + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + volume = ovh.CloudProject.get_volume(region_name="xxx", + service_name="yyy", + volume_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee") + ``` + + + :param str region_name: A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + :param str service_name: The id of the public cloud project. + :param str volume_id: Volume id to get the informations + """ + __args__ = dict() + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + __args__['volumeId'] = volume_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('ovh:CloudProject/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult).value + + return AwaitableGetVolumeResult( + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + region_name=pulumi.get(__ret__, 'region_name'), + service_name=pulumi.get(__ret__, 'service_name'), + size=pulumi.get(__ret__, 'size'), + volume_id=pulumi.get(__ret__, 'volume_id')) +def get_volume_output(region_name: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + volume_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumeResult]: + """ + Get information about a volume in a public cloud project + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + volume = ovh.CloudProject.get_volume(region_name="xxx", + service_name="yyy", + volume_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee") + ``` + + + :param str region_name: A valid OVHcloud public cloud region name in which the volume is available. Ex.: "GRA11". + :param str service_name: The id of the public cloud project. + :param str volume_id: Volume id to get the informations + """ + __args__ = dict() + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + __args__['volumeId'] = volume_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult) + return __ret__.apply(lambda __response__: GetVolumeResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + region_name=pulumi.get(__response__, 'region_name'), + service_name=pulumi.get(__response__, 'service_name'), + size=pulumi.get(__response__, 'size'), + volume_id=pulumi.get(__response__, 'volume_id'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/get_volumes.py b/sdk/python/pulumi_ovh/cloudproject/get_volumes.py new file mode 100644 index 00000000..6e05363c --- /dev/null +++ b/sdk/python/pulumi_ovh/cloudproject/get_volumes.py @@ -0,0 +1,146 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetVolumesResult', + 'AwaitableGetVolumesResult', + 'get_volumes', + 'get_volumes_output', +] + +@pulumi.output_type +class GetVolumesResult: + """ + A collection of values returned by getVolumes. + """ + def __init__(__self__, id=None, region_name=None, service_name=None, volumes=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if region_name and not isinstance(region_name, str): + raise TypeError("Expected argument 'region_name' to be a str") + pulumi.set(__self__, "region_name", region_name) + if service_name and not isinstance(service_name, str): + raise TypeError("Expected argument 'service_name' to be a str") + pulumi.set(__self__, "service_name", service_name) + if volumes and not isinstance(volumes, list): + raise TypeError("Expected argument 'volumes' to be a list") + pulumi.set(__self__, "volumes", volumes) + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="regionName") + def region_name(self) -> str: + """ + The region name where volumes are available + """ + return pulumi.get(self, "region_name") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + """ + The id of the public cloud project. + """ + return pulumi.get(self, "service_name") + + @property + @pulumi.getter + def volumes(self) -> Sequence['outputs.GetVolumesVolumeResult']: + return pulumi.get(self, "volumes") + + +class AwaitableGetVolumesResult(GetVolumesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVolumesResult( + id=self.id, + region_name=self.region_name, + service_name=self.service_name, + volumes=self.volumes) + + +def get_volumes(region_name: Optional[str] = None, + service_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumesResult: + """ + Get all the volume from a region of a public cloud project + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + volume = ovh.CloudProject.get_volume(region_name="xxx", + service_name="yyy") + ``` + + + :param str region_name: A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + :param str service_name: The id of the public cloud project. + """ + __args__ = dict() + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('ovh:CloudProject/getVolumes:getVolumes', __args__, opts=opts, typ=GetVolumesResult).value + + return AwaitableGetVolumesResult( + id=pulumi.get(__ret__, 'id'), + region_name=pulumi.get(__ret__, 'region_name'), + service_name=pulumi.get(__ret__, 'service_name'), + volumes=pulumi.get(__ret__, 'volumes')) +def get_volumes_output(region_name: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumesResult]: + """ + Get all the volume from a region of a public cloud project + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + volume = ovh.CloudProject.get_volume(region_name="xxx", + service_name="yyy") + ``` + + + :param str region_name: A valid OVHcloud public cloud region name in which the volumes are available. Ex.: "GRA11". + :param str service_name: The id of the public cloud project. + """ + __args__ = dict() + __args__['regionName'] = region_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProject/getVolumes:getVolumes', __args__, opts=opts, typ=GetVolumesResult) + return __ret__.apply(lambda __response__: GetVolumesResult( + id=pulumi.get(__response__, 'id'), + region_name=pulumi.get(__response__, 'region_name'), + service_name=pulumi.get(__response__, 'service_name'), + volumes=pulumi.get(__response__, 'volumes'))) diff --git a/sdk/python/pulumi_ovh/cloudproject/kube.py b/sdk/python/pulumi_ovh/cloudproject/kube.py index 070875d6..61f2cb4a 100644 --- a/sdk/python/pulumi_ovh/cloudproject/kube.py +++ b/sdk/python/pulumi_ovh/cloudproject/kube.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -37,11 +42,11 @@ def __init__(__self__, *, :param pulumi.Input['KubeCustomizationKubeProxyArgs'] customization_kube_proxy: Kubernetes kube-proxy customization :param pulumi.Input[Sequence[pulumi.Input['KubeCustomizationArgs']]] customizations: **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization :param pulumi.Input[str] kube_proxy_mode: Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. - :param pulumi.Input[str] load_balancers_subnet_id: Openstack private network (or vRack) ID to use for load balancers. + :param pulumi.Input[str] load_balancers_subnet_id: Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. :param pulumi.Input[str] name: The name of the kubernetes cluster. - :param pulumi.Input[str] nodes_subnet_id: Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + :param pulumi.Input[str] nodes_subnet_id: Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** :param pulumi.Input['KubePrivateNetworkConfigurationArgs'] private_network_configuration: The private network configuration. If this is set then the 2 parameters below shall be defined. - :param pulumi.Input[str] private_network_id: OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + :param pulumi.Input[str] private_network_id: Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. :param pulumi.Input[str] update_policy: Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE]. @@ -152,7 +157,7 @@ def kube_proxy_mode(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="loadBalancersSubnetId") def load_balancers_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - Openstack private network (or vRack) ID to use for load balancers. + Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. """ return pulumi.get(self, "load_balancers_subnet_id") @@ -176,7 +181,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodesSubnetId") def nodes_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** """ return pulumi.get(self, "nodes_subnet_id") @@ -200,7 +205,7 @@ def private_network_configuration(self, value: Optional[pulumi.Input['KubePrivat @pulumi.getter(name="privateNetworkId") def private_network_id(self) -> Optional[pulumi.Input[str]]: """ - OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. """ @@ -269,13 +274,13 @@ def __init__(__self__, *, :param pulumi.Input[str] kube_proxy_mode: Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. :param pulumi.Input[str] kubeconfig: The kubeconfig file. Use this file to connect to your kubernetes cluster. :param pulumi.Input[Sequence[pulumi.Input['KubeKubeconfigAttributeArgs']]] kubeconfig_attributes: The kubeconfig file attributes. - :param pulumi.Input[str] load_balancers_subnet_id: Openstack private network (or vRack) ID to use for load balancers. + :param pulumi.Input[str] load_balancers_subnet_id: Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. :param pulumi.Input[str] name: The name of the kubernetes cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] next_upgrade_versions: Kubernetes versions available for upgrade. - :param pulumi.Input[str] nodes_subnet_id: Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + :param pulumi.Input[str] nodes_subnet_id: Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** :param pulumi.Input[str] nodes_url: Cluster nodes URL. :param pulumi.Input['KubePrivateNetworkConfigurationArgs'] private_network_configuration: The private network configuration. If this is set then the 2 parameters below shall be defined. - :param pulumi.Input[str] private_network_id: OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + :param pulumi.Input[str] private_network_id: Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. :param pulumi.Input[str] region: a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA1". Defaults to all public cloud regions. **Changing this value recreates the resource.** @@ -432,7 +437,7 @@ def kubeconfig_attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="loadBalancersSubnetId") def load_balancers_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - Openstack private network (or vRack) ID to use for load balancers. + Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. """ return pulumi.get(self, "load_balancers_subnet_id") @@ -468,7 +473,7 @@ def next_upgrade_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="nodesSubnetId") def nodes_subnet_id(self) -> Optional[pulumi.Input[str]]: """ - Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** """ return pulumi.get(self, "nodes_subnet_id") @@ -504,7 +509,7 @@ def private_network_configuration(self, value: Optional[pulumi.Input['KubePrivat @pulumi.getter(name="privateNetworkId") def private_network_id(self) -> Optional[pulumi.Input[str]]: """ - OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. """ @@ -623,11 +628,11 @@ def __init__(__self__, :param pulumi.Input[Union['KubeCustomizationKubeProxyArgs', 'KubeCustomizationKubeProxyArgsDict']] customization_kube_proxy: Kubernetes kube-proxy customization :param pulumi.Input[Sequence[pulumi.Input[Union['KubeCustomizationArgs', 'KubeCustomizationArgsDict']]]] customizations: **Deprecated** (Optional) Use `customization_apiserver` and `customization_kube_proxy` instead. Kubernetes cluster customization :param pulumi.Input[str] kube_proxy_mode: Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. - :param pulumi.Input[str] load_balancers_subnet_id: Openstack private network (or vRack) ID to use for load balancers. + :param pulumi.Input[str] load_balancers_subnet_id: Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. :param pulumi.Input[str] name: The name of the kubernetes cluster. - :param pulumi.Input[str] nodes_subnet_id: Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + :param pulumi.Input[str] nodes_subnet_id: Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** :param pulumi.Input[Union['KubePrivateNetworkConfigurationArgs', 'KubePrivateNetworkConfigurationArgsDict']] private_network_configuration: The private network configuration. If this is set then the 2 parameters below shall be defined. - :param pulumi.Input[str] private_network_id: OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + :param pulumi.Input[str] private_network_id: Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. :param pulumi.Input[str] region: a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA1". Defaults to all public cloud regions. **Changing this value recreates the resource.** @@ -762,13 +767,13 @@ def get(resource_name: str, :param pulumi.Input[str] kube_proxy_mode: Selected mode for kube-proxy. **Changing this value recreates the resource, including ETCD user data.** Defaults to `iptables`. :param pulumi.Input[str] kubeconfig: The kubeconfig file. Use this file to connect to your kubernetes cluster. :param pulumi.Input[Sequence[pulumi.Input[Union['KubeKubeconfigAttributeArgs', 'KubeKubeconfigAttributeArgsDict']]]] kubeconfig_attributes: The kubeconfig file attributes. - :param pulumi.Input[str] load_balancers_subnet_id: Openstack private network (or vRack) ID to use for load balancers. + :param pulumi.Input[str] load_balancers_subnet_id: Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. :param pulumi.Input[str] name: The name of the kubernetes cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] next_upgrade_versions: Kubernetes versions available for upgrade. - :param pulumi.Input[str] nodes_subnet_id: Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + :param pulumi.Input[str] nodes_subnet_id: Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** :param pulumi.Input[str] nodes_url: Cluster nodes URL. :param pulumi.Input[Union['KubePrivateNetworkConfigurationArgs', 'KubePrivateNetworkConfigurationArgsDict']] private_network_configuration: The private network configuration. If this is set then the 2 parameters below shall be defined. - :param pulumi.Input[str] private_network_id: OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + :param pulumi.Input[str] private_network_id: Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. :param pulumi.Input[str] region: a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA1". Defaults to all public cloud regions. **Changing this value recreates the resource.** @@ -874,7 +879,7 @@ def kubeconfig_attributes(self) -> pulumi.Output[Sequence['outputs.KubeKubeconfi @pulumi.getter(name="loadBalancersSubnetId") def load_balancers_subnet_id(self) -> pulumi.Output[Optional[str]]: """ - Openstack private network (or vRack) ID to use for load balancers. + Subnet ID to use for Public Load Balancers, this subnet must belong to  `private_network_id`. Defaults to the same subnet as the nodes (see `nodes_subnet_id`). Requires `private_network_id` to be defined. See more network requirements in the [documentation](https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-expose-applications-using-load-balancer?id=kb_article_view&sysparm_article=KB0062873) for more information. """ return pulumi.get(self, "load_balancers_subnet_id") @@ -898,7 +903,7 @@ def next_upgrade_versions(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="nodesSubnetId") def nodes_subnet_id(self) -> pulumi.Output[str]: """ - Openstack private network (or vRack) ID to use for nodes. **Cannot be updated, it can only be used at cluster creation or reset.** + Subnet ID to use for nodes, this subnet must belong to `private_network_id`. Default uses the first subnet belonging to the private network with id `private_network_id`. This attribute requires `private_network_id` to be defined. **Cannot be updated, it can only be used at cluster creation or reset.** """ return pulumi.get(self, "nodes_subnet_id") @@ -922,7 +927,7 @@ def private_network_configuration(self) -> pulumi.Output[Optional['outputs.KubeP @pulumi.getter(name="privateNetworkId") def private_network_id(self) -> pulumi.Output[Optional[str]]: """ - OpenStack private network (or vRack) ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. + Private network ID to use. **Changing this value recreates the resource, including ETCD user data.** Defaults - not use private network. > __WARNING__ Updating the private network ID resets the cluster so that all user data is deleted. """ diff --git a/sdk/python/pulumi_ovh/cloudproject/kube_ip_restrictions.py b/sdk/python/pulumi_ovh/cloudproject/kube_ip_restrictions.py index 09860319..85bc52ae 100644 --- a/sdk/python/pulumi_ovh/cloudproject/kube_ip_restrictions.py +++ b/sdk/python/pulumi_ovh/cloudproject/kube_ip_restrictions.py @@ -4,9 +4,14 @@ 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__ = ['KubeIpRestrictionsArgs', 'KubeIpRestrictions'] diff --git a/sdk/python/pulumi_ovh/cloudproject/kube_node_pool.py b/sdk/python/pulumi_ovh/cloudproject/kube_node_pool.py index 3638de48..fde90051 100644 --- a/sdk/python/pulumi_ovh/cloudproject/kube_node_pool.py +++ b/sdk/python/pulumi_ovh/cloudproject/kube_node_pool.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/kube_oidc.py b/sdk/python/pulumi_ovh/cloudproject/kube_oidc.py index a4129135..da19fb33 100644 --- a/sdk/python/pulumi_ovh/cloudproject/kube_oidc.py +++ b/sdk/python/pulumi_ovh/cloudproject/kube_oidc.py @@ -4,9 +4,14 @@ 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__ = ['KubeOidcArgs', 'KubeOidc'] diff --git a/sdk/python/pulumi_ovh/cloudproject/network_private.py b/sdk/python/pulumi_ovh/cloudproject/network_private.py index 6d353012..88fff40c 100644 --- a/sdk/python/pulumi_ovh/cloudproject/network_private.py +++ b/sdk/python/pulumi_ovh/cloudproject/network_private.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/network_private_subnet.py b/sdk/python/pulumi_ovh/cloudproject/network_private_subnet.py index 88ba35b3..b9f1aa70 100644 --- a/sdk/python/pulumi_ovh/cloudproject/network_private_subnet.py +++ b/sdk/python/pulumi_ovh/cloudproject/network_private_subnet.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -40,7 +45,6 @@ def __init__(__self__, *, Changing this value recreates the subnet. :param pulumi.Input[bool] dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param pulumi.Input[bool] no_gateway: Set to true if you don't want to set a default gateway IP. Changing this value recreates the resource. Defaults to false. """ @@ -139,7 +143,6 @@ def dhcp(self) -> Optional[pulumi.Input[bool]]: """ Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ """ return pulumi.get(self, "dhcp") @@ -180,7 +183,6 @@ def __init__(__self__, *, :param pulumi.Input[str] cidr: Ip Block representing the subnet cidr. :param pulumi.Input[bool] dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param pulumi.Input[str] end: Last ip for this region. Changing this value recreates the subnet. :param pulumi.Input[str] gateway_ip: The IP of the gateway @@ -244,7 +246,6 @@ def dhcp(self) -> Optional[pulumi.Input[bool]]: """ Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ """ return pulumi.get(self, "dhcp") @@ -421,7 +422,6 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param pulumi.Input[str] end: Last ip for this region. Changing this value recreates the subnet. :param pulumi.Input[str] network: Global network in CIDR format. @@ -559,7 +559,6 @@ def get(resource_name: str, :param pulumi.Input[str] cidr: Ip Block representing the subnet cidr. :param pulumi.Input[bool] dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param pulumi.Input[str] end: Last ip for this region. Changing this value recreates the subnet. :param pulumi.Input[str] gateway_ip: The IP of the gateway @@ -613,7 +612,6 @@ def dhcp(self) -> pulumi.Output[Optional[bool]]: """ Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ """ return pulumi.get(self, "dhcp") diff --git a/sdk/python/pulumi_ovh/cloudproject/network_private_subnet_v2.py b/sdk/python/pulumi_ovh/cloudproject/network_private_subnet_v2.py new file mode 100644 index 00000000..9649174f --- /dev/null +++ b/sdk/python/pulumi_ovh/cloudproject/network_private_subnet_v2.py @@ -0,0 +1,734 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['NetworkPrivateSubnetV2Args', 'NetworkPrivateSubnetV2'] + +@pulumi.input_type +class NetworkPrivateSubnetV2Args: + def __init__(__self__, *, + cidr: pulumi.Input[str], + network_id: pulumi.Input[str], + region: pulumi.Input[str], + service_name: pulumi.Input[str], + allocation_pools: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + dns_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_gateway_ip: Optional[pulumi.Input[bool]] = None, + gateway_ip: Optional[pulumi.Input[str]] = None, + host_routes: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a NetworkPrivateSubnetV2 resource. + :param pulumi.Input[str] cidr: IP range of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[str] network_id: The id of the network. + Changing this forces a new resource to be created. + :param pulumi.Input[str] region: The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + :param pulumi.Input[str] service_name: The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + :param pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]] allocation_pools: DHCP allocation pools of subnet + :param pulumi.Input[bool] dhcp: Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_nameservers: DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + :param pulumi.Input[bool] enable_gateway_ip: Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + :param pulumi.Input[str] gateway_ip: See Argument Reference above. + :param pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]] host_routes: Static host routes of subnet + :param pulumi.Input[str] name: Name of the subnet + Changing this value recreates the subnet. + """ + pulumi.set(__self__, "cidr", cidr) + pulumi.set(__self__, "network_id", network_id) + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "service_name", service_name) + if allocation_pools is not None: + pulumi.set(__self__, "allocation_pools", allocation_pools) + if dhcp is not None: + pulumi.set(__self__, "dhcp", dhcp) + if dns_nameservers is not None: + pulumi.set(__self__, "dns_nameservers", dns_nameservers) + if enable_gateway_ip is not None: + pulumi.set(__self__, "enable_gateway_ip", enable_gateway_ip) + if gateway_ip is not None: + pulumi.set(__self__, "gateway_ip", gateway_ip) + if host_routes is not None: + pulumi.set(__self__, "host_routes", host_routes) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def cidr(self) -> pulumi.Input[str]: + """ + IP range of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "cidr") + + @cidr.setter + def cidr(self, value: pulumi.Input[str]): + pulumi.set(self, "cidr", value) + + @property + @pulumi.getter(name="networkId") + def network_id(self) -> pulumi.Input[str]: + """ + The id of the network. + Changing this forces a new resource to be created. + """ + return pulumi.get(self, "network_id") + + @network_id.setter + def network_id(self, value: pulumi.Input[str]): + pulumi.set(self, "network_id", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter(name="allocationPools") + def allocation_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]]: + """ + DHCP allocation pools of subnet + """ + return pulumi.get(self, "allocation_pools") + + @allocation_pools.setter + def allocation_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]]): + pulumi.set(self, "allocation_pools", value) + + @property + @pulumi.getter + def dhcp(self) -> Optional[pulumi.Input[bool]]: + """ + Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + """ + return pulumi.get(self, "dhcp") + + @dhcp.setter + def dhcp(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dhcp", value) + + @property + @pulumi.getter(name="dnsNameservers") + def dns_nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + """ + return pulumi.get(self, "dns_nameservers") + + @dns_nameservers.setter + def dns_nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dns_nameservers", value) + + @property + @pulumi.getter(name="enableGatewayIp") + def enable_gateway_ip(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + """ + return pulumi.get(self, "enable_gateway_ip") + + @enable_gateway_ip.setter + def enable_gateway_ip(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_gateway_ip", value) + + @property + @pulumi.getter(name="gatewayIp") + def gateway_ip(self) -> Optional[pulumi.Input[str]]: + """ + See Argument Reference above. + """ + return pulumi.get(self, "gateway_ip") + + @gateway_ip.setter + def gateway_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gateway_ip", value) + + @property + @pulumi.getter(name="hostRoutes") + def host_routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]]: + """ + Static host routes of subnet + """ + return pulumi.get(self, "host_routes") + + @host_routes.setter + def host_routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]]): + pulumi.set(self, "host_routes", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _NetworkPrivateSubnetV2State: + def __init__(__self__, *, + allocation_pools: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]] = None, + cidr: Optional[pulumi.Input[str]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + dns_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_gateway_ip: Optional[pulumi.Input[bool]] = None, + gateway_ip: Optional[pulumi.Input[str]] = None, + host_routes: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + network_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering NetworkPrivateSubnetV2 resources. + :param pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]] allocation_pools: DHCP allocation pools of subnet + :param pulumi.Input[str] cidr: IP range of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[bool] dhcp: Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_nameservers: DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + :param pulumi.Input[bool] enable_gateway_ip: Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + :param pulumi.Input[str] gateway_ip: See Argument Reference above. + :param pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]] host_routes: Static host routes of subnet + :param pulumi.Input[str] name: Name of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[str] network_id: The id of the network. + Changing this forces a new resource to be created. + :param pulumi.Input[str] region: The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + :param pulumi.Input[str] service_name: The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + if allocation_pools is not None: + pulumi.set(__self__, "allocation_pools", allocation_pools) + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + if dhcp is not None: + pulumi.set(__self__, "dhcp", dhcp) + if dns_nameservers is not None: + pulumi.set(__self__, "dns_nameservers", dns_nameservers) + if enable_gateway_ip is not None: + pulumi.set(__self__, "enable_gateway_ip", enable_gateway_ip) + if gateway_ip is not None: + pulumi.set(__self__, "gateway_ip", gateway_ip) + if host_routes is not None: + pulumi.set(__self__, "host_routes", host_routes) + if name is not None: + pulumi.set(__self__, "name", name) + if network_id is not None: + pulumi.set(__self__, "network_id", network_id) + if region is not None: + pulumi.set(__self__, "region", region) + if service_name is not None: + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter(name="allocationPools") + def allocation_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]]: + """ + DHCP allocation pools of subnet + """ + return pulumi.get(self, "allocation_pools") + + @allocation_pools.setter + def allocation_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2AllocationPoolArgs']]]]): + pulumi.set(self, "allocation_pools", value) + + @property + @pulumi.getter + def cidr(self) -> Optional[pulumi.Input[str]]: + """ + IP range of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "cidr") + + @cidr.setter + def cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cidr", value) + + @property + @pulumi.getter + def dhcp(self) -> Optional[pulumi.Input[bool]]: + """ + Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + """ + return pulumi.get(self, "dhcp") + + @dhcp.setter + def dhcp(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dhcp", value) + + @property + @pulumi.getter(name="dnsNameservers") + def dns_nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + """ + return pulumi.get(self, "dns_nameservers") + + @dns_nameservers.setter + def dns_nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dns_nameservers", value) + + @property + @pulumi.getter(name="enableGatewayIp") + def enable_gateway_ip(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + """ + return pulumi.get(self, "enable_gateway_ip") + + @enable_gateway_ip.setter + def enable_gateway_ip(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_gateway_ip", value) + + @property + @pulumi.getter(name="gatewayIp") + def gateway_ip(self) -> Optional[pulumi.Input[str]]: + """ + See Argument Reference above. + """ + return pulumi.get(self, "gateway_ip") + + @gateway_ip.setter + def gateway_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gateway_ip", value) + + @property + @pulumi.getter(name="hostRoutes") + def host_routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]]: + """ + Static host routes of subnet + """ + return pulumi.get(self, "host_routes") + + @host_routes.setter + def host_routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkPrivateSubnetV2HostRouteArgs']]]]): + pulumi.set(self, "host_routes", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="networkId") + def network_id(self) -> Optional[pulumi.Input[str]]: + """ + The id of the network. + Changing this forces a new resource to be created. + """ + return pulumi.get(self, "network_id") + + @network_id.setter + def network_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_id", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> Optional[pulumi.Input[str]]: + """ + The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_name", value) + + +class NetworkPrivateSubnetV2(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allocation_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2AllocationPoolArgs', 'NetworkPrivateSubnetV2AllocationPoolArgsDict']]]]] = None, + cidr: Optional[pulumi.Input[str]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + dns_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_gateway_ip: Optional[pulumi.Input[bool]] = None, + gateway_ip: Optional[pulumi.Input[str]] = None, + host_routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2HostRouteArgs', 'NetworkPrivateSubnetV2HostRouteArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + network_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Creates a subnet in a private network of a public cloud region. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + subnet = ovh.cloud_project.NetworkPrivateSubnetV2("subnet", + cidr="192.168.168.0/24", + dhcp=True, + dns_nameservers=["1.1.1.1"], + enable_gateway_ip=True, + network_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + region="XXX1", + service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") + ``` + + ## Import + + Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., + + bash + + ```sh + $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2AllocationPoolArgs', 'NetworkPrivateSubnetV2AllocationPoolArgsDict']]]] allocation_pools: DHCP allocation pools of subnet + :param pulumi.Input[str] cidr: IP range of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[bool] dhcp: Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_nameservers: DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + :param pulumi.Input[bool] enable_gateway_ip: Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + :param pulumi.Input[str] gateway_ip: See Argument Reference above. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2HostRouteArgs', 'NetworkPrivateSubnetV2HostRouteArgsDict']]]] host_routes: Static host routes of subnet + :param pulumi.Input[str] name: Name of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[str] network_id: The id of the network. + Changing this forces a new resource to be created. + :param pulumi.Input[str] region: The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + :param pulumi.Input[str] service_name: The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NetworkPrivateSubnetV2Args, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates a subnet in a private network of a public cloud region. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + subnet = ovh.cloud_project.NetworkPrivateSubnetV2("subnet", + cidr="192.168.168.0/24", + dhcp=True, + dns_nameservers=["1.1.1.1"], + enable_gateway_ip=True, + network_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + region="XXX1", + service_name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") + ``` + + ## Import + + Subnet in a private network of a public cloud project can be imported using the `service_name`, `region`, `network_id` and `subnet_id`, separated by "/" E.g., + + bash + + ```sh + $ pulumi import ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2 mysubnet 5ceb661434891538b54a4f2c66fc4b746e/BHS5/25807101-8aaa-4ea5-b507-61f0d661b101/0f0b73a4-403b-45e4-86d0-b438f1291909 + ``` + + :param str resource_name: The name of the resource. + :param NetworkPrivateSubnetV2Args args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(NetworkPrivateSubnetV2Args, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + allocation_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2AllocationPoolArgs', 'NetworkPrivateSubnetV2AllocationPoolArgsDict']]]]] = None, + cidr: Optional[pulumi.Input[str]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + dns_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_gateway_ip: Optional[pulumi.Input[bool]] = None, + gateway_ip: Optional[pulumi.Input[str]] = None, + host_routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2HostRouteArgs', 'NetworkPrivateSubnetV2HostRouteArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + network_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = NetworkPrivateSubnetV2Args.__new__(NetworkPrivateSubnetV2Args) + + __props__.__dict__["allocation_pools"] = allocation_pools + if cidr is None and not opts.urn: + raise TypeError("Missing required property 'cidr'") + __props__.__dict__["cidr"] = cidr + __props__.__dict__["dhcp"] = dhcp + __props__.__dict__["dns_nameservers"] = dns_nameservers + __props__.__dict__["enable_gateway_ip"] = enable_gateway_ip + __props__.__dict__["gateway_ip"] = gateway_ip + __props__.__dict__["host_routes"] = host_routes + __props__.__dict__["name"] = name + if network_id is None and not opts.urn: + raise TypeError("Missing required property 'network_id'") + __props__.__dict__["network_id"] = network_id + if region is None and not opts.urn: + raise TypeError("Missing required property 'region'") + __props__.__dict__["region"] = region + if service_name is None and not opts.urn: + raise TypeError("Missing required property 'service_name'") + __props__.__dict__["service_name"] = service_name + super(NetworkPrivateSubnetV2, __self__).__init__( + 'ovh:CloudProject/networkPrivateSubnetV2:NetworkPrivateSubnetV2', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + allocation_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2AllocationPoolArgs', 'NetworkPrivateSubnetV2AllocationPoolArgsDict']]]]] = None, + cidr: Optional[pulumi.Input[str]] = None, + dhcp: Optional[pulumi.Input[bool]] = None, + dns_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_gateway_ip: Optional[pulumi.Input[bool]] = None, + gateway_ip: Optional[pulumi.Input[str]] = None, + host_routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2HostRouteArgs', 'NetworkPrivateSubnetV2HostRouteArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + network_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + service_name: Optional[pulumi.Input[str]] = None) -> 'NetworkPrivateSubnetV2': + """ + Get an existing NetworkPrivateSubnetV2 resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2AllocationPoolArgs', 'NetworkPrivateSubnetV2AllocationPoolArgsDict']]]] allocation_pools: DHCP allocation pools of subnet + :param pulumi.Input[str] cidr: IP range of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[bool] dhcp: Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_nameservers: DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + :param pulumi.Input[bool] enable_gateway_ip: Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + :param pulumi.Input[str] gateway_ip: See Argument Reference above. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkPrivateSubnetV2HostRouteArgs', 'NetworkPrivateSubnetV2HostRouteArgsDict']]]] host_routes: Static host routes of subnet + :param pulumi.Input[str] name: Name of the subnet + Changing this value recreates the subnet. + :param pulumi.Input[str] network_id: The id of the network. + Changing this forces a new resource to be created. + :param pulumi.Input[str] region: The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + :param pulumi.Input[str] service_name: The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NetworkPrivateSubnetV2State.__new__(_NetworkPrivateSubnetV2State) + + __props__.__dict__["allocation_pools"] = allocation_pools + __props__.__dict__["cidr"] = cidr + __props__.__dict__["dhcp"] = dhcp + __props__.__dict__["dns_nameservers"] = dns_nameservers + __props__.__dict__["enable_gateway_ip"] = enable_gateway_ip + __props__.__dict__["gateway_ip"] = gateway_ip + __props__.__dict__["host_routes"] = host_routes + __props__.__dict__["name"] = name + __props__.__dict__["network_id"] = network_id + __props__.__dict__["region"] = region + __props__.__dict__["service_name"] = service_name + return NetworkPrivateSubnetV2(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="allocationPools") + def allocation_pools(self) -> pulumi.Output[Sequence['outputs.NetworkPrivateSubnetV2AllocationPool']]: + """ + DHCP allocation pools of subnet + """ + return pulumi.get(self, "allocation_pools") + + @property + @pulumi.getter + def cidr(self) -> pulumi.Output[str]: + """ + IP range of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "cidr") + + @property + @pulumi.getter + def dhcp(self) -> pulumi.Output[Optional[bool]]: + """ + Enable DHCP. + Changing this forces a new resource to be created. Defaults to true. + """ + return pulumi.get(self, "dhcp") + + @property + @pulumi.getter(name="dnsNameservers") + def dns_nameservers(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + DNS nameservers used by DHCP + Changing this value recreates the resource. Defaults to OVH default DNS nameserver. + """ + return pulumi.get(self, "dns_nameservers") + + @property + @pulumi.getter(name="enableGatewayIp") + def enable_gateway_ip(self) -> pulumi.Output[Optional[bool]]: + """ + Set to true if you want to set a default gateway IP. + Changing this value recreates the resource. Defaults to true. + """ + return pulumi.get(self, "enable_gateway_ip") + + @property + @pulumi.getter(name="gatewayIp") + def gateway_ip(self) -> pulumi.Output[str]: + """ + See Argument Reference above. + """ + return pulumi.get(self, "gateway_ip") + + @property + @pulumi.getter(name="hostRoutes") + def host_routes(self) -> pulumi.Output[Optional[Sequence['outputs.NetworkPrivateSubnetV2HostRoute']]]: + """ + Static host routes of subnet + """ + return pulumi.get(self, "host_routes") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the subnet + Changing this value recreates the subnet. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkId") + def network_id(self) -> pulumi.Output[str]: + """ + The id of the network. + Changing this forces a new resource to be created. + """ + return pulumi.get(self, "network_id") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[str]: + """ + The region in which the network subnet will be created. + Ex.: "GRA1". Changing this value recreates the resource. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Output[str]: + """ + The id of the public cloud project. If omitted, + the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. + """ + return pulumi.get(self, "service_name") + diff --git a/sdk/python/pulumi_ovh/cloudproject/outputs.py b/sdk/python/pulumi_ovh/cloudproject/outputs.py index fe217910..4c11b5a8 100644 --- a/sdk/python/pulumi_ovh/cloudproject/outputs.py +++ b/sdk/python/pulumi_ovh/cloudproject/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -35,6 +40,8 @@ 'NetworkPrivateRegionsAttribute', 'NetworkPrivateRegionsStatus', 'NetworkPrivateSubnetIpPool', + 'NetworkPrivateSubnetV2AllocationPool', + 'NetworkPrivateSubnetV2HostRoute', 'ProjectOrder', 'ProjectOrderDetail', 'ProjectPlan', @@ -74,6 +81,7 @@ 'GetUserRoleResult', 'GetUsersUserResult', 'GetUsersUserRoleResult', + 'GetVolumesVolumeResult', ] @pulumi.output_type @@ -1271,7 +1279,6 @@ def __init__(__self__, *, """ :param bool dhcp: Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ :param str end: Last ip for this region. Changing this value recreates the subnet. :param str network: Global network in CIDR format. @@ -1298,7 +1305,6 @@ def dhcp(self) -> Optional[bool]: """ Enable DHCP. Changing this forces a new resource to be created. Defaults to false. - _ """ return pulumi.get(self, "dhcp") @@ -1339,6 +1345,44 @@ def start(self) -> Optional[str]: return pulumi.get(self, "start") +@pulumi.output_type +class NetworkPrivateSubnetV2AllocationPool(dict): + def __init__(__self__, *, + end: str, + start: str): + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> str: + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> str: + return pulumi.get(self, "start") + + +@pulumi.output_type +class NetworkPrivateSubnetV2HostRoute(dict): + def __init__(__self__, *, + destination: str, + nexthop: str): + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "nexthop", nexthop) + + @property + @pulumi.getter + def destination(self) -> str: + return pulumi.get(self, "destination") + + @property + @pulumi.getter + def nexthop(self) -> str: + return pulumi.get(self, "nexthop") + + @pulumi.output_type class ProjectOrder(dict): @staticmethod @@ -3433,3 +3477,43 @@ def permissions(self) -> Sequence[str]: return pulumi.get(self, "permissions") +@pulumi.output_type +class GetVolumesVolumeResult(dict): + def __init__(__self__, *, + id: str, + name: str, + size: float): + """ + :param str id: The id of the volume + :param str name: The name of the volume + :param float size: The size of the volume + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "size", size) + + @property + @pulumi.getter + def id(self) -> str: + """ + The id of the volume + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the volume + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def size(self) -> float: + """ + The size of the volume + """ + return pulumi.get(self, "size") + + diff --git a/sdk/python/pulumi_ovh/cloudproject/project.py b/sdk/python/pulumi_ovh/cloudproject/project.py index d5992ceb..886d6db8 100644 --- a/sdk/python/pulumi_ovh/cloudproject/project.py +++ b/sdk/python/pulumi_ovh/cloudproject/project.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,59 +21,37 @@ @pulumi.input_type class ProjectArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['ProjectPlanArgs'], description: Optional[pulumi.Input[str]] = None, orders: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['ProjectPlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectPlanOptionArgs']]]] = None): """ The set of arguments for constructing a Project resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['ProjectPlanArgs'] plan: Product Plan to order :param pulumi.Input[str] description: A description associated with the user. :param pulumi.Input[Sequence[pulumi.Input['ProjectOrderArgs']]] orders: Details about the order that was used to create the public cloud project + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['ProjectPlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['ProjectPlanOptionArgs']]] plan_options: Product Plan to order """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if description is not None: pulumi.set(__self__, "description", description) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['ProjectPlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['ProjectPlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -93,6 +76,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectOrderArg def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ProjectOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -106,6 +101,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ProjectPlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ProjectPlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectPlanOptionArgs']]]]: @@ -318,13 +325,31 @@ def __init__(__self__, """ ## Import - Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. + Cloud project can be imported using the `project_id`. + + Using the following configuration: + + hcl + + import { + + to = ovh_cloud_project.my_cloud_project + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id - ``` + $ pulumi preview -generate-config-out=cloudproject.tf + + $ pulumi up + + The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -339,18 +364,36 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ProjectArgs, + args: Optional[ProjectArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Import - Cloud project can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the Public Cloud project. + Cloud project can be imported using the `project_id`. + + Using the following configuration: + + hcl + + import { + + to = ovh_cloud_project.my_cloud_project + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:CloudProject/project:Project my_cloud_project order_id - ``` + $ pulumi preview -generate-config-out=cloudproject.tf + + $ pulumi up + + The file `cloudproject.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param ProjectArgs args: The arguments to use to populate this resource's properties. @@ -384,12 +427,8 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["project_urn"] = None diff --git a/sdk/python/pulumi_ovh/cloudproject/region_load_balancer_log_subscription.py b/sdk/python/pulumi_ovh/cloudproject/region_load_balancer_log_subscription.py index 9161f542..d0b01dc2 100644 --- a/sdk/python/pulumi_ovh/cloudproject/region_load_balancer_log_subscription.py +++ b/sdk/python/pulumi_ovh/cloudproject/region_load_balancer_log_subscription.py @@ -4,9 +4,14 @@ 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__ = ['RegionLoadBalancerLogSubscriptionArgs', 'RegionLoadBalancerLogSubscription'] diff --git a/sdk/python/pulumi_ovh/cloudproject/region_storage_presign.py b/sdk/python/pulumi_ovh/cloudproject/region_storage_presign.py index 88d95399..a017214a 100644 --- a/sdk/python/pulumi_ovh/cloudproject/region_storage_presign.py +++ b/sdk/python/pulumi_ovh/cloudproject/region_storage_presign.py @@ -4,9 +4,14 @@ 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__ = ['RegionStoragePresignArgs', 'RegionStoragePresign'] diff --git a/sdk/python/pulumi_ovh/cloudproject/s3_credential.py b/sdk/python/pulumi_ovh/cloudproject/s3_credential.py index 8e2b4c37..d755c1fd 100644 --- a/sdk/python/pulumi_ovh/cloudproject/s3_credential.py +++ b/sdk/python/pulumi_ovh/cloudproject/s3_credential.py @@ -4,9 +4,14 @@ 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__ = ['S3CredentialArgs', 'S3Credential'] diff --git a/sdk/python/pulumi_ovh/cloudproject/s3_policy.py b/sdk/python/pulumi_ovh/cloudproject/s3_policy.py index 20988058..7592a5ce 100644 --- a/sdk/python/pulumi_ovh/cloudproject/s3_policy.py +++ b/sdk/python/pulumi_ovh/cloudproject/s3_policy.py @@ -4,9 +4,14 @@ 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__ = ['S3PolicyArgs', 'S3Policy'] diff --git a/sdk/python/pulumi_ovh/cloudproject/user.py b/sdk/python/pulumi_ovh/cloudproject/user.py index 01422d7b..65e2e7bd 100644 --- a/sdk/python/pulumi_ovh/cloudproject/user.py +++ b/sdk/python/pulumi_ovh/cloudproject/user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudproject/workflow_backup.py b/sdk/python/pulumi_ovh/cloudproject/workflow_backup.py index ce97e29b..4cc22db5 100644 --- a/sdk/python/pulumi_ovh/cloudproject/workflow_backup.py +++ b/sdk/python/pulumi_ovh/cloudproject/workflow_backup.py @@ -4,9 +4,14 @@ 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__ = ['WorkflowBackupArgs', 'WorkflowBackup'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/_inputs.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/_inputs.py index 1cae117f..54551f09 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/_inputs.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/_inputs.py @@ -4,15 +4,37 @@ 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__ = [ 'OpensearchUserAclArgs', + 'OpensearchUserAclArgsDict', ] +MYPY = False + +if not MYPY: + class OpensearchUserAclArgsDict(TypedDict): + pattern: pulumi.Input[str] + """ + Pattern of the ACL. + """ + permission: pulumi.Input[str] + """ + Permission of the ACL + Available permission: + """ +elif False: + OpensearchUserAclArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class OpensearchUserAclArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/database_instance.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/database_instance.py index 6c325a3d..30278194 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/database_instance.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/database_instance.py @@ -4,9 +4,14 @@ 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__ = ['DatabaseInstanceArgs', 'DatabaseInstance'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_capabilities.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_capabilities.py index 3e6ada63..79f16f84 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_capabilities.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_capabilities.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -126,9 +131,6 @@ def get_capabilities(service_name: Optional[str] = None, options=pulumi.get(__ret__, 'options'), plans=pulumi.get(__ret__, 'plans'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_capabilities) def get_capabilities_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCapabilitiesResult]: """ @@ -138,4 +140,14 @@ def get_capabilities_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getCapabilities:getCapabilities', __args__, opts=opts, typ=GetCapabilitiesResult) + return __ret__.apply(lambda __response__: GetCapabilitiesResult( + engines=pulumi.get(__response__, 'engines'), + flavors=pulumi.get(__response__, 'flavors'), + id=pulumi.get(__response__, 'id'), + options=pulumi.get(__response__, 'options'), + plans=pulumi.get(__response__, 'plans'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_certificates.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_certificates.py index 44d36fca..3054b509 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_certificates.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_certificates.py @@ -4,9 +4,14 @@ 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__ = [ @@ -132,9 +137,6 @@ def get_certificates(cluster_id: Optional[str] = None, engine=pulumi.get(__ret__, 'engine'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_certificates) def get_certificates_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -162,4 +164,15 @@ def get_certificates_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getCertificates:getCertificates', __args__, opts=opts, typ=GetCertificatesResult) + return __ret__.apply(lambda __response__: GetCertificatesResult( + ca=pulumi.get(__response__, 'ca'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database.py index c2de047d..595e99f8 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -352,9 +357,6 @@ def get_database(engine: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status'), version=pulumi.get(__ret__, 'version')) - - -@_utilities.lift_output_func(get_database) def get_database_output(engine: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -383,4 +385,32 @@ def get_database_output(engine: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['engine'] = engine + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabase:getDatabase', __args__, opts=opts, typ=GetDatabaseResult) + return __ret__.apply(lambda __response__: GetDatabaseResult( + advanced_configuration=pulumi.get(__response__, 'advanced_configuration'), + backup_regions=pulumi.get(__response__, 'backup_regions'), + backup_time=pulumi.get(__response__, 'backup_time'), + created_at=pulumi.get(__response__, 'created_at'), + description=pulumi.get(__response__, 'description'), + disk_size=pulumi.get(__response__, 'disk_size'), + disk_type=pulumi.get(__response__, 'disk_type'), + endpoints=pulumi.get(__response__, 'endpoints'), + engine=pulumi.get(__response__, 'engine'), + flavor=pulumi.get(__response__, 'flavor'), + id=pulumi.get(__response__, 'id'), + ip_restrictions=pulumi.get(__response__, 'ip_restrictions'), + kafka_rest_api=pulumi.get(__response__, 'kafka_rest_api'), + kafka_schema_registry=pulumi.get(__response__, 'kafka_schema_registry'), + maintenance_time=pulumi.get(__response__, 'maintenance_time'), + network_type=pulumi.get(__response__, 'network_type'), + nodes=pulumi.get(__response__, 'nodes'), + opensearch_acls_enabled=pulumi.get(__response__, 'opensearch_acls_enabled'), + plan=pulumi.get(__response__, 'plan'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'), + version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instance.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instance.py index 8d1c9a08..3bcb16f5 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instance.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instance.py @@ -4,9 +4,14 @@ 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__ = [ @@ -149,9 +154,6 @@ def get_database_instance(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_database_instance) def get_database_instance_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -182,4 +184,17 @@ def get_database_instance_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseInstance:getDatabaseInstance', __args__, opts=opts, typ=GetDatabaseInstanceResult) + return __ret__.apply(lambda __response__: GetDatabaseInstanceResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + default=pulumi.get(__response__, 'default'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instances.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instances.py index e3ddca88..edee4778 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instances.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_instances.py @@ -4,9 +4,14 @@ 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__ = [ @@ -132,9 +137,6 @@ def get_database_instances(cluster_id: Optional[str] = None, engine=pulumi.get(__ret__, 'engine'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_database_instances) def get_database_instances_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -162,4 +164,15 @@ def get_database_instances_output(cluster_id: Optional[pulumi.Input[str]] = None :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseInstances:getDatabaseInstances', __args__, opts=opts, typ=GetDatabaseInstancesResult) + return __ret__.apply(lambda __response__: GetDatabaseInstancesResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + database_ids=pulumi.get(__response__, 'database_ids'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integration.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integration.py index 16ef4ae2..d46485b4 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integration.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integration.py @@ -4,9 +4,14 @@ 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__ = [ @@ -187,9 +192,6 @@ def get_database_integration(cluster_id: Optional[str] = None, source_service_id=pulumi.get(__ret__, 'source_service_id'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_database_integration) def get_database_integration_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, @@ -219,4 +221,20 @@ def get_database_integration_output(cluster_id: Optional[pulumi.Input[str]] = No :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseIntegration:getDatabaseIntegration', __args__, opts=opts, typ=GetDatabaseIntegrationResult) + return __ret__.apply(lambda __response__: GetDatabaseIntegrationResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + destination_service_id=pulumi.get(__response__, 'destination_service_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + parameters=pulumi.get(__response__, 'parameters'), + service_name=pulumi.get(__response__, 'service_name'), + source_service_id=pulumi.get(__response__, 'source_service_id'), + status=pulumi.get(__response__, 'status'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integrations.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integrations.py index 7550ada2..a90d9f16 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integrations.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_integrations.py @@ -4,9 +4,14 @@ 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__ = [ @@ -132,9 +137,6 @@ def get_database_integrations(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), integration_ids=pulumi.get(__ret__, 'integration_ids'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_database_integrations) def get_database_integrations_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -162,4 +164,15 @@ def get_database_integrations_output(cluster_id: Optional[pulumi.Input[str]] = N :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseIntegrations:getDatabaseIntegrations', __args__, opts=opts, typ=GetDatabaseIntegrationsResult) + return __ret__.apply(lambda __response__: GetDatabaseIntegrationsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + integration_ids=pulumi.get(__response__, 'integration_ids'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscription.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscription.py index 93e3d896..7c934037 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscription.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscription.py @@ -4,9 +4,14 @@ 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__ = [ @@ -213,9 +218,6 @@ def get_database_log_subscription(cluster_id: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), stream_id=pulumi.get(__ret__, 'stream_id'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_database_log_subscription) def get_database_log_subscription_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, @@ -245,4 +247,22 @@ def get_database_log_subscription_output(cluster_id: Optional[pulumi.Input[str]] :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseLogSubscription:getDatabaseLogSubscription', __args__, opts=opts, typ=GetDatabaseLogSubscriptionResult) + return __ret__.apply(lambda __response__: GetDatabaseLogSubscriptionResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + kind=pulumi.get(__response__, 'kind'), + ldp_service_name=pulumi.get(__response__, 'ldp_service_name'), + resource_name=pulumi.get(__response__, 'resource_name'), + resource_type=pulumi.get(__response__, 'resource_type'), + service_name=pulumi.get(__response__, 'service_name'), + stream_id=pulumi.get(__response__, 'stream_id'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscriptions.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscriptions.py index 004ede96..18e7ae07 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscriptions.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_log_subscriptions.py @@ -4,9 +4,14 @@ 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__ = [ @@ -97,7 +102,7 @@ def get_database_log_subscriptions(cluster_id: Optional[str] = None, service_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatabaseLogSubscriptionsResult: """ - Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + Use this data source to get the list of log subscription for a cluster associated with a public cloud project. ## Example Usage @@ -131,15 +136,12 @@ def get_database_log_subscriptions(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), subscription_ids=pulumi.get(__ret__, 'subscription_ids')) - - -@_utilities.lift_output_func(get_database_log_subscriptions) def get_database_log_subscriptions_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabaseLogSubscriptionsResult]: """ - Use this data source to get the list of log subscrition for a cluster associated with a public cloud project. + Use this data source to get the list of log subscription for a cluster associated with a public cloud project. ## Example Usage @@ -160,4 +162,15 @@ def get_database_log_subscriptions_output(cluster_id: Optional[pulumi.Input[str] :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabaseLogSubscriptions:getDatabaseLogSubscriptions', __args__, opts=opts, typ=GetDatabaseLogSubscriptionsResult) + return __ret__.apply(lambda __response__: GetDatabaseLogSubscriptionsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + subscription_ids=pulumi.get(__response__, 'subscription_ids'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_postgre_sql_connection_pools.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_postgre_sql_connection_pools.py index a6069279..0b8dd4e3 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_postgre_sql_connection_pools.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_database_postgre_sql_connection_pools.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_database_postgre_sql_connection_pools(cluster_id: Optional[str] = None, connection_pool_ids=pulumi.get(__ret__, 'connection_pool_ids'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_database_postgre_sql_connection_pools) def get_database_postgre_sql_connection_pools_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabasePostgreSQLConnectionPoolsResult]: @@ -138,4 +140,13 @@ def get_database_postgre_sql_connection_pools_output(cluster_id: Optional[pulumi :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabasePostgreSQLConnectionPools:getDatabasePostgreSQLConnectionPools', __args__, opts=opts, typ=GetDatabasePostgreSQLConnectionPoolsResult) + return __ret__.apply(lambda __response__: GetDatabasePostgreSQLConnectionPoolsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + connection_pool_ids=pulumi.get(__response__, 'connection_pool_ids'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_databases.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_databases.py index b1076adc..353633df 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_databases.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_databases.py @@ -4,9 +4,14 @@ 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__ = [ @@ -116,9 +121,6 @@ def get_databases(engine: Optional[str] = None, engine=pulumi.get(__ret__, 'engine'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_databases) def get_databases_output(engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatabasesResult]: @@ -144,4 +146,13 @@ def get_databases_output(engine: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getDatabases:getDatabases', __args__, opts=opts, typ=GetDatabasesResult) + return __ret__.apply(lambda __response__: GetDatabasesResult( + cluster_ids=pulumi.get(__response__, 'cluster_ids'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_ip_restrictions.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_ip_restrictions.py index 835056c6..b387cf75 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_ip_restrictions.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_ip_restrictions.py @@ -4,9 +4,14 @@ 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__ = [ @@ -135,9 +140,6 @@ def get_ip_restrictions(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), ips=pulumi.get(__ret__, 'ips'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_ip_restrictions) def get_ip_restrictions_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -168,4 +170,15 @@ def get_ip_restrictions_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getIpRestrictions:getIpRestrictions', __args__, opts=opts, typ=GetIpRestrictionsResult) + return __ret__.apply(lambda __response__: GetIpRestrictionsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + ips=pulumi.get(__response__, 'ips'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acl.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acl.py index d65d86cf..1e946ab8 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acl.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acl.py @@ -4,9 +4,14 @@ 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__ = [ @@ -143,9 +148,6 @@ def get_kafka_acl(cluster_id: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), topic=pulumi.get(__ret__, 'topic'), username=pulumi.get(__ret__, 'username')) - - -@_utilities.lift_output_func(get_kafka_acl) def get_kafka_acl_output(cluster_id: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -171,4 +173,16 @@ def get_kafka_acl_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaAcl:getKafkaAcl', __args__, opts=opts, typ=GetKafkaAclResult) + return __ret__.apply(lambda __response__: GetKafkaAclResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + permission=pulumi.get(__response__, 'permission'), + service_name=pulumi.get(__response__, 'service_name'), + topic=pulumi.get(__response__, 'topic'), + username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acls.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acls.py index 1ebfc2aa..2f3d9c04 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acls.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_acls.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_kafka_acls(cluster_id: Optional[str] = None, cluster_id=pulumi.get(__ret__, 'cluster_id'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kafka_acls) def get_kafka_acls_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKafkaAclsResult]: @@ -138,4 +140,13 @@ def get_kafka_acls_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaAcls:getKafkaAcls', __args__, opts=opts, typ=GetKafkaAclsResult) + return __ret__.apply(lambda __response__: GetKafkaAclsResult( + acl_ids=pulumi.get(__response__, 'acl_ids'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acl.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acl.py index dd75cd3d..23c3e399 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acl.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acl.py @@ -4,9 +4,14 @@ 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__ = [ @@ -143,9 +148,6 @@ def get_kafka_schema_registry_acl(cluster_id: Optional[str] = None, resource=pulumi.get(__ret__, 'resource'), service_name=pulumi.get(__ret__, 'service_name'), username=pulumi.get(__ret__, 'username')) - - -@_utilities.lift_output_func(get_kafka_schema_registry_acl) def get_kafka_schema_registry_acl_output(cluster_id: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -171,4 +173,16 @@ def get_kafka_schema_registry_acl_output(cluster_id: Optional[pulumi.Input[str]] :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaSchemaRegistryAcl:getKafkaSchemaRegistryAcl', __args__, opts=opts, typ=GetKafkaSchemaRegistryAclResult) + return __ret__.apply(lambda __response__: GetKafkaSchemaRegistryAclResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + permission=pulumi.get(__response__, 'permission'), + resource=pulumi.get(__response__, 'resource'), + service_name=pulumi.get(__response__, 'service_name'), + username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acls.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acls.py index 8ed29e10..ce997b91 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acls.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_schema_registry_acls.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_kafka_schema_registry_acls(cluster_id: Optional[str] = None, cluster_id=pulumi.get(__ret__, 'cluster_id'), id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kafka_schema_registry_acls) def get_kafka_schema_registry_acls_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKafkaSchemaRegistryAclsResult]: @@ -138,4 +140,13 @@ def get_kafka_schema_registry_acls_output(cluster_id: Optional[pulumi.Input[str] :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaSchemaRegistryAcls:getKafkaSchemaRegistryAcls', __args__, opts=opts, typ=GetKafkaSchemaRegistryAclsResult) + return __ret__.apply(lambda __response__: GetKafkaSchemaRegistryAclsResult( + acl_ids=pulumi.get(__response__, 'acl_ids'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topic.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topic.py index 95ad4e0d..49e2619a 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topic.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topic.py @@ -4,9 +4,14 @@ 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__ = [ @@ -182,9 +187,6 @@ def get_kafka_topic(cluster_id: Optional[str] = None, retention_bytes=pulumi.get(__ret__, 'retention_bytes'), retention_hours=pulumi.get(__ret__, 'retention_hours'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_kafka_topic) def get_kafka_topic_output(cluster_id: Optional[pulumi.Input[str]] = None, id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -210,4 +212,19 @@ def get_kafka_topic_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['id'] = id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaTopic:getKafkaTopic', __args__, opts=opts, typ=GetKafkaTopicResult) + return __ret__.apply(lambda __response__: GetKafkaTopicResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + min_insync_replicas=pulumi.get(__response__, 'min_insync_replicas'), + name=pulumi.get(__response__, 'name'), + partitions=pulumi.get(__response__, 'partitions'), + replication=pulumi.get(__response__, 'replication'), + retention_bytes=pulumi.get(__response__, 'retention_bytes'), + retention_hours=pulumi.get(__response__, 'retention_hours'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topics.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topics.py index 2430ddf9..52d00847 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topics.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_topics.py @@ -4,9 +4,14 @@ 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__ = [ @@ -113,9 +118,6 @@ def get_kafka_topics(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), topic_ids=pulumi.get(__ret__, 'topic_ids')) - - -@_utilities.lift_output_func(get_kafka_topics) def get_kafka_topics_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKafkaTopicsResult]: @@ -138,4 +140,13 @@ def get_kafka_topics_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaTopics:getKafkaTopics', __args__, opts=opts, typ=GetKafkaTopicsResult) + return __ret__.apply(lambda __response__: GetKafkaTopicsResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + topic_ids=pulumi.get(__response__, 'topic_ids'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_user_access.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_user_access.py index 4111c60d..2116e454 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_user_access.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_kafka_user_access.py @@ -4,9 +4,14 @@ 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__ = [ @@ -143,9 +148,6 @@ def get_kafka_user_access(cluster_id: Optional[str] = None, key=pulumi.get(__ret__, 'key'), service_name=pulumi.get(__ret__, 'service_name'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_kafka_user_access) def get_kafka_user_access_output(cluster_id: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -171,4 +173,16 @@ def get_kafka_user_access_output(cluster_id: Optional[pulumi.Input[str]] = None, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. :param str user_id: User ID """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getKafkaUserAccess:getKafkaUserAccess', __args__, opts=opts, typ=GetKafkaUserAccessResult) + return __ret__.apply(lambda __response__: GetKafkaUserAccessResult( + cert=pulumi.get(__response__, 'cert'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + id=pulumi.get(__response__, 'id'), + key=pulumi.get(__response__, 'key'), + service_name=pulumi.get(__response__, 'service_name'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_connection_pool.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_connection_pool.py index 2e2f0994..d4416cf9 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_connection_pool.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_connection_pool.py @@ -4,9 +4,14 @@ 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__ = [ @@ -220,9 +225,6 @@ def get_postgres_sql_connection_pool(cluster_id: Optional[str] = None, ssl_mode=pulumi.get(__ret__, 'ssl_mode'), uri=pulumi.get(__ret__, 'uri'), user_id=pulumi.get(__ret__, 'user_id')) - - -@_utilities.lift_output_func(get_postgres_sql_connection_pool) def get_postgres_sql_connection_pool_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -259,4 +261,21 @@ def get_postgres_sql_connection_pool_output(cluster_id: Optional[pulumi.Input[st :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getPostgresSqlConnectionPool:getPostgresSqlConnectionPool', __args__, opts=opts, typ=GetPostgresSqlConnectionPoolResult) + return __ret__.apply(lambda __response__: GetPostgresSqlConnectionPoolResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + database_id=pulumi.get(__response__, 'database_id'), + id=pulumi.get(__response__, 'id'), + mode=pulumi.get(__response__, 'mode'), + name=pulumi.get(__response__, 'name'), + port=pulumi.get(__response__, 'port'), + service_name=pulumi.get(__response__, 'service_name'), + size=pulumi.get(__response__, 'size'), + ssl_mode=pulumi.get(__response__, 'ssl_mode'), + uri=pulumi.get(__response__, 'uri'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_user.py index a33eba3c..7eca8a43 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_postgres_sql_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -156,9 +161,6 @@ def get_postgres_sql_user(cluster_id: Optional[str] = None, roles=pulumi.get(__ret__, 'roles'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_postgres_sql_user) def get_postgres_sql_user_output(cluster_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -184,4 +186,17 @@ def get_postgres_sql_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getPostgresSqlUser:getPostgresSqlUser', __args__, opts=opts, typ=GetPostgresSqlUserResult) + return __ret__.apply(lambda __response__: GetPostgresSqlUserResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + roles=pulumi.get(__response__, 'roles'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_user.py index 209bb775..51b50d9f 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -162,9 +167,6 @@ def get_user(cluster_id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_user) def get_user_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -195,4 +197,18 @@ def get_user_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['name'] = name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getUser:getUser', __args__, opts=opts, typ=GetUserResult) + return __ret__.apply(lambda __response__: GetUserResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + created_at=pulumi.get(__response__, 'created_at'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_users.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_users.py index c43f58fb..f1cdc141 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/get_users.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/get_users.py @@ -4,9 +4,14 @@ 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__ = [ @@ -131,9 +136,6 @@ def get_users(cluster_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), user_ids=pulumi.get(__ret__, 'user_ids')) - - -@_utilities.lift_output_func(get_users) def get_users_output(cluster_id: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -160,4 +162,15 @@ def get_users_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str service_name: The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['engine'] = engine + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:CloudProjectDatabase/getUsers:getUsers', __args__, opts=opts, typ=GetUsersResult) + return __ret__.apply(lambda __response__: GetUsersResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + engine=pulumi.get(__response__, 'engine'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + user_ids=pulumi.get(__response__, 'user_ids'))) diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/integration.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/integration.py index 9ff46f43..81147f8f 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/integration.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/integration.py @@ -4,9 +4,14 @@ 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__ = ['IntegrationArgs', 'Integration'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/ip_restriction.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/ip_restriction.py index 8f815d8a..5c1be0fa 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/ip_restriction.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/ip_restriction.py @@ -4,9 +4,14 @@ 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__ = ['IpRestrictionArgs', 'IpRestriction'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_acl.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_acl.py index d1dbbce3..e9588315 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_acl.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_acl.py @@ -4,9 +4,14 @@ 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__ = ['KafkaAclArgs', 'KafkaAcl'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_schema_registry_acl.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_schema_registry_acl.py index 47df6492..cd7560dc 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_schema_registry_acl.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_schema_registry_acl.py @@ -4,9 +4,14 @@ 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__ = ['KafkaSchemaRegistryAclArgs', 'KafkaSchemaRegistryAcl'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_topic.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_topic.py index b97646a2..e7e5b5df 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_topic.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/kafka_topic.py @@ -4,9 +4,14 @@ 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__ = ['KafkaTopicArgs', 'KafkaTopic'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/log_subscription.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/log_subscription.py index 8c96fff1..d4f25a68 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/log_subscription.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/log_subscription.py @@ -4,9 +4,14 @@ 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__ = ['LogSubscriptionArgs', 'LogSubscription'] @@ -282,7 +287,7 @@ def __init__(__self__, stream_id: Optional[pulumi.Input[str]] = None, __props__=None): """ - Creates a log subscrition for a cluster associated with a public cloud project. + Creates a log subscription for a cluster associated with a public cloud project. ## Example Usage @@ -330,7 +335,7 @@ def __init__(__self__, args: LogSubscriptionArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Creates a log subscrition for a cluster associated with a public cloud project. + Creates a log subscription for a cluster associated with a public cloud project. ## Example Usage diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_namespace.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_namespace.py index df4e6218..a93a7e69 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_namespace.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_namespace.py @@ -4,9 +4,14 @@ 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__ = ['M3DbNamespaceArgs', 'M3DbNamespace'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_user.py index 22dc6fcb..246731c5 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/m3_db_user.py @@ -4,9 +4,14 @@ 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__ = ['M3DbUserArgs', 'M3DbUser'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/mongo_db_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/mongo_db_user.py index 6ab6eacc..9f9db40d 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/mongo_db_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/mongo_db_user.py @@ -4,9 +4,14 @@ 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__ = ['MongoDbUserArgs', 'MongoDbUser'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_pattern.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_pattern.py index ed2c5eed..da1fd360 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_pattern.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_pattern.py @@ -4,9 +4,14 @@ 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__ = ['OpensearchPatternArgs', 'OpensearchPattern'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_user.py index 48d98018..c22e8318 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/opensearch_user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/outputs.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/outputs.py index 44791855..97d1fbee 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/outputs.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/outputs.py @@ -4,9 +4,14 @@ 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__ = [ diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_connection_pool.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_connection_pool.py index 5a6ea73c..c6e57e04 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_connection_pool.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_connection_pool.py @@ -4,9 +4,14 @@ 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__ = ['PostgresSqlConnectionPoolArgs', 'PostgresSqlConnectionPool'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_user.py index 612907cb..b2788039 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/postgres_sql_user.py @@ -4,9 +4,14 @@ 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__ = ['PostgresSqlUserArgs', 'PostgresSqlUser'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/redis_user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/redis_user.py index da0358da..9969e661 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/redis_user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/redis_user.py @@ -4,9 +4,14 @@ 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__ = ['RedisUserArgs', 'RedisUser'] diff --git a/sdk/python/pulumi_ovh/cloudprojectdatabase/user.py b/sdk/python/pulumi_ovh/cloudprojectdatabase/user.py index bfae9db1..47d1b0c1 100644 --- a/sdk/python/pulumi_ovh/cloudprojectdatabase/user.py +++ b/sdk/python/pulumi_ovh/cloudprojectdatabase/user.py @@ -4,9 +4,14 @@ 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__ = ['UserArgs', 'User'] diff --git a/sdk/python/pulumi_ovh/config/__init__.pyi b/sdk/python/pulumi_ovh/config/__init__.pyi index 6aa69ea6..afe71a59 100644 --- a/sdk/python/pulumi_ovh/config/__init__.pyi +++ b/sdk/python/pulumi_ovh/config/__init__.pyi @@ -4,9 +4,14 @@ 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 accessToken: Optional[str] diff --git a/sdk/python/pulumi_ovh/config/vars.py b/sdk/python/pulumi_ovh/config/vars.py index 5dbfe118..5d4204fe 100644 --- a/sdk/python/pulumi_ovh/config/vars.py +++ b/sdk/python/pulumi_ovh/config/vars.py @@ -4,9 +4,14 @@ 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 import types diff --git a/sdk/python/pulumi_ovh/dbaas/__init__.py b/sdk/python/pulumi_ovh/dbaas/__init__.py index ca68ff3f..bd44f37b 100644 --- a/sdk/python/pulumi_ovh/dbaas/__init__.py +++ b/sdk/python/pulumi_ovh/dbaas/__init__.py @@ -10,9 +10,12 @@ from .get_logs_clusters_retention import * from .get_logs_input_engine import * from .get_logs_output_graylog_stream import * +from .get_logs_output_open_search_index import * from .logs_cluster import * from .logs_input import * from .logs_output_graylog_stream import * +from .logs_output_open_search_alias import * +from .logs_output_open_search_index import * from .logs_token import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_ovh/dbaas/_inputs.py b/sdk/python/pulumi_ovh/dbaas/_inputs.py index 90a161eb..7027193a 100644 --- a/sdk/python/pulumi_ovh/dbaas/_inputs.py +++ b/sdk/python/pulumi_ovh/dbaas/_inputs.py @@ -4,17 +4,40 @@ 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__ = [ 'LogsInputConfigurationArgs', + 'LogsInputConfigurationArgsDict', 'LogsInputConfigurationFlowggerArgs', + 'LogsInputConfigurationFlowggerArgsDict', 'LogsInputConfigurationLogstashArgs', + 'LogsInputConfigurationLogstashArgsDict', ] +MYPY = False + +if not MYPY: + class LogsInputConfigurationArgsDict(TypedDict): + flowgger: NotRequired[pulumi.Input['LogsInputConfigurationFlowggerArgsDict']] + """ + Flowgger configuration + """ + logstash: NotRequired[pulumi.Input['LogsInputConfigurationLogstashArgsDict']] + """ + Logstash configuration + """ +elif False: + LogsInputConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LogsInputConfigurationArgs: def __init__(__self__, *, @@ -54,6 +77,19 @@ def logstash(self, value: Optional[pulumi.Input['LogsInputConfigurationLogstashA pulumi.set(self, "logstash", value) +if not MYPY: + class LogsInputConfigurationFlowggerArgsDict(TypedDict): + log_format: pulumi.Input[str] + """ + Type of format to decode. One of "RFC5424", "LTSV", "GELF", "CAPNP" + """ + log_framing: pulumi.Input[str] + """ + Indicates how messages are delimited. One of "LINE", "NUL", "SYSLEN", "CAPNP" + """ +elif False: + LogsInputConfigurationFlowggerArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LogsInputConfigurationFlowggerArgs: def __init__(__self__, *, @@ -91,6 +127,23 @@ def log_framing(self, value: pulumi.Input[str]): pulumi.set(self, "log_framing", value) +if not MYPY: + class LogsInputConfigurationLogstashArgsDict(TypedDict): + input_section: pulumi.Input[str] + """ + The filter section of logstash.conf + """ + filter_section: NotRequired[pulumi.Input[str]] + """ + The filter section of logstash.conf + """ + pattern_section: NotRequired[pulumi.Input[str]] + """ + The list of customs Grok patterns + """ +elif False: + LogsInputConfigurationLogstashArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LogsInputConfigurationLogstashArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_cluster.py b/sdk/python/pulumi_ovh/dbaas/get_logs_cluster.py index 2c842db9..1e91b44d 100644 --- a/sdk/python/pulumi_ovh/dbaas/get_logs_cluster.py +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_cluster.py @@ -4,9 +4,14 @@ 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__ = [ @@ -235,9 +240,6 @@ def get_logs_cluster(cluster_id: Optional[str] = None, region=pulumi.get(__ret__, 'region'), service_name=pulumi.get(__ret__, 'service_name'), urn=pulumi.get(__ret__, 'urn')) - - -@_utilities.lift_output_func(get_logs_cluster) def get_logs_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogsClusterResult]: @@ -258,4 +260,23 @@ def get_logs_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str]]] = :param str cluster_id: Cluster ID. If not provided, the default cluster_id is returned :param str service_name: The service name. It's the ID of your Logs Data Platform instance. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsCluster:getLogsCluster', __args__, opts=opts, typ=GetLogsClusterResult) + return __ret__.apply(lambda __response__: GetLogsClusterResult( + archive_allowed_networks=pulumi.get(__response__, 'archive_allowed_networks'), + cluster_id=pulumi.get(__response__, 'cluster_id'), + cluster_type=pulumi.get(__response__, 'cluster_type'), + dedicated_input_pem=pulumi.get(__response__, 'dedicated_input_pem'), + direct_input_allowed_networks=pulumi.get(__response__, 'direct_input_allowed_networks'), + direct_input_pem=pulumi.get(__response__, 'direct_input_pem'), + hostname=pulumi.get(__response__, 'hostname'), + id=pulumi.get(__response__, 'id'), + is_default=pulumi.get(__response__, 'is_default'), + is_unlocked=pulumi.get(__response__, 'is_unlocked'), + query_allowed_networks=pulumi.get(__response__, 'query_allowed_networks'), + region=pulumi.get(__response__, 'region'), + service_name=pulumi.get(__response__, 'service_name'), + urn=pulumi.get(__response__, 'urn'))) diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_clusters.py b/sdk/python/pulumi_ovh/dbaas/get_logs_clusters.py index e5d56fd3..ad342ae4 100644 --- a/sdk/python/pulumi_ovh/dbaas/get_logs_clusters.py +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_clusters.py @@ -4,9 +4,14 @@ 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__ = [ @@ -101,9 +106,6 @@ def get_logs_clusters(service_name: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), urn=pulumi.get(__ret__, 'urn'), uuids=pulumi.get(__ret__, 'uuids')) - - -@_utilities.lift_output_func(get_logs_clusters) def get_logs_clusters_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogsClustersResult]: """ @@ -121,4 +123,12 @@ def get_logs_clusters_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The service name. It's the ID of your Logs Data Platform instance. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsClusters:getLogsClusters', __args__, opts=opts, typ=GetLogsClustersResult) + return __ret__.apply(lambda __response__: GetLogsClustersResult( + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + urn=pulumi.get(__response__, 'urn'), + uuids=pulumi.get(__response__, 'uuids'))) diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_clusters_retention.py b/sdk/python/pulumi_ovh/dbaas/get_logs_clusters_retention.py index 8c727071..abddd342 100644 --- a/sdk/python/pulumi_ovh/dbaas/get_logs_clusters_retention.py +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_clusters_retention.py @@ -4,9 +4,14 @@ 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__ = [ @@ -149,9 +154,6 @@ def get_logs_clusters_retention(cluster_id: Optional[str] = None, is_supported=pulumi.get(__ret__, 'is_supported'), retention_id=pulumi.get(__ret__, 'retention_id'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_logs_clusters_retention) def get_logs_clusters_retention_output(cluster_id: Optional[pulumi.Input[str]] = None, duration: Optional[pulumi.Input[Optional[str]]] = None, retention_id: Optional[pulumi.Input[Optional[str]]] = None, @@ -188,4 +190,17 @@ def get_logs_clusters_retention_output(cluster_id: Optional[pulumi.Input[str]] = :param str retention_id: ID of the retention object :param str service_name: The service name. It's the ID of your Logs Data Platform instance. """ - ... + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['duration'] = duration + __args__['retentionId'] = retention_id + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsClustersRetention:getLogsClustersRetention', __args__, opts=opts, typ=GetLogsClustersRetentionResult) + return __ret__.apply(lambda __response__: GetLogsClustersRetentionResult( + cluster_id=pulumi.get(__response__, 'cluster_id'), + duration=pulumi.get(__response__, 'duration'), + id=pulumi.get(__response__, 'id'), + is_supported=pulumi.get(__response__, 'is_supported'), + retention_id=pulumi.get(__response__, 'retention_id'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_input_engine.py b/sdk/python/pulumi_ovh/dbaas/get_logs_input_engine.py index ade968ee..be0cd066 100644 --- a/sdk/python/pulumi_ovh/dbaas/get_logs_input_engine.py +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_input_engine.py @@ -4,9 +4,14 @@ 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__ = [ @@ -120,9 +125,6 @@ def get_logs_input_engine(is_deprecated: Optional[bool] = None, name=pulumi.get(__ret__, 'name'), service_name=pulumi.get(__ret__, 'service_name'), version=pulumi.get(__ret__, 'version')) - - -@_utilities.lift_output_func(get_logs_input_engine) def get_logs_input_engine_output(is_deprecated: Optional[pulumi.Input[Optional[bool]]] = None, name: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -149,4 +151,16 @@ def get_logs_input_engine_output(is_deprecated: Optional[pulumi.Input[Optional[b :param str service_name: The service name. It's the ID of your Logs Data Platform instance. :param str version: Software version """ - ... + __args__ = dict() + __args__['isDeprecated'] = is_deprecated + __args__['name'] = name + __args__['serviceName'] = service_name + __args__['version'] = version + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsInputEngine:getLogsInputEngine', __args__, opts=opts, typ=GetLogsInputEngineResult) + return __ret__.apply(lambda __response__: GetLogsInputEngineResult( + id=pulumi.get(__response__, 'id'), + is_deprecated=pulumi.get(__response__, 'is_deprecated'), + name=pulumi.get(__response__, 'name'), + service_name=pulumi.get(__response__, 'service_name'), + version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_output_graylog_stream.py b/sdk/python/pulumi_ovh/dbaas/get_logs_output_graylog_stream.py index f4883fb1..f910a65c 100644 --- a/sdk/python/pulumi_ovh/dbaas/get_logs_output_graylog_stream.py +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_output_graylog_stream.py @@ -4,9 +4,14 @@ 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__ = [ @@ -388,9 +393,6 @@ def get_logs_output_graylog_stream(service_name: Optional[str] = None, updated_at=pulumi.get(__ret__, 'updated_at'), web_socket_enabled=pulumi.get(__ret__, 'web_socket_enabled'), write_token=pulumi.get(__ret__, 'write_token')) - - -@_utilities.lift_output_func(get_logs_output_graylog_stream) def get_logs_output_graylog_stream_output(service_name: Optional[pulumi.Input[str]] = None, title: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogsOutputGraylogStreamResult]: @@ -411,4 +413,35 @@ def get_logs_output_graylog_stream_output(service_name: Optional[pulumi.Input[st :param str service_name: The service name. It's the ID of your Logs Data Platform instance. :param str title: Stream description """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['title'] = title + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsOutputGraylogStream:getLogsOutputGraylogStream', __args__, opts=opts, typ=GetLogsOutputGraylogStreamResult) + return __ret__.apply(lambda __response__: GetLogsOutputGraylogStreamResult( + can_alert=pulumi.get(__response__, 'can_alert'), + cold_storage_compression=pulumi.get(__response__, 'cold_storage_compression'), + cold_storage_content=pulumi.get(__response__, 'cold_storage_content'), + cold_storage_enabled=pulumi.get(__response__, 'cold_storage_enabled'), + cold_storage_notify_enabled=pulumi.get(__response__, 'cold_storage_notify_enabled'), + cold_storage_retention=pulumi.get(__response__, 'cold_storage_retention'), + cold_storage_target=pulumi.get(__response__, 'cold_storage_target'), + created_at=pulumi.get(__response__, 'created_at'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + indexing_enabled=pulumi.get(__response__, 'indexing_enabled'), + indexing_max_size=pulumi.get(__response__, 'indexing_max_size'), + indexing_notify_enabled=pulumi.get(__response__, 'indexing_notify_enabled'), + is_editable=pulumi.get(__response__, 'is_editable'), + is_shareable=pulumi.get(__response__, 'is_shareable'), + nb_alert_condition=pulumi.get(__response__, 'nb_alert_condition'), + nb_archive=pulumi.get(__response__, 'nb_archive'), + parent_stream_id=pulumi.get(__response__, 'parent_stream_id'), + pause_indexing_on_max_size=pulumi.get(__response__, 'pause_indexing_on_max_size'), + retention_id=pulumi.get(__response__, 'retention_id'), + service_name=pulumi.get(__response__, 'service_name'), + stream_id=pulumi.get(__response__, 'stream_id'), + title=pulumi.get(__response__, 'title'), + updated_at=pulumi.get(__response__, 'updated_at'), + web_socket_enabled=pulumi.get(__response__, 'web_socket_enabled'), + write_token=pulumi.get(__response__, 'write_token'))) diff --git a/sdk/python/pulumi_ovh/dbaas/get_logs_output_open_search_index.py b/sdk/python/pulumi_ovh/dbaas/get_logs_output_open_search_index.py new file mode 100644 index 00000000..dd18c7ae --- /dev/null +++ b/sdk/python/pulumi_ovh/dbaas/get_logs_output_open_search_index.py @@ -0,0 +1,263 @@ +# 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__ = [ + 'GetLogsOutputOpenSearchIndexResult', + 'AwaitableGetLogsOutputOpenSearchIndexResult', + 'get_logs_output_open_search_index', + 'get_logs_output_open_search_index_output', +] + +@pulumi.output_type +class GetLogsOutputOpenSearchIndexResult: + """ + A collection of values returned by getLogsOutputOpenSearchIndex. + """ + def __init__(__self__, alert_notify_enabled=None, created_at=None, current_size=None, description=None, id=None, index_id=None, is_editable=None, max_size=None, name=None, nb_shard=None, service_name=None, updated_at=None): + if alert_notify_enabled and not isinstance(alert_notify_enabled, bool): + raise TypeError("Expected argument 'alert_notify_enabled' to be a bool") + pulumi.set(__self__, "alert_notify_enabled", alert_notify_enabled) + 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 current_size and not isinstance(current_size, int): + raise TypeError("Expected argument 'current_size' to be a int") + pulumi.set(__self__, "current_size", current_size) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if index_id and not isinstance(index_id, str): + raise TypeError("Expected argument 'index_id' to be a str") + pulumi.set(__self__, "index_id", index_id) + if is_editable and not isinstance(is_editable, bool): + raise TypeError("Expected argument 'is_editable' to be a bool") + pulumi.set(__self__, "is_editable", is_editable) + if max_size and not isinstance(max_size, int): + raise TypeError("Expected argument 'max_size' to be a int") + pulumi.set(__self__, "max_size", max_size) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if nb_shard and not isinstance(nb_shard, int): + raise TypeError("Expected argument 'nb_shard' to be a int") + pulumi.set(__self__, "nb_shard", nb_shard) + if service_name and not isinstance(service_name, str): + raise TypeError("Expected argument 'service_name' to be a str") + pulumi.set(__self__, "service_name", service_name) + if updated_at and not isinstance(updated_at, str): + raise TypeError("Expected argument 'updated_at' to be a str") + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter(name="alertNotifyEnabled") + def alert_notify_enabled(self) -> bool: + """ + If set, notify when size is near 80, 90 or 100 % of its maximum capacity + """ + return pulumi.get(self, "alert_notify_enabled") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + Index creation + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> int: + """ + Current index size (in bytes) + """ + return pulumi.get(self, "current_size") + + @property + @pulumi.getter + def description(self) -> str: + """ + Index description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="indexId") + def index_id(self) -> str: + """ + Index ID + """ + return pulumi.get(self, "index_id") + + @property + @pulumi.getter(name="isEditable") + def is_editable(self) -> bool: + """ + Indicates if you are allowed to edit entry + """ + return pulumi.get(self, "is_editable") + + @property + @pulumi.getter(name="maxSize") + def max_size(self) -> int: + """ + Maximum index size (in bytes) + """ + return pulumi.get(self, "max_size") + + @property + @pulumi.getter + def name(self) -> str: + """ + Index name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nbShard") + def nb_shard(self) -> int: + """ + Number of shard + """ + return pulumi.get(self, "nb_shard") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + return pulumi.get(self, "service_name") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + Index last update + """ + return pulumi.get(self, "updated_at") + + +class AwaitableGetLogsOutputOpenSearchIndexResult(GetLogsOutputOpenSearchIndexResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLogsOutputOpenSearchIndexResult( + alert_notify_enabled=self.alert_notify_enabled, + created_at=self.created_at, + current_size=self.current_size, + description=self.description, + id=self.id, + index_id=self.index_id, + is_editable=self.is_editable, + max_size=self.max_size, + name=self.name, + nb_shard=self.nb_shard, + service_name=self.service_name, + updated_at=self.updated_at) + + +def get_logs_output_open_search_index(name: Optional[str] = None, + nb_shard: Optional[int] = None, + service_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogsOutputOpenSearchIndexResult: + """ + Use this data source to retrieve information about a DBaas logs output opensearch index. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + index = ovh.Dbaas.get_logs_output_open_search_index(name="index-name", + service_name="ldp-xx-xxxxx") + ``` + + + :param str name: Index name + :param int nb_shard: Number of shard + :param str service_name: The service name. It's the ID of your Logs Data Platform instance. + """ + __args__ = dict() + __args__['name'] = name + __args__['nbShard'] = nb_shard + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex', __args__, opts=opts, typ=GetLogsOutputOpenSearchIndexResult).value + + return AwaitableGetLogsOutputOpenSearchIndexResult( + alert_notify_enabled=pulumi.get(__ret__, 'alert_notify_enabled'), + created_at=pulumi.get(__ret__, 'created_at'), + current_size=pulumi.get(__ret__, 'current_size'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + index_id=pulumi.get(__ret__, 'index_id'), + is_editable=pulumi.get(__ret__, 'is_editable'), + max_size=pulumi.get(__ret__, 'max_size'), + name=pulumi.get(__ret__, 'name'), + nb_shard=pulumi.get(__ret__, 'nb_shard'), + service_name=pulumi.get(__ret__, 'service_name'), + updated_at=pulumi.get(__ret__, 'updated_at')) +def get_logs_output_open_search_index_output(name: Optional[pulumi.Input[str]] = None, + nb_shard: Optional[pulumi.Input[Optional[int]]] = None, + service_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogsOutputOpenSearchIndexResult]: + """ + Use this data source to retrieve information about a DBaas logs output opensearch index. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + index = ovh.Dbaas.get_logs_output_open_search_index(name="index-name", + service_name="ldp-xx-xxxxx") + ``` + + + :param str name: Index name + :param int nb_shard: Number of shard + :param str service_name: The service name. It's the ID of your Logs Data Platform instance. + """ + __args__ = dict() + __args__['name'] = name + __args__['nbShard'] = nb_shard + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dbaas/getLogsOutputOpenSearchIndex:getLogsOutputOpenSearchIndex', __args__, opts=opts, typ=GetLogsOutputOpenSearchIndexResult) + return __ret__.apply(lambda __response__: GetLogsOutputOpenSearchIndexResult( + alert_notify_enabled=pulumi.get(__response__, 'alert_notify_enabled'), + created_at=pulumi.get(__response__, 'created_at'), + current_size=pulumi.get(__response__, 'current_size'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + index_id=pulumi.get(__response__, 'index_id'), + is_editable=pulumi.get(__response__, 'is_editable'), + max_size=pulumi.get(__response__, 'max_size'), + name=pulumi.get(__response__, 'name'), + nb_shard=pulumi.get(__response__, 'nb_shard'), + service_name=pulumi.get(__response__, 'service_name'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/dbaas/logs_cluster.py b/sdk/python/pulumi_ovh/dbaas/logs_cluster.py index 0eb4875c..e54fd43b 100644 --- a/sdk/python/pulumi_ovh/dbaas/logs_cluster.py +++ b/sdk/python/pulumi_ovh/dbaas/logs_cluster.py @@ -4,9 +4,14 @@ 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__ = ['LogsClusterArgs', 'LogsCluster'] diff --git a/sdk/python/pulumi_ovh/dbaas/logs_input.py b/sdk/python/pulumi_ovh/dbaas/logs_input.py index 5f338cc4..bcf518a4 100644 --- a/sdk/python/pulumi_ovh/dbaas/logs_input.py +++ b/sdk/python/pulumi_ovh/dbaas/logs_input.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/dbaas/logs_output_graylog_stream.py b/sdk/python/pulumi_ovh/dbaas/logs_output_graylog_stream.py index b42f5a19..5d219b41 100644 --- a/sdk/python/pulumi_ovh/dbaas/logs_output_graylog_stream.py +++ b/sdk/python/pulumi_ovh/dbaas/logs_output_graylog_stream.py @@ -4,9 +4,14 @@ 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__ = ['LogsOutputGraylogStreamArgs', 'LogsOutputGraylogStream'] diff --git a/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_alias.py b/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_alias.py new file mode 100644 index 00000000..d7923fdc --- /dev/null +++ b/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_alias.py @@ -0,0 +1,627 @@ +# 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__ = ['LogsOutputOpenSearchAliasArgs', 'LogsOutputOpenSearchAlias'] + +@pulumi.input_type +class LogsOutputOpenSearchAliasArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + service_name: pulumi.Input[str], + suffix: pulumi.Input[str], + indexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nb_index: Optional[pulumi.Input[int]] = None, + nb_stream: Optional[pulumi.Input[int]] = None, + streams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a LogsOutputOpenSearchAlias resource. + :param pulumi.Input[str] description: Index description + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[str] suffix: Index suffix + :param pulumi.Input[Sequence[pulumi.Input[str]]] indexes: List of attached indexes id + :param pulumi.Input[int] nb_index: Number of indices linked + :param pulumi.Input[int] nb_stream: Number of streams linked + :param pulumi.Input[Sequence[pulumi.Input[str]]] streams: List of attached streams id + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "service_name", service_name) + pulumi.set(__self__, "suffix", suffix) + if indexes is not None: + pulumi.set(__self__, "indexes", indexes) + if nb_index is not None: + pulumi.set(__self__, "nb_index", nb_index) + if nb_stream is not None: + pulumi.set(__self__, "nb_stream", nb_stream) + if streams is not None: + pulumi.set(__self__, "streams", streams) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Index description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter + def suffix(self) -> pulumi.Input[str]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @suffix.setter + def suffix(self, value: pulumi.Input[str]): + pulumi.set(self, "suffix", value) + + @property + @pulumi.getter + def indexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of attached indexes id + """ + return pulumi.get(self, "indexes") + + @indexes.setter + def indexes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "indexes", value) + + @property + @pulumi.getter(name="nbIndex") + def nb_index(self) -> Optional[pulumi.Input[int]]: + """ + Number of indices linked + """ + return pulumi.get(self, "nb_index") + + @nb_index.setter + def nb_index(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nb_index", value) + + @property + @pulumi.getter(name="nbStream") + def nb_stream(self) -> Optional[pulumi.Input[int]]: + """ + Number of streams linked + """ + return pulumi.get(self, "nb_stream") + + @nb_stream.setter + def nb_stream(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nb_stream", value) + + @property + @pulumi.getter + def streams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of attached streams id + """ + return pulumi.get(self, "streams") + + @streams.setter + def streams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "streams", value) + + +@pulumi.input_type +class _LogsOutputOpenSearchAliasState: + def __init__(__self__, *, + alias_id: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + current_size: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + indexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + is_editable: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + nb_index: Optional[pulumi.Input[int]] = None, + nb_stream: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + streams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + suffix: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LogsOutputOpenSearchAlias resources. + :param pulumi.Input[str] alias_id: Alias Id + :param pulumi.Input[str] created_at: Alias creation + :param pulumi.Input[int] current_size: Current alias size (in bytes) + :param pulumi.Input[str] description: Index description + :param pulumi.Input[Sequence[pulumi.Input[str]]] indexes: List of attached indexes id + :param pulumi.Input[bool] is_editable: Indicates if you are allowed to edit entry + :param pulumi.Input[str] name: Alias name + :param pulumi.Input[int] nb_index: Number of indices linked + :param pulumi.Input[int] nb_stream: Number of streams linked + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[Sequence[pulumi.Input[str]]] streams: List of attached streams id + :param pulumi.Input[str] suffix: Index suffix + :param pulumi.Input[str] updated_at: Input last update + """ + if alias_id is not None: + pulumi.set(__self__, "alias_id", alias_id) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if current_size is not None: + pulumi.set(__self__, "current_size", current_size) + if description is not None: + pulumi.set(__self__, "description", description) + if indexes is not None: + pulumi.set(__self__, "indexes", indexes) + if is_editable is not None: + pulumi.set(__self__, "is_editable", is_editable) + if name is not None: + pulumi.set(__self__, "name", name) + if nb_index is not None: + pulumi.set(__self__, "nb_index", nb_index) + if nb_stream is not None: + pulumi.set(__self__, "nb_stream", nb_stream) + if service_name is not None: + pulumi.set(__self__, "service_name", service_name) + if streams is not None: + pulumi.set(__self__, "streams", streams) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) + if updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter(name="aliasId") + def alias_id(self) -> Optional[pulumi.Input[str]]: + """ + Alias Id + """ + return pulumi.get(self, "alias_id") + + @alias_id.setter + def alias_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "alias_id", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + Alias creation + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> Optional[pulumi.Input[int]]: + """ + Current alias size (in bytes) + """ + return pulumi.get(self, "current_size") + + @current_size.setter + def current_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "current_size", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Index description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def indexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of attached indexes id + """ + return pulumi.get(self, "indexes") + + @indexes.setter + def indexes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "indexes", value) + + @property + @pulumi.getter(name="isEditable") + def is_editable(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates if you are allowed to edit entry + """ + return pulumi.get(self, "is_editable") + + @is_editable.setter + def is_editable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_editable", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Alias name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nbIndex") + def nb_index(self) -> Optional[pulumi.Input[int]]: + """ + Number of indices linked + """ + return pulumi.get(self, "nb_index") + + @nb_index.setter + def nb_index(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nb_index", value) + + @property + @pulumi.getter(name="nbStream") + def nb_stream(self) -> Optional[pulumi.Input[int]]: + """ + Number of streams linked + """ + return pulumi.get(self, "nb_stream") + + @nb_stream.setter + def nb_stream(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nb_stream", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> Optional[pulumi.Input[str]]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter + def streams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of attached streams id + """ + return pulumi.get(self, "streams") + + @streams.setter + def streams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "streams", value) + + @property + @pulumi.getter + def suffix(self) -> Optional[pulumi.Input[str]]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + """ + Input last update + """ + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class LogsOutputOpenSearchAlias(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + indexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nb_index: Optional[pulumi.Input[int]] = None, + nb_stream: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + streams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Creates a DBaaS Logs Opensearch output alias. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + alias = ovh.dbaas.LogsOutputOpenSearchAlias("alias", + description="my opensearch alias", + service_name="....", + suffix="alias") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Index description + :param pulumi.Input[Sequence[pulumi.Input[str]]] indexes: List of attached indexes id + :param pulumi.Input[int] nb_index: Number of indices linked + :param pulumi.Input[int] nb_stream: Number of streams linked + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[Sequence[pulumi.Input[str]]] streams: List of attached streams id + :param pulumi.Input[str] suffix: Index suffix + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogsOutputOpenSearchAliasArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates a DBaaS Logs Opensearch output alias. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + alias = ovh.dbaas.LogsOutputOpenSearchAlias("alias", + description="my opensearch alias", + service_name="....", + suffix="alias") + ``` + + :param str resource_name: The name of the resource. + :param LogsOutputOpenSearchAliasArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(LogsOutputOpenSearchAliasArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + indexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nb_index: Optional[pulumi.Input[int]] = None, + nb_stream: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + streams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = LogsOutputOpenSearchAliasArgs.__new__(LogsOutputOpenSearchAliasArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + __props__.__dict__["indexes"] = indexes + __props__.__dict__["nb_index"] = nb_index + __props__.__dict__["nb_stream"] = nb_stream + if service_name is None and not opts.urn: + raise TypeError("Missing required property 'service_name'") + __props__.__dict__["service_name"] = service_name + __props__.__dict__["streams"] = streams + if suffix is None and not opts.urn: + raise TypeError("Missing required property 'suffix'") + __props__.__dict__["suffix"] = suffix + __props__.__dict__["alias_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["current_size"] = None + __props__.__dict__["is_editable"] = None + __props__.__dict__["name"] = None + __props__.__dict__["updated_at"] = None + super(LogsOutputOpenSearchAlias, __self__).__init__( + 'ovh:Dbaas/logsOutputOpenSearchAlias:LogsOutputOpenSearchAlias', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + alias_id: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + current_size: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + indexes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + is_editable: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + nb_index: Optional[pulumi.Input[int]] = None, + nb_stream: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + streams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + suffix: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'LogsOutputOpenSearchAlias': + """ + Get an existing LogsOutputOpenSearchAlias resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] alias_id: Alias Id + :param pulumi.Input[str] created_at: Alias creation + :param pulumi.Input[int] current_size: Current alias size (in bytes) + :param pulumi.Input[str] description: Index description + :param pulumi.Input[Sequence[pulumi.Input[str]]] indexes: List of attached indexes id + :param pulumi.Input[bool] is_editable: Indicates if you are allowed to edit entry + :param pulumi.Input[str] name: Alias name + :param pulumi.Input[int] nb_index: Number of indices linked + :param pulumi.Input[int] nb_stream: Number of streams linked + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[Sequence[pulumi.Input[str]]] streams: List of attached streams id + :param pulumi.Input[str] suffix: Index suffix + :param pulumi.Input[str] updated_at: Input last update + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogsOutputOpenSearchAliasState.__new__(_LogsOutputOpenSearchAliasState) + + __props__.__dict__["alias_id"] = alias_id + __props__.__dict__["created_at"] = created_at + __props__.__dict__["current_size"] = current_size + __props__.__dict__["description"] = description + __props__.__dict__["indexes"] = indexes + __props__.__dict__["is_editable"] = is_editable + __props__.__dict__["name"] = name + __props__.__dict__["nb_index"] = nb_index + __props__.__dict__["nb_stream"] = nb_stream + __props__.__dict__["service_name"] = service_name + __props__.__dict__["streams"] = streams + __props__.__dict__["suffix"] = suffix + __props__.__dict__["updated_at"] = updated_at + return LogsOutputOpenSearchAlias(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aliasId") + def alias_id(self) -> pulumi.Output[str]: + """ + Alias Id + """ + return pulumi.get(self, "alias_id") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Alias creation + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> pulumi.Output[int]: + """ + Current alias size (in bytes) + """ + return pulumi.get(self, "current_size") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Index description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def indexes(self) -> pulumi.Output[Sequence[str]]: + """ + List of attached indexes id + """ + return pulumi.get(self, "indexes") + + @property + @pulumi.getter(name="isEditable") + def is_editable(self) -> pulumi.Output[bool]: + """ + Indicates if you are allowed to edit entry + """ + return pulumi.get(self, "is_editable") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Alias name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nbIndex") + def nb_index(self) -> pulumi.Output[int]: + """ + Number of indices linked + """ + return pulumi.get(self, "nb_index") + + @property + @pulumi.getter(name="nbStream") + def nb_stream(self) -> pulumi.Output[int]: + """ + Number of streams linked + """ + return pulumi.get(self, "nb_stream") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Output[str]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @property + @pulumi.getter + def streams(self) -> pulumi.Output[Sequence[str]]: + """ + List of attached streams id + """ + return pulumi.get(self, "streams") + + @property + @pulumi.getter + def suffix(self) -> pulumi.Output[str]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + """ + Input last update + """ + return pulumi.get(self, "updated_at") + diff --git a/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_index.py b/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_index.py new file mode 100644 index 00000000..8c260051 --- /dev/null +++ b/sdk/python/pulumi_ovh/dbaas/logs_output_open_search_index.py @@ -0,0 +1,543 @@ +# 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__ = ['LogsOutputOpenSearchIndexArgs', 'LogsOutputOpenSearchIndex'] + +@pulumi.input_type +class LogsOutputOpenSearchIndexArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + nb_shard: pulumi.Input[int], + service_name: pulumi.Input[str], + suffix: pulumi.Input[str]): + """ + The set of arguments for constructing a LogsOutputOpenSearchIndex resource. + :param pulumi.Input[str] description: Index description + :param pulumi.Input[int] nb_shard: Number of shards + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[str] suffix: Index suffix + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "nb_shard", nb_shard) + pulumi.set(__self__, "service_name", service_name) + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Index description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="nbShard") + def nb_shard(self) -> pulumi.Input[int]: + """ + Number of shards + """ + return pulumi.get(self, "nb_shard") + + @nb_shard.setter + def nb_shard(self, value: pulumi.Input[int]): + pulumi.set(self, "nb_shard", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter + def suffix(self) -> pulumi.Input[str]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @suffix.setter + def suffix(self, value: pulumi.Input[str]): + pulumi.set(self, "suffix", value) + + +@pulumi.input_type +class _LogsOutputOpenSearchIndexState: + def __init__(__self__, *, + alert_notify_enabled: Optional[pulumi.Input[bool]] = None, + created_at: Optional[pulumi.Input[str]] = None, + current_size: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + index_id: Optional[pulumi.Input[str]] = None, + is_editable: Optional[pulumi.Input[bool]] = None, + max_size: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + nb_shard: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LogsOutputOpenSearchIndex resources. + :param pulumi.Input[bool] alert_notify_enabled: If set, notify when size is near 80, 90 or 100 % of its maximum capacity + :param pulumi.Input[str] created_at: Index creation + :param pulumi.Input[int] current_size: Current index size (in bytes) + :param pulumi.Input[str] description: Index description + :param pulumi.Input[str] index_id: Index ID + :param pulumi.Input[bool] is_editable: Indicates if you are allowed to edit entry + :param pulumi.Input[int] max_size: Maximum index size (in bytes) + :param pulumi.Input[str] name: Index name + :param pulumi.Input[int] nb_shard: Number of shards + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[str] suffix: Index suffix + :param pulumi.Input[str] updated_at: Index last update + """ + if alert_notify_enabled is not None: + pulumi.set(__self__, "alert_notify_enabled", alert_notify_enabled) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if current_size is not None: + pulumi.set(__self__, "current_size", current_size) + if description is not None: + pulumi.set(__self__, "description", description) + if index_id is not None: + pulumi.set(__self__, "index_id", index_id) + if is_editable is not None: + pulumi.set(__self__, "is_editable", is_editable) + if max_size is not None: + pulumi.set(__self__, "max_size", max_size) + if name is not None: + pulumi.set(__self__, "name", name) + if nb_shard is not None: + pulumi.set(__self__, "nb_shard", nb_shard) + if service_name is not None: + pulumi.set(__self__, "service_name", service_name) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) + if updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter(name="alertNotifyEnabled") + def alert_notify_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + If set, notify when size is near 80, 90 or 100 % of its maximum capacity + """ + return pulumi.get(self, "alert_notify_enabled") + + @alert_notify_enabled.setter + def alert_notify_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "alert_notify_enabled", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + Index creation + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> Optional[pulumi.Input[int]]: + """ + Current index size (in bytes) + """ + return pulumi.get(self, "current_size") + + @current_size.setter + def current_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "current_size", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Index description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="indexId") + def index_id(self) -> Optional[pulumi.Input[str]]: + """ + Index ID + """ + return pulumi.get(self, "index_id") + + @index_id.setter + def index_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "index_id", value) + + @property + @pulumi.getter(name="isEditable") + def is_editable(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates if you are allowed to edit entry + """ + return pulumi.get(self, "is_editable") + + @is_editable.setter + def is_editable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_editable", value) + + @property + @pulumi.getter(name="maxSize") + def max_size(self) -> Optional[pulumi.Input[int]]: + """ + Maximum index size (in bytes) + """ + return pulumi.get(self, "max_size") + + @max_size.setter + def max_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_size", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Index name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nbShard") + def nb_shard(self) -> Optional[pulumi.Input[int]]: + """ + Number of shards + """ + return pulumi.get(self, "nb_shard") + + @nb_shard.setter + def nb_shard(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nb_shard", value) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> Optional[pulumi.Input[str]]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter + def suffix(self) -> Optional[pulumi.Input[str]]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + """ + Index last update + """ + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class LogsOutputOpenSearchIndex(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + nb_shard: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Creates a DBaaS Logs Opensearch output index. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + index = ovh.dbaas.LogsOutputOpenSearchIndex("index", + description="my opensearch index", + service_name="....", + suffix="index") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Index description + :param pulumi.Input[int] nb_shard: Number of shards + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[str] suffix: Index suffix + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogsOutputOpenSearchIndexArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates a DBaaS Logs Opensearch output index. + + ## Example Usage + + ```python + import pulumi + import pulumi_ovh as ovh + + index = ovh.dbaas.LogsOutputOpenSearchIndex("index", + description="my opensearch index", + service_name="....", + suffix="index") + ``` + + :param str resource_name: The name of the resource. + :param LogsOutputOpenSearchIndexArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(LogsOutputOpenSearchIndexArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + nb_shard: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = LogsOutputOpenSearchIndexArgs.__new__(LogsOutputOpenSearchIndexArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if nb_shard is None and not opts.urn: + raise TypeError("Missing required property 'nb_shard'") + __props__.__dict__["nb_shard"] = nb_shard + if service_name is None and not opts.urn: + raise TypeError("Missing required property 'service_name'") + __props__.__dict__["service_name"] = service_name + if suffix is None and not opts.urn: + raise TypeError("Missing required property 'suffix'") + __props__.__dict__["suffix"] = suffix + __props__.__dict__["alert_notify_enabled"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["current_size"] = None + __props__.__dict__["index_id"] = None + __props__.__dict__["is_editable"] = None + __props__.__dict__["max_size"] = None + __props__.__dict__["name"] = None + __props__.__dict__["updated_at"] = None + super(LogsOutputOpenSearchIndex, __self__).__init__( + 'ovh:Dbaas/logsOutputOpenSearchIndex:LogsOutputOpenSearchIndex', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + alert_notify_enabled: Optional[pulumi.Input[bool]] = None, + created_at: Optional[pulumi.Input[str]] = None, + current_size: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + index_id: Optional[pulumi.Input[str]] = None, + is_editable: Optional[pulumi.Input[bool]] = None, + max_size: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + nb_shard: Optional[pulumi.Input[int]] = None, + service_name: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'LogsOutputOpenSearchIndex': + """ + Get an existing LogsOutputOpenSearchIndex resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] alert_notify_enabled: If set, notify when size is near 80, 90 or 100 % of its maximum capacity + :param pulumi.Input[str] created_at: Index creation + :param pulumi.Input[int] current_size: Current index size (in bytes) + :param pulumi.Input[str] description: Index description + :param pulumi.Input[str] index_id: Index ID + :param pulumi.Input[bool] is_editable: Indicates if you are allowed to edit entry + :param pulumi.Input[int] max_size: Maximum index size (in bytes) + :param pulumi.Input[str] name: Index name + :param pulumi.Input[int] nb_shard: Number of shards + :param pulumi.Input[str] service_name: The service name + :param pulumi.Input[str] suffix: Index suffix + :param pulumi.Input[str] updated_at: Index last update + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogsOutputOpenSearchIndexState.__new__(_LogsOutputOpenSearchIndexState) + + __props__.__dict__["alert_notify_enabled"] = alert_notify_enabled + __props__.__dict__["created_at"] = created_at + __props__.__dict__["current_size"] = current_size + __props__.__dict__["description"] = description + __props__.__dict__["index_id"] = index_id + __props__.__dict__["is_editable"] = is_editable + __props__.__dict__["max_size"] = max_size + __props__.__dict__["name"] = name + __props__.__dict__["nb_shard"] = nb_shard + __props__.__dict__["service_name"] = service_name + __props__.__dict__["suffix"] = suffix + __props__.__dict__["updated_at"] = updated_at + return LogsOutputOpenSearchIndex(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="alertNotifyEnabled") + def alert_notify_enabled(self) -> pulumi.Output[bool]: + """ + If set, notify when size is near 80, 90 or 100 % of its maximum capacity + """ + return pulumi.get(self, "alert_notify_enabled") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Index creation + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> pulumi.Output[int]: + """ + Current index size (in bytes) + """ + return pulumi.get(self, "current_size") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Index description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="indexId") + def index_id(self) -> pulumi.Output[str]: + """ + Index ID + """ + return pulumi.get(self, "index_id") + + @property + @pulumi.getter(name="isEditable") + def is_editable(self) -> pulumi.Output[bool]: + """ + Indicates if you are allowed to edit entry + """ + return pulumi.get(self, "is_editable") + + @property + @pulumi.getter(name="maxSize") + def max_size(self) -> pulumi.Output[int]: + """ + Maximum index size (in bytes) + """ + return pulumi.get(self, "max_size") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Index name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nbShard") + def nb_shard(self) -> pulumi.Output[int]: + """ + Number of shards + """ + return pulumi.get(self, "nb_shard") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Output[str]: + """ + The service name + """ + return pulumi.get(self, "service_name") + + @property + @pulumi.getter + def suffix(self) -> pulumi.Output[str]: + """ + Index suffix + """ + return pulumi.get(self, "suffix") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + """ + Index last update + """ + return pulumi.get(self, "updated_at") + diff --git a/sdk/python/pulumi_ovh/dbaas/logs_token.py b/sdk/python/pulumi_ovh/dbaas/logs_token.py index 645e9adb..61e493f4 100644 --- a/sdk/python/pulumi_ovh/dbaas/logs_token.py +++ b/sdk/python/pulumi_ovh/dbaas/logs_token.py @@ -4,9 +4,14 @@ 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__ = ['LogsTokenArgs', 'LogsToken'] diff --git a/sdk/python/pulumi_ovh/dbaas/outputs.py b/sdk/python/pulumi_ovh/dbaas/outputs.py index 3727417d..d51ccbbd 100644 --- a/sdk/python/pulumi_ovh/dbaas/outputs.py +++ b/sdk/python/pulumi_ovh/dbaas/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/dedicated/_inputs.py b/sdk/python/pulumi_ovh/dedicated/_inputs.py index 9c2be491..3f539b29 100644 --- a/sdk/python/pulumi_ovh/dedicated/_inputs.py +++ b/sdk/python/pulumi_ovh/dedicated/_inputs.py @@ -4,26 +4,66 @@ 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__ = [ 'ServerDetailsArgs', + 'ServerDetailsArgsDict', 'ServerIamArgs', + 'ServerIamArgsDict', 'ServerInstallTaskDetailsArgs', + 'ServerInstallTaskDetailsArgsDict', 'ServerInstallTaskUserMetadataArgs', + 'ServerInstallTaskUserMetadataArgsDict', 'ServerNetworkingInterfaceArgs', + 'ServerNetworkingInterfaceArgsDict', 'ServerOrderArgs', + 'ServerOrderArgsDict', 'ServerOrderDetailArgs', + 'ServerOrderDetailArgsDict', 'ServerPlanArgs', + 'ServerPlanArgsDict', 'ServerPlanConfigurationArgs', + 'ServerPlanConfigurationArgsDict', 'ServerPlanOptionArgs', + 'ServerPlanOptionArgsDict', 'ServerPlanOptionConfigurationArgs', + 'ServerPlanOptionConfigurationArgsDict', 'ServerUserMetadataArgs', + 'ServerUserMetadataArgsDict', ] +MYPY = False + +if not MYPY: + class ServerDetailsArgsDict(TypedDict): + custom_hostname: NotRequired[pulumi.Input[str]] + """ + Personnal hostname to use in server reinstallation + """ + disk_group_id: NotRequired[pulumi.Input[float]] + """ + Disk group id to process install on (only available for some templates) + """ + no_raid: NotRequired[pulumi.Input[bool]] + """ + true if you want to install only on the first disk + """ + soft_raid_devices: NotRequired[pulumi.Input[float]] + """ + Number of devices to use for system's software RAID + """ +elif False: + ServerDetailsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerDetailsArgs: def __init__(__self__, *, @@ -95,6 +135,27 @@ def soft_raid_devices(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "soft_raid_devices", value) +if not MYPY: + class ServerIamArgsDict(TypedDict): + display_name: NotRequired[pulumi.Input[str]] + """ + Resource display name + """ + id: NotRequired[pulumi.Input[str]] + """ + Unique identifier of the resource in the IAM + """ + tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Resource tags. Tags that were internally computed are prefixed with `ovh:` + """ + urn: NotRequired[pulumi.Input[str]] + """ + URN of the private database, used when writing IAM policies + """ +elif False: + ServerIamArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerIamArgs: def __init__(__self__, *, @@ -166,6 +227,27 @@ def urn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urn", value) +if not MYPY: + class ServerInstallTaskDetailsArgsDict(TypedDict): + custom_hostname: NotRequired[pulumi.Input[str]] + """ + Set up the server using the provided hostname instead of the default hostname. + """ + disk_group_id: NotRequired[pulumi.Input[int]] + """ + Disk group id. + """ + no_raid: NotRequired[pulumi.Input[bool]] + """ + Set to true to disable RAID. + """ + soft_raid_devices: NotRequired[pulumi.Input[int]] + """ + soft raid devices. + """ +elif False: + ServerInstallTaskDetailsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerInstallTaskDetailsArgs: def __init__(__self__, *, @@ -237,6 +319,19 @@ def soft_raid_devices(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "soft_raid_devices", value) +if not MYPY: + class ServerInstallTaskUserMetadataArgsDict(TypedDict): + key: pulumi.Input[str] + """ + The key for the user_metadata + """ + value: pulumi.Input[str] + """ + The value for the user_metadata + """ +elif False: + ServerInstallTaskUserMetadataArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerInstallTaskUserMetadataArgs: def __init__(__self__, *, @@ -274,6 +369,19 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class ServerNetworkingInterfaceArgsDict(TypedDict): + macs: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + Interface Mac address + """ + type: pulumi.Input[str] + """ + Interface type + """ +elif False: + ServerNetworkingInterfaceArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerNetworkingInterfaceArgs: def __init__(__self__, *, @@ -311,6 +419,18 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +if not MYPY: + class ServerOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerOrderDetailArgsDict']]]] + """ + Details object when reinstalling server (see https://eu.api.ovh.com/console/?section=%2Fdedicated%2Fserver&branch=v1#post-/dedicated/server/-serviceName-/install/start) + """ + expiration_date: NotRequired[pulumi.Input[str]] + order_id: NotRequired[pulumi.Input[float]] +elif False: + ServerOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerOrderArgs: def __init__(__self__, *, @@ -370,6 +490,19 @@ def order_id(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "order_id", value) +if not MYPY: + class ServerOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + detail_type: NotRequired[pulumi.Input[str]] + """ + Product type of item in order + """ + domain: NotRequired[pulumi.Input[str]] + order_detail_id: NotRequired[pulumi.Input[float]] + quantity: NotRequired[pulumi.Input[str]] +elif False: + ServerOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerOrderDetailArgs: def __init__(__self__, *, @@ -441,6 +574,32 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class ServerPlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + Duration selected for the purchase of the product + """ + plan_code: pulumi.Input[str] + """ + Identifier of the option offer + """ + pricing_mode: pulumi.Input[str] + """ + Pricing mode selected for the purchase of the product + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerPlanConfigurationArgsDict']]]] + item_id: NotRequired[pulumi.Input[float]] + """ + Cart item to be linked + """ + quantity: NotRequired[pulumi.Input[float]] + """ + Quantity of product desired + """ +elif False: + ServerPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerPlanArgs: def __init__(__self__, *, @@ -537,6 +696,19 @@ def quantity(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "quantity", value) +if not MYPY: + class ServerPlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Label for your configuration item + """ + value: pulumi.Input[str] + """ + Value or resource URL on API.OVH.COM of your configuration item + """ +elif False: + ServerPlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerPlanConfigurationArgs: def __init__(__self__, *, @@ -574,6 +746,28 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class ServerPlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + Duration selected for the purchase of the product + """ + plan_code: pulumi.Input[str] + """ + Identifier of the option offer + """ + pricing_mode: pulumi.Input[str] + """ + Pricing mode selected for the purchase of the product + """ + quantity: pulumi.Input[float] + """ + Quantity of product desired + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerPlanOptionConfigurationArgsDict']]]] +elif False: + ServerPlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerPlanOptionArgs: def __init__(__self__, *, @@ -653,6 +847,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ser pulumi.set(self, "configurations", value) +if not MYPY: + class ServerPlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Label for your configuration item + """ + value: pulumi.Input[str] + """ + Value or resource URL on API.OVH.COM of your configuration item + """ +elif False: + ServerPlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerPlanOptionConfigurationArgs: def __init__(__self__, *, @@ -690,6 +897,13 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class ServerUserMetadataArgsDict(TypedDict): + key: NotRequired[pulumi.Input[str]] + value: NotRequired[pulumi.Input[str]] +elif False: + ServerUserMetadataArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ServerUserMetadataArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/dedicated/ceph_acl.py b/sdk/python/pulumi_ovh/dedicated/ceph_acl.py index 04325eb6..0e04c0a2 100644 --- a/sdk/python/pulumi_ovh/dedicated/ceph_acl.py +++ b/sdk/python/pulumi_ovh/dedicated/ceph_acl.py @@ -4,9 +4,14 @@ 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__ = ['CephAclArgs', 'CephAcl'] diff --git a/sdk/python/pulumi_ovh/dedicated/get_ceph.py b/sdk/python/pulumi_ovh/dedicated/get_ceph.py index a8897437..84748a8b 100644 --- a/sdk/python/pulumi_ovh/dedicated/get_ceph.py +++ b/sdk/python/pulumi_ovh/dedicated/get_ceph.py @@ -4,9 +4,14 @@ 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__ = [ @@ -209,9 +214,6 @@ def get_ceph(ceph_version: Optional[str] = None, size=pulumi.get(__ret__, 'size'), state=pulumi.get(__ret__, 'state'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_ceph) def get_ceph_output(ceph_version: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[Optional[str]]] = None, @@ -233,4 +235,21 @@ def get_ceph_output(ceph_version: Optional[pulumi.Input[Optional[str]]] = None, :param str service_name: The service name of the dedicated CEPH cluster. :param str status: the status of the service """ - ... + __args__ = dict() + __args__['cephVersion'] = ceph_version + __args__['serviceName'] = service_name + __args__['status'] = status + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dedicated/getCeph:getCeph', __args__, opts=opts, typ=GetCephResult) + return __ret__.apply(lambda __response__: GetCephResult( + ceph_urn=pulumi.get(__response__, 'ceph_urn'), + ceph_mons=pulumi.get(__response__, 'ceph_mons'), + ceph_version=pulumi.get(__response__, 'ceph_version'), + crush_tunables=pulumi.get(__response__, 'crush_tunables'), + id=pulumi.get(__response__, 'id'), + label=pulumi.get(__response__, 'label'), + region=pulumi.get(__response__, 'region'), + service_name=pulumi.get(__response__, 'service_name'), + size=pulumi.get(__response__, 'size'), + state=pulumi.get(__response__, 'state'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/dedicated/get_nas_ha.py b/sdk/python/pulumi_ovh/dedicated/get_nas_ha.py index 904c9342..0ec4940a 100644 --- a/sdk/python/pulumi_ovh/dedicated/get_nas_ha.py +++ b/sdk/python/pulumi_ovh/dedicated/get_nas_ha.py @@ -4,9 +4,14 @@ 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__ = [ @@ -198,9 +203,6 @@ def get_nas_ha(service_name: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), zpool_capacity=pulumi.get(__ret__, 'zpool_capacity'), zpool_size=pulumi.get(__ret__, 'zpool_size')) - - -@_utilities.lift_output_func(get_nas_ha) def get_nas_ha_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNasHAResult]: """ @@ -218,4 +220,19 @@ def get_nas_ha_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The service_name of your dedicated HA-NAS. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dedicated/getNasHA:getNasHA', __args__, opts=opts, typ=GetNasHAResult) + return __ret__.apply(lambda __response__: GetNasHAResult( + nas_haurn=pulumi.get(__response__, 'nas_haurn'), + can_create_partition=pulumi.get(__response__, 'can_create_partition'), + custom_name=pulumi.get(__response__, 'custom_name'), + datacenter=pulumi.get(__response__, 'datacenter'), + disk_type=pulumi.get(__response__, 'disk_type'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + monitored=pulumi.get(__response__, 'monitored'), + service_name=pulumi.get(__response__, 'service_name'), + zpool_capacity=pulumi.get(__response__, 'zpool_capacity'), + zpool_size=pulumi.get(__response__, 'zpool_size'))) diff --git a/sdk/python/pulumi_ovh/dedicated/get_server_boots.py b/sdk/python/pulumi_ovh/dedicated/get_server_boots.py index f1114ebe..782aafa5 100644 --- a/sdk/python/pulumi_ovh/dedicated/get_server_boots.py +++ b/sdk/python/pulumi_ovh/dedicated/get_server_boots.py @@ -4,9 +4,14 @@ 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__ = [ @@ -118,9 +123,6 @@ def get_server_boots(boot_type: Optional[str] = None, kernel=pulumi.get(__ret__, 'kernel'), results=pulumi.get(__ret__, 'results'), service_name=pulumi.get(__ret__, 'service_name')) - - -@_utilities.lift_output_func(get_server_boots) def get_server_boots_output(boot_type: Optional[pulumi.Input[Optional[str]]] = None, kernel: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, @@ -143,4 +145,15 @@ def get_server_boots_output(boot_type: Optional[pulumi.Input[Optional[str]]] = N :param str kernel: Filter the value of kernel property (iPXE script name) :param str service_name: The internal name of your dedicated server. """ - ... + __args__ = dict() + __args__['bootType'] = boot_type + __args__['kernel'] = kernel + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dedicated/getServerBoots:getServerBoots', __args__, opts=opts, typ=GetServerBootsResult) + return __ret__.apply(lambda __response__: GetServerBootsResult( + boot_type=pulumi.get(__response__, 'boot_type'), + id=pulumi.get(__response__, 'id'), + kernel=pulumi.get(__response__, 'kernel'), + results=pulumi.get(__response__, 'results'), + service_name=pulumi.get(__response__, 'service_name'))) diff --git a/sdk/python/pulumi_ovh/dedicated/get_server_specifications_hardware.py b/sdk/python/pulumi_ovh/dedicated/get_server_specifications_hardware.py index e5e5f932..dfedee9b 100644 --- a/sdk/python/pulumi_ovh/dedicated/get_server_specifications_hardware.py +++ b/sdk/python/pulumi_ovh/dedicated/get_server_specifications_hardware.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -274,9 +279,6 @@ def get_server_specifications_hardware(service_name: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), threads_per_processor=pulumi.get(__ret__, 'threads_per_processor'), usb_keys=pulumi.get(__ret__, 'usb_keys')) - - -@_utilities.lift_output_func(get_server_specifications_hardware) def get_server_specifications_hardware_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerSpecificationsHardwareResult]: """ @@ -294,4 +296,25 @@ def get_server_specifications_hardware_output(service_name: Optional[pulumi.Inpu :param str service_name: The internal name of your dedicated server. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dedicated/getServerSpecificationsHardware:getServerSpecificationsHardware', __args__, opts=opts, typ=GetServerSpecificationsHardwareResult) + return __ret__.apply(lambda __response__: GetServerSpecificationsHardwareResult( + boot_mode=pulumi.get(__response__, 'boot_mode'), + cores_per_processor=pulumi.get(__response__, 'cores_per_processor'), + default_hardware_raid_size=pulumi.get(__response__, 'default_hardware_raid_size'), + default_hardware_raid_type=pulumi.get(__response__, 'default_hardware_raid_type'), + description=pulumi.get(__response__, 'description'), + disk_groups=pulumi.get(__response__, 'disk_groups'), + expansion_cards=pulumi.get(__response__, 'expansion_cards'), + form_factor=pulumi.get(__response__, 'form_factor'), + id=pulumi.get(__response__, 'id'), + memory_size=pulumi.get(__response__, 'memory_size'), + motherboard=pulumi.get(__response__, 'motherboard'), + number_of_processors=pulumi.get(__response__, 'number_of_processors'), + processor_architecture=pulumi.get(__response__, 'processor_architecture'), + processor_name=pulumi.get(__response__, 'processor_name'), + service_name=pulumi.get(__response__, 'service_name'), + threads_per_processor=pulumi.get(__response__, 'threads_per_processor'), + usb_keys=pulumi.get(__response__, 'usb_keys'))) diff --git a/sdk/python/pulumi_ovh/dedicated/get_server_specifications_network.py b/sdk/python/pulumi_ovh/dedicated/get_server_specifications_network.py index fc49a7ae..9e4271e9 100644 --- a/sdk/python/pulumi_ovh/dedicated/get_server_specifications_network.py +++ b/sdk/python/pulumi_ovh/dedicated/get_server_specifications_network.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -183,9 +188,6 @@ def get_server_specifications_network(service_name: Optional[str] = None, traffic=pulumi.get(__ret__, 'traffic'), vmac=pulumi.get(__ret__, 'vmac'), vrack=pulumi.get(__ret__, 'vrack')) - - -@_utilities.lift_output_func(get_server_specifications_network) def get_server_specifications_network_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerSpecificationsNetworkResult]: """ @@ -203,4 +205,18 @@ def get_server_specifications_network_output(service_name: Optional[pulumi.Input :param str service_name: The internal name of your dedicated server. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Dedicated/getServerSpecificationsNetwork:getServerSpecificationsNetwork', __args__, opts=opts, typ=GetServerSpecificationsNetworkResult) + return __ret__.apply(lambda __response__: GetServerSpecificationsNetworkResult( + bandwidth=pulumi.get(__response__, 'bandwidth'), + connection_val=pulumi.get(__response__, 'connection_val'), + id=pulumi.get(__response__, 'id'), + ola=pulumi.get(__response__, 'ola'), + routing=pulumi.get(__response__, 'routing'), + service_name=pulumi.get(__response__, 'service_name'), + switching=pulumi.get(__response__, 'switching'), + traffic=pulumi.get(__response__, 'traffic'), + vmac=pulumi.get(__response__, 'vmac'), + vrack=pulumi.get(__response__, 'vrack'))) diff --git a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition.py b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition.py index a37b86d4..2e74e1ba 100644 --- a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition.py +++ b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition.py @@ -4,9 +4,14 @@ 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__ = ['NasHAPartitionArgs', 'NasHAPartition'] diff --git a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_access.py b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_access.py index 676286f3..bbd345fc 100644 --- a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_access.py +++ b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_access.py @@ -4,9 +4,14 @@ 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__ = ['NasHAPartitionAccessArgs', 'NasHAPartitionAccess'] diff --git a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_snapshot.py b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_snapshot.py index f9e416a1..6905bd72 100644 --- a/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_snapshot.py +++ b/sdk/python/pulumi_ovh/dedicated/nas_ha_partition_snapshot.py @@ -4,9 +4,14 @@ 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__ = ['NasHAPartitionSnapshotArgs', 'NasHAPartitionSnapshot'] diff --git a/sdk/python/pulumi_ovh/dedicated/outputs.py b/sdk/python/pulumi_ovh/dedicated/outputs.py index b566173d..e4ccbf07 100644 --- a/sdk/python/pulumi_ovh/dedicated/outputs.py +++ b/sdk/python/pulumi_ovh/dedicated/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/dedicated/server.py b/sdk/python/pulumi_ovh/dedicated/server.py index f10fc2df..9cb8dae5 100644 --- a/sdk/python/pulumi_ovh/dedicated/server.py +++ b/sdk/python/pulumi_ovh/dedicated/server.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,13 +21,13 @@ @pulumi.input_type class ServerArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], boot_id: Optional[pulumi.Input[float]] = None, boot_script: Optional[pulumi.Input[str]] = None, details: Optional[pulumi.Input['ServerDetailsArgs']] = None, display_name: Optional[pulumi.Input[str]] = None, monitoring: Optional[pulumi.Input[bool]] = None, no_intervention: Optional[pulumi.Input[bool]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, partition_scheme_name: Optional[pulumi.Input[str]] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPlanOptionArgs']]]] = None, plans: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPlanArgs']]]] = None, @@ -34,13 +39,13 @@ def __init__(__self__, *, user_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['ServerUserMetadataArgs']]]] = None): """ The set of arguments for constructing a Server resource. - :param pulumi.Input[str] ovh_subsidiary: OVH subsidiaries :param pulumi.Input[float] boot_id: Boot id of the server :param pulumi.Input[str] boot_script: Boot script of the server :param pulumi.Input['ServerDetailsArgs'] details: A structure describing informations about installation custom :param pulumi.Input[str] display_name: Resource display name :param pulumi.Input[bool] monitoring: Icmp monitoring state :param pulumi.Input[bool] no_intervention: Prevent datacenter intervention + :param pulumi.Input[str] ovh_subsidiary: OVH subsidiaries :param pulumi.Input[str] partition_scheme_name: Partition scheme name :param pulumi.Input[str] rescue_mail: Rescue mail of the server :param pulumi.Input[str] rescue_ssh_key: Public SSH Key used in the rescue mode @@ -49,7 +54,6 @@ def __init__(__self__, *, :param pulumi.Input[str] template_name: Template name :param pulumi.Input[Sequence[pulumi.Input['ServerUserMetadataArgs']]] user_metadatas: Metadata """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if boot_id is not None: pulumi.set(__self__, "boot_id", boot_id) if boot_script is not None: @@ -62,6 +66,8 @@ def __init__(__self__, *, pulumi.set(__self__, "monitoring", monitoring) if no_intervention is not None: pulumi.set(__self__, "no_intervention", no_intervention) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if partition_scheme_name is not None: pulumi.set(__self__, "partition_scheme_name", partition_scheme_name) if plan_options is not None: @@ -81,18 +87,6 @@ def __init__(__self__, *, if user_metadatas is not None: pulumi.set(__self__, "user_metadatas", user_metadatas) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVH subsidiaries - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - @property @pulumi.getter(name="bootId") def boot_id(self) -> Optional[pulumi.Input[float]]: @@ -165,6 +159,18 @@ def no_intervention(self) -> Optional[pulumi.Input[bool]]: def no_intervention(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "no_intervention", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVH subsidiaries + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="partitionSchemeName") def partition_scheme_name(self) -> Optional[pulumi.Input[str]]: @@ -833,13 +839,31 @@ def __init__(__self__, """ ## Import - Dedicated servers can be imported using the `service_name`, e.g.: + Dedicated servers can be imported using the `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_dedicated_server.server + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Dedicated/server:Server server service_name - ``` + $ pulumi preview -generate-config-out=dedicated.tf + + $ pulumi up + + The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -862,18 +886,36 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ServerArgs, + args: Optional[ServerArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Import - Dedicated servers can be imported using the `service_name`, e.g.: + Dedicated servers can be imported using the `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_dedicated_server.server + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Dedicated/server:Server server service_name - ``` + $ pulumi preview -generate-config-out=dedicated.tf + + $ pulumi up + + The file `dedicated.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param ServerArgs args: The arguments to use to populate this resource's properties. @@ -921,8 +963,6 @@ def _internal_init(__self__, __props__.__dict__["display_name"] = display_name __props__.__dict__["monitoring"] = monitoring __props__.__dict__["no_intervention"] = no_intervention - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["partition_scheme_name"] = partition_scheme_name __props__.__dict__["plan_options"] = plan_options @@ -1201,7 +1241,7 @@ def os(self) -> pulumi.Output[str]: @property @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Output[str]: + def ovh_subsidiary(self) -> pulumi.Output[Optional[str]]: """ OVH subsidiaries """ diff --git a/sdk/python/pulumi_ovh/dedicated/server_install_task.py b/sdk/python/pulumi_ovh/dedicated/server_install_task.py index 5b42eb5a..323c6be4 100644 --- a/sdk/python/pulumi_ovh/dedicated/server_install_task.py +++ b/sdk/python/pulumi_ovh/dedicated/server_install_task.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/dedicated/server_networking.py b/sdk/python/pulumi_ovh/dedicated/server_networking.py index ade5cf50..3fb49366 100644 --- a/sdk/python/pulumi_ovh/dedicated/server_networking.py +++ b/sdk/python/pulumi_ovh/dedicated/server_networking.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/dedicated/server_reboot_task.py b/sdk/python/pulumi_ovh/dedicated/server_reboot_task.py index 6a96230f..d69639d6 100644 --- a/sdk/python/pulumi_ovh/dedicated/server_reboot_task.py +++ b/sdk/python/pulumi_ovh/dedicated/server_reboot_task.py @@ -4,9 +4,14 @@ 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__ = ['ServerRebootTaskArgs', 'ServerRebootTask'] diff --git a/sdk/python/pulumi_ovh/dedicated/server_update.py b/sdk/python/pulumi_ovh/dedicated/server_update.py index a60a517e..ace64360 100644 --- a/sdk/python/pulumi_ovh/dedicated/server_update.py +++ b/sdk/python/pulumi_ovh/dedicated/server_update.py @@ -4,9 +4,14 @@ 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__ = ['ServerUpdateArgs', 'ServerUpdate'] diff --git a/sdk/python/pulumi_ovh/domain/_inputs.py b/sdk/python/pulumi_ovh/domain/_inputs.py index 80ff286a..b71227e1 100644 --- a/sdk/python/pulumi_ovh/domain/_inputs.py +++ b/sdk/python/pulumi_ovh/domain/_inputs.py @@ -4,20 +4,54 @@ 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__ = [ 'ZoneOrderArgs', + 'ZoneOrderArgsDict', 'ZoneOrderDetailArgs', + 'ZoneOrderDetailArgsDict', 'ZonePlanArgs', + 'ZonePlanArgsDict', 'ZonePlanConfigurationArgs', + 'ZonePlanConfigurationArgsDict', 'ZonePlanOptionArgs', + 'ZonePlanOptionArgsDict', 'ZonePlanOptionConfigurationArgs', + 'ZonePlanOptionConfigurationArgsDict', ] +MYPY = False + +if not MYPY: + class ZoneOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['ZoneOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id + """ +elif False: + ZoneOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZoneOrderArgs: def __init__(__self__, *, @@ -89,6 +123,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class ZoneOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + description + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + ZoneOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZoneOrderDetailArgs: def __init__(__self__, *, @@ -160,6 +215,31 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class ZonePlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ZonePlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product. 2 configurations are required : one for `zone` and one for `template` + """ +elif False: + ZonePlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZonePlanArgs: def __init__(__self__, *, @@ -244,6 +324,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Zon pulumi.set(self, "configurations", value) +if not MYPY: + class ZonePlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource : `zone` or `template` + """ + value: pulumi.Input[str] + """ + For `zone`, the value is the zone name `myzone.example.com`. For `template`, the value can be `basic`, `minimized` or `redirect` which is the same as `minimized` with additional entries for a redirect configuration. + """ +elif False: + ZonePlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZonePlanConfigurationArgs: def __init__(__self__, *, @@ -281,6 +374,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class ZonePlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ZonePlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + ZonePlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZonePlanOptionArgs: def __init__(__self__, *, @@ -365,6 +483,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Zon pulumi.set(self, "configurations", value) +if not MYPY: + class ZonePlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + ZonePlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ZonePlanOptionConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/domain/get_zone.py b/sdk/python/pulumi_ovh/domain/get_zone.py index a3df8f66..9a9a8062 100644 --- a/sdk/python/pulumi_ovh/domain/get_zone.py +++ b/sdk/python/pulumi_ovh/domain/get_zone.py @@ -4,9 +4,14 @@ 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__ = [ @@ -143,9 +148,6 @@ def get_zone(name: Optional[str] = None, last_update=pulumi.get(__ret__, 'last_update'), name=pulumi.get(__ret__, 'name'), name_servers=pulumi.get(__ret__, 'name_servers')) - - -@_utilities.lift_output_func(get_zone) def get_zone_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetZoneResult]: """ @@ -163,4 +165,15 @@ def get_zone_output(name: Optional[pulumi.Input[str]] = None, :param str name: The name of the domain zone. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Domain/getZone:getZone', __args__, opts=opts, typ=GetZoneResult) + return __ret__.apply(lambda __response__: GetZoneResult( + zone_urn=pulumi.get(__response__, 'zone_urn'), + dnssec_supported=pulumi.get(__response__, 'dnssec_supported'), + has_dns_anycast=pulumi.get(__response__, 'has_dns_anycast'), + id=pulumi.get(__response__, 'id'), + last_update=pulumi.get(__response__, 'last_update'), + name=pulumi.get(__response__, 'name'), + name_servers=pulumi.get(__response__, 'name_servers'))) diff --git a/sdk/python/pulumi_ovh/domain/get_zone_dns_sec.py b/sdk/python/pulumi_ovh/domain/get_zone_dns_sec.py index 866e0261..70d8219f 100644 --- a/sdk/python/pulumi_ovh/domain/get_zone_dns_sec.py +++ b/sdk/python/pulumi_ovh/domain/get_zone_dns_sec.py @@ -4,9 +4,14 @@ 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__ = [ @@ -91,9 +96,6 @@ def get_zone_dns_sec(zone_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), status=pulumi.get(__ret__, 'status'), zone_name=pulumi.get(__ret__, 'zone_name')) - - -@_utilities.lift_output_func(get_zone_dns_sec) def get_zone_dns_sec_output(zone_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetZoneDNSSecResult]: """ @@ -111,4 +113,11 @@ def get_zone_dns_sec_output(zone_name: Optional[pulumi.Input[str]] = None, :param str zone_name: The name of the domain zone """ - ... + __args__ = dict() + __args__['zoneName'] = zone_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Domain/getZoneDNSSec:getZoneDNSSec', __args__, opts=opts, typ=GetZoneDNSSecResult) + return __ret__.apply(lambda __response__: GetZoneDNSSecResult( + id=pulumi.get(__response__, 'id'), + status=pulumi.get(__response__, 'status'), + zone_name=pulumi.get(__response__, 'zone_name'))) diff --git a/sdk/python/pulumi_ovh/domain/outputs.py b/sdk/python/pulumi_ovh/domain/outputs.py index 7cc58173..f9743f05 100644 --- a/sdk/python/pulumi_ovh/domain/outputs.py +++ b/sdk/python/pulumi_ovh/domain/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/domain/zone.py b/sdk/python/pulumi_ovh/domain/zone.py index 30a2781f..f68ba46f 100644 --- a/sdk/python/pulumi_ovh/domain/zone.py +++ b/sdk/python/pulumi_ovh/domain/zone.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,55 +21,33 @@ @pulumi.input_type class ZoneArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['ZonePlanArgs'], orders: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['ZonePlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['ZonePlanOptionArgs']]]] = None): """ The set of arguments for constructing a Zone resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['ZonePlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['ZoneOrderArgs']]] orders: Details about an Order + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['ZonePlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['ZonePlanOptionArgs']]] plan_options: Product Plan to order """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['ZonePlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['ZonePlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneOrderArgs']]]]: @@ -77,6 +60,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneOrderArgs'] def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -90,6 +85,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['ZonePlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['ZonePlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZonePlanOptionArgs']]]]: @@ -332,13 +339,31 @@ def __init__(__self__, ## Import - Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. + Zone can be imported using its `name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_domain_zone.zone + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Domain/zone:Zone zone order_id - ``` + $ pulumi preview -generate-config-out=zone.tf + + $ pulumi up + + The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -352,7 +377,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ZoneArgs, + args: Optional[ZoneArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -388,13 +413,31 @@ def __init__(__self__, ## Import - Zone can be imported using the `order_id` that can be retrieved in the [order page](https://www.ovh.com/manager/#/dedicated/billing/orders/orders) at the creation time of the zone. + Zone can be imported using its `name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_domain_zone.zone + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Domain/zone:Zone zone order_id - ``` + $ pulumi preview -generate-config-out=zone.tf + + $ pulumi up + + The file `zone.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param ZoneArgs args: The arguments to use to populate this resource's properties. @@ -426,12 +469,8 @@ def _internal_init(__self__, __props__ = ZoneArgs.__new__(ZoneArgs) __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["zone_urn"] = None diff --git a/sdk/python/pulumi_ovh/domain/zone_dns_sec.py b/sdk/python/pulumi_ovh/domain/zone_dns_sec.py index 1fcbb34c..af44c8ab 100644 --- a/sdk/python/pulumi_ovh/domain/zone_dns_sec.py +++ b/sdk/python/pulumi_ovh/domain/zone_dns_sec.py @@ -4,9 +4,14 @@ 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__ = ['ZoneDNSSecArgs', 'ZoneDNSSec'] diff --git a/sdk/python/pulumi_ovh/domain/zone_import.py b/sdk/python/pulumi_ovh/domain/zone_import.py index f8f89187..c3cfe9a8 100644 --- a/sdk/python/pulumi_ovh/domain/zone_import.py +++ b/sdk/python/pulumi_ovh/domain/zone_import.py @@ -4,9 +4,14 @@ 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__ = ['ZoneImportArgs', 'ZoneImport'] diff --git a/sdk/python/pulumi_ovh/domain/zone_record.py b/sdk/python/pulumi_ovh/domain/zone_record.py index 71e0eb67..79242d5d 100644 --- a/sdk/python/pulumi_ovh/domain/zone_record.py +++ b/sdk/python/pulumi_ovh/domain/zone_record.py @@ -4,9 +4,14 @@ 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__ = ['ZoneRecordArgs', 'ZoneRecord'] diff --git a/sdk/python/pulumi_ovh/domain/zone_redirection.py b/sdk/python/pulumi_ovh/domain/zone_redirection.py index 076b0d26..62d39d79 100644 --- a/sdk/python/pulumi_ovh/domain/zone_redirection.py +++ b/sdk/python/pulumi_ovh/domain/zone_redirection.py @@ -4,9 +4,14 @@ 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__ = ['ZoneRedirectionArgs', 'ZoneRedirection'] diff --git a/sdk/python/pulumi_ovh/get_installation_template.py b/sdk/python/pulumi_ovh/get_installation_template.py index 416ab1f9..95348ede 100644 --- a/sdk/python/pulumi_ovh/get_installation_template.py +++ b/sdk/python/pulumi_ovh/get_installation_template.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -272,9 +277,6 @@ def get_installation_template(template_name: Optional[str] = None, soft_raid_only_mirroring=pulumi.get(__ret__, 'soft_raid_only_mirroring'), subfamily=pulumi.get(__ret__, 'subfamily'), template_name=pulumi.get(__ret__, 'template_name')) - - -@_utilities.lift_output_func(get_installation_template) def get_installation_template_output(template_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstallationTemplateResult]: """ @@ -293,4 +295,25 @@ def get_installation_template_output(template_name: Optional[pulumi.Input[str]] :param str template_name: The name of the template. """ - ... + __args__ = dict() + __args__['templateName'] = template_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:index/getInstallationTemplate:getInstallationTemplate', __args__, opts=opts, typ=GetInstallationTemplateResult) + return __ret__.apply(lambda __response__: GetInstallationTemplateResult( + bit_format=pulumi.get(__response__, 'bit_format'), + category=pulumi.get(__response__, 'category'), + description=pulumi.get(__response__, 'description'), + distribution=pulumi.get(__response__, 'distribution'), + end_of_install=pulumi.get(__response__, 'end_of_install'), + family=pulumi.get(__response__, 'family'), + filesystems=pulumi.get(__response__, 'filesystems'), + hard_raid_configuration=pulumi.get(__response__, 'hard_raid_configuration'), + id=pulumi.get(__response__, 'id'), + inputs=pulumi.get(__response__, 'inputs'), + licenses=pulumi.get(__response__, 'licenses'), + lvm_ready=pulumi.get(__response__, 'lvm_ready'), + no_partitioning=pulumi.get(__response__, 'no_partitioning'), + projects=pulumi.get(__response__, 'projects'), + soft_raid_only_mirroring=pulumi.get(__response__, 'soft_raid_only_mirroring'), + subfamily=pulumi.get(__response__, 'subfamily'), + template_name=pulumi.get(__response__, 'template_name'))) diff --git a/sdk/python/pulumi_ovh/get_installation_templates.py b/sdk/python/pulumi_ovh/get_installation_templates.py index 66cf1dd6..d21e604a 100644 --- a/sdk/python/pulumi_ovh/get_installation_templates.py +++ b/sdk/python/pulumi_ovh/get_installation_templates.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_installation_templates(opts: Optional[pulumi.InvokeOptions] = None) -> A return AwaitableGetInstallationTemplatesResult( id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_installation_templates) def get_installation_templates_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstallationTemplatesResult]: """ Use this data source to get the list of installation templates available for dedicated servers. @@ -92,4 +94,9 @@ def get_installation_templates_output(opts: Optional[pulumi.InvokeOptions] = Non templates = ovh.get_installation_templates() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:index/getInstallationTemplates:getInstallationTemplates', __args__, opts=opts, typ=GetInstallationTemplatesResult) + return __ret__.apply(lambda __response__: GetInstallationTemplatesResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/get_server.py b/sdk/python/pulumi_ovh/get_server.py index d782014b..1602a023 100644 --- a/sdk/python/pulumi_ovh/get_server.py +++ b/sdk/python/pulumi_ovh/get_server.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs @@ -391,9 +396,6 @@ def get_server(service_name: Optional[str] = None, state=pulumi.get(__ret__, 'state'), support_level=pulumi.get(__ret__, 'support_level'), vnis=pulumi.get(__ret__, 'vnis')) - - -@_utilities.lift_output_func(get_server) def get_server_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerResult]: """ @@ -411,4 +413,34 @@ def get_server_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The service_name of your dedicated server. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:index/getServer:getServer', __args__, opts=opts, typ=GetServerResult) + return __ret__.apply(lambda __response__: GetServerResult( + server_urn=pulumi.get(__response__, 'server_urn'), + boot_id=pulumi.get(__response__, 'boot_id'), + boot_script=pulumi.get(__response__, 'boot_script'), + commercial_range=pulumi.get(__response__, 'commercial_range'), + datacenter=pulumi.get(__response__, 'datacenter'), + display_name=pulumi.get(__response__, 'display_name'), + enabled_public_vnis=pulumi.get(__response__, 'enabled_public_vnis'), + enabled_vrack_aggregation_vnis=pulumi.get(__response__, 'enabled_vrack_aggregation_vnis'), + enabled_vrack_vnis=pulumi.get(__response__, 'enabled_vrack_vnis'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + ips=pulumi.get(__response__, 'ips'), + link_speed=pulumi.get(__response__, 'link_speed'), + monitoring=pulumi.get(__response__, 'monitoring'), + name=pulumi.get(__response__, 'name'), + os=pulumi.get(__response__, 'os'), + professional_use=pulumi.get(__response__, 'professional_use'), + rack=pulumi.get(__response__, 'rack'), + rescue_mail=pulumi.get(__response__, 'rescue_mail'), + reverse=pulumi.get(__response__, 'reverse'), + root_device=pulumi.get(__response__, 'root_device'), + server_id=pulumi.get(__response__, 'server_id'), + service_name=pulumi.get(__response__, 'service_name'), + state=pulumi.get(__response__, 'state'), + support_level=pulumi.get(__response__, 'support_level'), + vnis=pulumi.get(__response__, 'vnis'))) diff --git a/sdk/python/pulumi_ovh/get_servers.py b/sdk/python/pulumi_ovh/get_servers.py index 6aef3f31..397a3473 100644 --- a/sdk/python/pulumi_ovh/get_servers.py +++ b/sdk/python/pulumi_ovh/get_servers.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_servers(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServ return AwaitableGetServersResult( id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_servers) def get_servers_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServersResult]: """ Use this data source to get the list of dedicated servers associated with your OVHcloud Account. @@ -92,4 +94,9 @@ def get_servers_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Ou servers = ovh.get_servers() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:index/getServers:getServers', __args__, opts=opts, typ=GetServersResult) + return __ret__.apply(lambda __response__: GetServersResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/get_vrack_networks.py b/sdk/python/pulumi_ovh/get_vrack_networks.py index 802ba0c3..f98ab72d 100644 --- a/sdk/python/pulumi_ovh/get_vrack_networks.py +++ b/sdk/python/pulumi_ovh/get_vrack_networks.py @@ -4,9 +4,14 @@ 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__ = [ @@ -118,9 +123,6 @@ def get_vrack_networks(service_name: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), subnet=pulumi.get(__ret__, 'subnet'), vlan_id=pulumi.get(__ret__, 'vlan_id')) - - -@_utilities.lift_output_func(get_vrack_networks) def get_vrack_networks_output(service_name: Optional[pulumi.Input[str]] = None, subnet: Optional[pulumi.Input[Optional[str]]] = None, vlan_id: Optional[pulumi.Input[Optional[int]]] = None, @@ -143,4 +145,15 @@ def get_vrack_networks_output(service_name: Optional[pulumi.Input[str]] = None, :param str subnet: Filters networks on the subnet. :param int vlan_id: Filters networks on the vlan id. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['subnet'] = subnet + __args__['vlanId'] = vlan_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:index/getVrackNetworks:getVrackNetworks', __args__, opts=opts, typ=GetVrackNetworksResult) + return __ret__.apply(lambda __response__: GetVrackNetworksResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'), + service_name=pulumi.get(__response__, 'service_name'), + subnet=pulumi.get(__response__, 'subnet'), + vlan_id=pulumi.get(__response__, 'vlan_id'))) diff --git a/sdk/python/pulumi_ovh/hosting/_inputs.py b/sdk/python/pulumi_ovh/hosting/_inputs.py index 60b58488..2d04dcee 100644 --- a/sdk/python/pulumi_ovh/hosting/_inputs.py +++ b/sdk/python/pulumi_ovh/hosting/_inputs.py @@ -4,20 +4,54 @@ 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__ = [ 'PrivateDatabaseOrderArgs', + 'PrivateDatabaseOrderArgsDict', 'PrivateDatabaseOrderDetailArgs', + 'PrivateDatabaseOrderDetailArgsDict', 'PrivateDatabasePlanArgs', + 'PrivateDatabasePlanArgsDict', 'PrivateDatabasePlanConfigurationArgs', + 'PrivateDatabasePlanConfigurationArgsDict', 'PrivateDatabasePlanOptionArgs', + 'PrivateDatabasePlanOptionArgsDict', 'PrivateDatabasePlanOptionConfigurationArgs', + 'PrivateDatabasePlanOptionConfigurationArgsDict', ] +MYPY = False + +if not MYPY: + class PrivateDatabaseOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['PrivateDatabaseOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id + """ +elif False: + PrivateDatabaseOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabaseOrderArgs: def __init__(__self__, *, @@ -89,6 +123,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class PrivateDatabaseOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + Custom description on your privatedatabase order. + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + PrivateDatabaseOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabaseOrderDetailArgs: def __init__(__self__, *, @@ -160,6 +215,31 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class PrivateDatabasePlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration. + """ + plan_code: pulumi.Input[str] + """ + Plan code. + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['PrivateDatabasePlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + PrivateDatabasePlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabasePlanArgs: def __init__(__self__, *, @@ -244,6 +324,21 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Pri pulumi.set(self, "configurations", value) +if not MYPY: + class PrivateDatabasePlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + + Plan order valid values can be found on OVHcloud [APIv6](https://api.ovh.com/console/#/hosting/privateDatabase/availableOrderCapacities~GET) + """ +elif False: + PrivateDatabasePlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabasePlanConfigurationArgs: def __init__(__self__, *, @@ -285,6 +380,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class PrivateDatabasePlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + Service duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['PrivateDatabasePlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + PrivateDatabasePlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabasePlanOptionArgs: def __init__(__self__, *, @@ -369,6 +489,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Pri pulumi.set(self, "configurations", value) +if not MYPY: + class PrivateDatabasePlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + PrivateDatabasePlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class PrivateDatabasePlanOptionConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/hosting/get_private_database.py b/sdk/python/pulumi_ovh/hosting/get_private_database.py index 7e5b5d0b..c28970ad 100644 --- a/sdk/python/pulumi_ovh/hosting/get_private_database.py +++ b/sdk/python/pulumi_ovh/hosting/get_private_database.py @@ -4,9 +4,14 @@ 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__ = [ @@ -322,9 +327,6 @@ def get_private_database(service_name: Optional[str] = None, version=pulumi.get(__ret__, 'version'), version_label=pulumi.get(__ret__, 'version_label'), version_number=pulumi.get(__ret__, 'version_number')) - - -@_utilities.lift_output_func(get_private_database) def get_private_database_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateDatabaseResult]: """ @@ -342,4 +344,29 @@ def get_private_database_output(service_name: Optional[pulumi.Input[str]] = None :param str service_name: The internal name of your private database """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Hosting/getPrivateDatabase:getPrivateDatabase', __args__, opts=opts, typ=GetPrivateDatabaseResult) + return __ret__.apply(lambda __response__: GetPrivateDatabaseResult( + cpu=pulumi.get(__response__, 'cpu'), + datacenter=pulumi.get(__response__, 'datacenter'), + display_name=pulumi.get(__response__, 'display_name'), + hostname=pulumi.get(__response__, 'hostname'), + hostname_ftp=pulumi.get(__response__, 'hostname_ftp'), + id=pulumi.get(__response__, 'id'), + infrastructure=pulumi.get(__response__, 'infrastructure'), + offer=pulumi.get(__response__, 'offer'), + port=pulumi.get(__response__, 'port'), + port_ftp=pulumi.get(__response__, 'port_ftp'), + quota_size=pulumi.get(__response__, 'quota_size'), + quota_used=pulumi.get(__response__, 'quota_used'), + ram=pulumi.get(__response__, 'ram'), + server=pulumi.get(__response__, 'server'), + service_name=pulumi.get(__response__, 'service_name'), + state=pulumi.get(__response__, 'state'), + type=pulumi.get(__response__, 'type'), + urn=pulumi.get(__response__, 'urn'), + version=pulumi.get(__response__, 'version'), + version_label=pulumi.get(__response__, 'version_label'), + version_number=pulumi.get(__response__, 'version_number'))) diff --git a/sdk/python/pulumi_ovh/hosting/get_private_database_allowlist.py b/sdk/python/pulumi_ovh/hosting/get_private_database_allowlist.py index be7c5fd8..81943c92 100644 --- a/sdk/python/pulumi_ovh/hosting/get_private_database_allowlist.py +++ b/sdk/python/pulumi_ovh/hosting/get_private_database_allowlist.py @@ -4,9 +4,14 @@ 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__ = [ @@ -170,9 +175,6 @@ def get_private_database_allowlist(ip: Optional[str] = None, service_name=pulumi.get(__ret__, 'service_name'), sftp=pulumi.get(__ret__, 'sftp'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_private_database_allowlist) def get_private_database_allowlist_output(ip: Optional[pulumi.Input[Optional[str]]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateDatabaseAllowlistResult]: @@ -193,4 +195,18 @@ def get_private_database_allowlist_output(ip: Optional[pulumi.Input[Optional[str :param str ip: The whitelisted IP in your instance :param str service_name: The internal name of your private database """ - ... + __args__ = dict() + __args__['ip'] = ip + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Hosting/getPrivateDatabaseAllowlist:getPrivateDatabaseAllowlist', __args__, opts=opts, typ=GetPrivateDatabaseAllowlistResult) + return __ret__.apply(lambda __response__: GetPrivateDatabaseAllowlistResult( + creation_date=pulumi.get(__response__, 'creation_date'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + last_update=pulumi.get(__response__, 'last_update'), + name=pulumi.get(__response__, 'name'), + service=pulumi.get(__response__, 'service'), + service_name=pulumi.get(__response__, 'service_name'), + sftp=pulumi.get(__response__, 'sftp'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/hosting/get_private_database_db.py b/sdk/python/pulumi_ovh/hosting/get_private_database_db.py index effe80c6..24dabe18 100644 --- a/sdk/python/pulumi_ovh/hosting/get_private_database_db.py +++ b/sdk/python/pulumi_ovh/hosting/get_private_database_db.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -145,9 +150,6 @@ def get_private_database_db(database_name: Optional[str] = None, quota_used=pulumi.get(__ret__, 'quota_used'), service_name=pulumi.get(__ret__, 'service_name'), users=pulumi.get(__ret__, 'users')) - - -@_utilities.lift_output_func(get_private_database_db) def get_private_database_db_output(database_name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateDatabaseDbResult]: @@ -168,4 +170,16 @@ def get_private_database_db_output(database_name: Optional[pulumi.Input[str]] = :param str database_name: Database name :param str service_name: The internal name of your private database """ - ... + __args__ = dict() + __args__['databaseName'] = database_name + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Hosting/getPrivateDatabaseDb:getPrivateDatabaseDb', __args__, opts=opts, typ=GetPrivateDatabaseDbResult) + return __ret__.apply(lambda __response__: GetPrivateDatabaseDbResult( + backup_time=pulumi.get(__response__, 'backup_time'), + creation_date=pulumi.get(__response__, 'creation_date'), + database_name=pulumi.get(__response__, 'database_name'), + id=pulumi.get(__response__, 'id'), + quota_used=pulumi.get(__response__, 'quota_used'), + service_name=pulumi.get(__response__, 'service_name'), + users=pulumi.get(__response__, 'users'))) diff --git a/sdk/python/pulumi_ovh/hosting/get_private_database_user.py b/sdk/python/pulumi_ovh/hosting/get_private_database_user.py index c6aeb683..5757fe30 100644 --- a/sdk/python/pulumi_ovh/hosting/get_private_database_user.py +++ b/sdk/python/pulumi_ovh/hosting/get_private_database_user.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -119,9 +124,6 @@ def get_private_database_user(service_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), user_name=pulumi.get(__ret__, 'user_name')) - - -@_utilities.lift_output_func(get_private_database_user) def get_private_database_user_output(service_name: Optional[pulumi.Input[str]] = None, user_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPrivateDatabaseUserResult]: @@ -142,4 +144,14 @@ def get_private_database_user_output(service_name: Optional[pulumi.Input[str]] = :param str service_name: The internal name of your private database :param str user_name: User name """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['userName'] = user_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Hosting/getPrivateDatabaseUser:getPrivateDatabaseUser', __args__, opts=opts, typ=GetPrivateDatabaseUserResult) + return __ret__.apply(lambda __response__: GetPrivateDatabaseUserResult( + creation_date=pulumi.get(__response__, 'creation_date'), + databases=pulumi.get(__response__, 'databases'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + user_name=pulumi.get(__response__, 'user_name'))) diff --git a/sdk/python/pulumi_ovh/hosting/get_private_database_user_grant.py b/sdk/python/pulumi_ovh/hosting/get_private_database_user_grant.py index c870481c..51ee67c8 100644 --- a/sdk/python/pulumi_ovh/hosting/get_private_database_user_grant.py +++ b/sdk/python/pulumi_ovh/hosting/get_private_database_user_grant.py @@ -4,9 +4,14 @@ 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__ = [ @@ -132,9 +137,6 @@ def get_private_database_user_grant(database_name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), service_name=pulumi.get(__ret__, 'service_name'), user_name=pulumi.get(__ret__, 'user_name')) - - -@_utilities.lift_output_func(get_private_database_user_grant) def get_private_database_user_grant_output(database_name: Optional[pulumi.Input[str]] = None, service_name: Optional[pulumi.Input[str]] = None, user_name: Optional[pulumi.Input[str]] = None, @@ -158,4 +160,16 @@ def get_private_database_user_grant_output(database_name: Optional[pulumi.Input[ :param str service_name: The internal name of your private database :param str user_name: The user name """ - ... + __args__ = dict() + __args__['databaseName'] = database_name + __args__['serviceName'] = service_name + __args__['userName'] = user_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Hosting/getPrivateDatabaseUserGrant:getPrivateDatabaseUserGrant', __args__, opts=opts, typ=GetPrivateDatabaseUserGrantResult) + return __ret__.apply(lambda __response__: GetPrivateDatabaseUserGrantResult( + creation_date=pulumi.get(__response__, 'creation_date'), + database_name=pulumi.get(__response__, 'database_name'), + grant=pulumi.get(__response__, 'grant'), + id=pulumi.get(__response__, 'id'), + service_name=pulumi.get(__response__, 'service_name'), + user_name=pulumi.get(__response__, 'user_name'))) diff --git a/sdk/python/pulumi_ovh/hosting/outputs.py b/sdk/python/pulumi_ovh/hosting/outputs.py index 7c5732be..91dffdcc 100644 --- a/sdk/python/pulumi_ovh/hosting/outputs.py +++ b/sdk/python/pulumi_ovh/hosting/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/hosting/private_database.py b/sdk/python/pulumi_ovh/hosting/private_database.py index 61720394..ed664798 100644 --- a/sdk/python/pulumi_ovh/hosting/private_database.py +++ b/sdk/python/pulumi_ovh/hosting/private_database.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,63 +21,41 @@ @pulumi.input_type class PrivateDatabaseArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['PrivateDatabasePlanArgs'], display_name: Optional[pulumi.Input[str]] = None, orders: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateDatabaseOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['PrivateDatabasePlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateDatabasePlanOptionArgs']]]] = None, service_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a PrivateDatabase resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['PrivateDatabasePlanArgs'] plan: Product Plan to order :param pulumi.Input[str] display_name: Name displayed in customer panel for your private database :param pulumi.Input[Sequence[pulumi.Input['PrivateDatabaseOrderArgs']]] orders: Details about your Order + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['PrivateDatabasePlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['PrivateDatabasePlanOptionArgs']]] plan_options: Product Plan to order :param pulumi.Input[str] service_name: Service name """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if display_name is not None: pulumi.set(__self__, "display_name", display_name) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) if service_name is not None: pulumi.set(__self__, "service_name", service_name) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['PrivateDatabasePlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['PrivateDatabasePlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter(name="displayName") def display_name(self) -> Optional[pulumi.Input[str]]: @@ -97,6 +80,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateDatabase def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateDatabaseOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -110,6 +105,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['PrivateDatabasePlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['PrivateDatabasePlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateDatabasePlanOptionArgs']]]]: @@ -596,11 +603,31 @@ def __init__(__self__, ## Import - OVHcloud Webhosting database can be imported using the `service_name`, E.g., + OVHcloud Webhosting database can be imported using the `service_name`. - ```sh - $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name - ``` + Using the following configuration: + + hcl + + import { + + to = ovh_hosting_privatedatabase.database + + id = "" + + } + + You can then run: + + bash + + $ pulumi preview -generate-config-out=database.tf + + $ pulumi up + + The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -616,7 +643,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: PrivateDatabaseArgs, + args: Optional[PrivateDatabaseArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -654,11 +681,31 @@ def __init__(__self__, ## Import - OVHcloud Webhosting database can be imported using the `service_name`, E.g., + OVHcloud Webhosting database can be imported using the `service_name`. - ```sh - $ pulumi import ovh:Hosting/privateDatabase:PrivateDatabase database service_name - ``` + Using the following configuration: + + hcl + + import { + + to = ovh_hosting_privatedatabase.database + + id = "" + + } + + You can then run: + + bash + + $ pulumi preview -generate-config-out=database.tf + + $ pulumi up + + The file `database.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param PrivateDatabaseArgs args: The arguments to use to populate this resource's properties. @@ -693,12 +740,8 @@ def _internal_init(__self__, __props__.__dict__["display_name"] = display_name __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["service_name"] = service_name diff --git a/sdk/python/pulumi_ovh/hosting/private_database_allowlist.py b/sdk/python/pulumi_ovh/hosting/private_database_allowlist.py index 275abd3e..0509fe78 100644 --- a/sdk/python/pulumi_ovh/hosting/private_database_allowlist.py +++ b/sdk/python/pulumi_ovh/hosting/private_database_allowlist.py @@ -4,9 +4,14 @@ 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__ = ['PrivateDatabaseAllowlistArgs', 'PrivateDatabaseAllowlist'] diff --git a/sdk/python/pulumi_ovh/hosting/private_database_db.py b/sdk/python/pulumi_ovh/hosting/private_database_db.py index 65a7d820..a97de471 100644 --- a/sdk/python/pulumi_ovh/hosting/private_database_db.py +++ b/sdk/python/pulumi_ovh/hosting/private_database_db.py @@ -4,9 +4,14 @@ 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__ = ['PrivateDatabaseDbArgs', 'PrivateDatabaseDb'] diff --git a/sdk/python/pulumi_ovh/hosting/private_database_user.py b/sdk/python/pulumi_ovh/hosting/private_database_user.py index e52105c1..f263d957 100644 --- a/sdk/python/pulumi_ovh/hosting/private_database_user.py +++ b/sdk/python/pulumi_ovh/hosting/private_database_user.py @@ -4,9 +4,14 @@ 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__ = ['PrivateDatabaseUserArgs', 'PrivateDatabaseUser'] diff --git a/sdk/python/pulumi_ovh/hosting/private_database_user_grant.py b/sdk/python/pulumi_ovh/hosting/private_database_user_grant.py index 221a9c1f..8d0274ab 100644 --- a/sdk/python/pulumi_ovh/hosting/private_database_user_grant.py +++ b/sdk/python/pulumi_ovh/hosting/private_database_user_grant.py @@ -4,9 +4,14 @@ 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__ = ['PrivateDatabaseUserGrantArgs', 'PrivateDatabaseUserGrant'] diff --git a/sdk/python/pulumi_ovh/iam/get_permissions_group.py b/sdk/python/pulumi_ovh/iam/get_permissions_group.py index ff1b3d4f..a085d1fa 100644 --- a/sdk/python/pulumi_ovh/iam/get_permissions_group.py +++ b/sdk/python/pulumi_ovh/iam/get_permissions_group.py @@ -4,9 +4,14 @@ 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__ = [ @@ -153,9 +158,6 @@ def get_permissions_group(allows: Optional[Sequence[str]] = None, owner=pulumi.get(__ret__, 'owner'), updated_at=pulumi.get(__ret__, 'updated_at'), urn=pulumi.get(__ret__, 'urn')) - - -@_utilities.lift_output_func(get_permissions_group) def get_permissions_group_output(allows: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, denies: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, @@ -166,4 +168,23 @@ def get_permissions_group_output(allows: Optional[pulumi.Input[Optional[Sequence """ Use this data source to access information about an existing resource. """ - ... + __args__ = dict() + __args__['allows'] = allows + __args__['denies'] = denies + __args__['description'] = description + __args__['excepts'] = excepts + __args__['updatedAt'] = updated_at + __args__['urn'] = urn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getPermissionsGroup:getPermissionsGroup', __args__, opts=opts, typ=GetPermissionsGroupResult) + return __ret__.apply(lambda __response__: GetPermissionsGroupResult( + allows=pulumi.get(__response__, 'allows'), + created_at=pulumi.get(__response__, 'created_at'), + denies=pulumi.get(__response__, 'denies'), + description=pulumi.get(__response__, 'description'), + excepts=pulumi.get(__response__, 'excepts'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + owner=pulumi.get(__response__, 'owner'), + updated_at=pulumi.get(__response__, 'updated_at'), + urn=pulumi.get(__response__, 'urn'))) diff --git a/sdk/python/pulumi_ovh/iam/get_permissions_groups.py b/sdk/python/pulumi_ovh/iam/get_permissions_groups.py index 0229a752..3bc81af8 100644 --- a/sdk/python/pulumi_ovh/iam/get_permissions_groups.py +++ b/sdk/python/pulumi_ovh/iam/get_permissions_groups.py @@ -4,9 +4,14 @@ 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__ = [ @@ -73,9 +78,6 @@ def get_permissions_groups(opts: Optional[pulumi.InvokeOptions] = None) -> Await return AwaitableGetPermissionsGroupsResult( id=pulumi.get(__ret__, 'id'), urns=pulumi.get(__ret__, 'urns')) - - -@_utilities.lift_output_func(get_permissions_groups) def get_permissions_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPermissionsGroupsResult]: """ Use this data source to retrieve an IAM permissions group. @@ -89,4 +91,9 @@ def get_permissions_groups_output(opts: Optional[pulumi.InvokeOptions] = None) - website = ovh.Iam.get_permissions_group(urn="urn:v1:eu:permissionsGroup:ovh:controlPanelAccess") ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getPermissionsGroups:getPermissionsGroups', __args__, opts=opts, typ=GetPermissionsGroupsResult) + return __ret__.apply(lambda __response__: GetPermissionsGroupsResult( + id=pulumi.get(__response__, 'id'), + urns=pulumi.get(__response__, 'urns'))) diff --git a/sdk/python/pulumi_ovh/iam/get_policies.py b/sdk/python/pulumi_ovh/iam/get_policies.py index f5649552..c3364648 100644 --- a/sdk/python/pulumi_ovh/iam/get_policies.py +++ b/sdk/python/pulumi_ovh/iam/get_policies.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_policies(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPol return AwaitableGetPoliciesResult( id=pulumi.get(__ret__, 'id'), policies=pulumi.get(__ret__, 'policies')) - - -@_utilities.lift_output_func(get_policies) def get_policies_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPoliciesResult]: """ Use this data source to list the existing IAM policies of an account. @@ -92,4 +94,9 @@ def get_policies_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.O my_policies = ovh.Iam.get_policies() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getPolicies:getPolicies', __args__, opts=opts, typ=GetPoliciesResult) + return __ret__.apply(lambda __response__: GetPoliciesResult( + id=pulumi.get(__response__, 'id'), + policies=pulumi.get(__response__, 'policies'))) diff --git a/sdk/python/pulumi_ovh/iam/get_policy.py b/sdk/python/pulumi_ovh/iam/get_policy.py index 1741a646..30cc8da1 100644 --- a/sdk/python/pulumi_ovh/iam/get_policy.py +++ b/sdk/python/pulumi_ovh/iam/get_policy.py @@ -4,9 +4,14 @@ 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__ = [ @@ -236,9 +241,6 @@ def get_policy(allows: Optional[Sequence[str]] = None, read_only=pulumi.get(__ret__, 'read_only'), resources=pulumi.get(__ret__, 'resources'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_policy) def get_policy_output(allows: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, denies: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, @@ -266,4 +268,26 @@ def get_policy_output(allows: Optional[pulumi.Input[Optional[Sequence[str]]]] = :param str id: UUID of the policy. :param Sequence[str] permissions_groups: Set of permissions groups that apply to the policy. """ - ... + __args__ = dict() + __args__['allows'] = allows + __args__['denies'] = denies + __args__['description'] = description + __args__['excepts'] = excepts + __args__['id'] = id + __args__['permissionsGroups'] = permissions_groups + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getPolicy:getPolicy', __args__, opts=opts, typ=GetPolicyResult) + return __ret__.apply(lambda __response__: GetPolicyResult( + allows=pulumi.get(__response__, 'allows'), + created_at=pulumi.get(__response__, 'created_at'), + denies=pulumi.get(__response__, 'denies'), + description=pulumi.get(__response__, 'description'), + excepts=pulumi.get(__response__, 'excepts'), + id=pulumi.get(__response__, 'id'), + identities=pulumi.get(__response__, 'identities'), + name=pulumi.get(__response__, 'name'), + owner=pulumi.get(__response__, 'owner'), + permissions_groups=pulumi.get(__response__, 'permissions_groups'), + read_only=pulumi.get(__response__, 'read_only'), + resources=pulumi.get(__response__, 'resources'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/iam/get_reference_actions.py b/sdk/python/pulumi_ovh/iam/get_reference_actions.py index 89a98487..3b7a8a2e 100644 --- a/sdk/python/pulumi_ovh/iam/get_reference_actions.py +++ b/sdk/python/pulumi_ovh/iam/get_reference_actions.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -83,9 +88,6 @@ def get_reference_actions(type: Optional[str] = None, actions=pulumi.get(__ret__, 'actions'), id=pulumi.get(__ret__, 'id'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_reference_actions) def get_reference_actions_output(type: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReferenceActionsResult]: """ @@ -94,4 +96,11 @@ def get_reference_actions_output(type: Optional[pulumi.Input[str]] = None, :param str type: Kind of resource we want the actions for """ - ... + __args__ = dict() + __args__['type'] = type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getReferenceActions:getReferenceActions', __args__, opts=opts, typ=GetReferenceActionsResult) + return __ret__.apply(lambda __response__: GetReferenceActionsResult( + actions=pulumi.get(__response__, 'actions'), + id=pulumi.get(__response__, 'id'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_ovh/iam/get_reference_resource_type.py b/sdk/python/pulumi_ovh/iam/get_reference_resource_type.py index 2e760d0f..477355dc 100644 --- a/sdk/python/pulumi_ovh/iam/get_reference_resource_type.py +++ b/sdk/python/pulumi_ovh/iam/get_reference_resource_type.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_reference_resource_type(opts: Optional[pulumi.InvokeOptions] = None) -> return AwaitableGetReferenceResourceTypeResult( id=pulumi.get(__ret__, 'id'), types=pulumi.get(__ret__, 'types')) - - -@_utilities.lift_output_func(get_reference_resource_type) def get_reference_resource_type_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReferenceResourceTypeResult]: """ Use this data source to list all the IAM resource types. @@ -92,4 +94,9 @@ def get_reference_resource_type_output(opts: Optional[pulumi.InvokeOptions] = No types = ovh.Iam.get_reference_resource_type() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getReferenceResourceType:getReferenceResourceType', __args__, opts=opts, typ=GetReferenceResourceTypeResult) + return __ret__.apply(lambda __response__: GetReferenceResourceTypeResult( + id=pulumi.get(__response__, 'id'), + types=pulumi.get(__response__, 'types'))) diff --git a/sdk/python/pulumi_ovh/iam/get_resource_group.py b/sdk/python/pulumi_ovh/iam/get_resource_group.py index 1c771096..3f214944 100644 --- a/sdk/python/pulumi_ovh/iam/get_resource_group.py +++ b/sdk/python/pulumi_ovh/iam/get_resource_group.py @@ -4,9 +4,14 @@ 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__ = [ @@ -156,9 +161,6 @@ def get_resource_group(id: Optional[str] = None, read_only=pulumi.get(__ret__, 'read_only'), resources=pulumi.get(__ret__, 'resources'), updated_at=pulumi.get(__ret__, 'updated_at')) - - -@_utilities.lift_output_func(get_resource_group) def get_resource_group_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceGroupResult]: """ @@ -176,4 +178,16 @@ def get_resource_group_output(id: Optional[pulumi.Input[str]] = None, :param str id: Id of the resource group """ - ... + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getResourceGroup:getResourceGroup', __args__, opts=opts, typ=GetResourceGroupResult) + return __ret__.apply(lambda __response__: GetResourceGroupResult( + group_urn=pulumi.get(__response__, 'group_urn'), + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + owner=pulumi.get(__response__, 'owner'), + read_only=pulumi.get(__response__, 'read_only'), + resources=pulumi.get(__response__, 'resources'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_ovh/iam/get_resource_groups.py b/sdk/python/pulumi_ovh/iam/get_resource_groups.py index 110ed1cd..d9811078 100644 --- a/sdk/python/pulumi_ovh/iam/get_resource_groups.py +++ b/sdk/python/pulumi_ovh/iam/get_resource_groups.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_resource_groups(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitabl return AwaitableGetResourceGroupsResult( id=pulumi.get(__ret__, 'id'), resource_groups=pulumi.get(__ret__, 'resource_groups')) - - -@_utilities.lift_output_func(get_resource_groups) def get_resource_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResourceGroupsResult]: """ Use this data source to list the existing IAM policies of an account. @@ -92,4 +94,9 @@ def get_resource_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> p my_groups = ovh.Iam.get_resource_groups() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Iam/getResourceGroups:getResourceGroups', __args__, opts=opts, typ=GetResourceGroupsResult) + return __ret__.apply(lambda __response__: GetResourceGroupsResult( + id=pulumi.get(__response__, 'id'), + resource_groups=pulumi.get(__response__, 'resource_groups'))) diff --git a/sdk/python/pulumi_ovh/iam/outputs.py b/sdk/python/pulumi_ovh/iam/outputs.py index ffb5069e..f5118b74 100644 --- a/sdk/python/pulumi_ovh/iam/outputs.py +++ b/sdk/python/pulumi_ovh/iam/outputs.py @@ -4,9 +4,14 @@ 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__ = [ diff --git a/sdk/python/pulumi_ovh/iam/permissions_group.py b/sdk/python/pulumi_ovh/iam/permissions_group.py index 492d509d..e2214a51 100644 --- a/sdk/python/pulumi_ovh/iam/permissions_group.py +++ b/sdk/python/pulumi_ovh/iam/permissions_group.py @@ -4,9 +4,14 @@ 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__ = ['PermissionsGroupArgs', 'PermissionsGroup'] diff --git a/sdk/python/pulumi_ovh/iam/policy.py b/sdk/python/pulumi_ovh/iam/policy.py index e170ebaa..08ff08df 100644 --- a/sdk/python/pulumi_ovh/iam/policy.py +++ b/sdk/python/pulumi_ovh/iam/policy.py @@ -4,9 +4,14 @@ 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__ = ['PolicyArgs', 'Policy'] diff --git a/sdk/python/pulumi_ovh/iam/resource_group.py b/sdk/python/pulumi_ovh/iam/resource_group.py index 9b41cde2..20bb48a6 100644 --- a/sdk/python/pulumi_ovh/iam/resource_group.py +++ b/sdk/python/pulumi_ovh/iam/resource_group.py @@ -4,9 +4,14 @@ 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__ = ['ResourceGroupArgs', 'ResourceGroup'] diff --git a/sdk/python/pulumi_ovh/ip/_inputs.py b/sdk/python/pulumi_ovh/ip/_inputs.py index 7b67d304..739f3ce3 100644 --- a/sdk/python/pulumi_ovh/ip/_inputs.py +++ b/sdk/python/pulumi_ovh/ip/_inputs.py @@ -4,22 +4,58 @@ 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__ = [ 'IpServiceOrderArgs', + 'IpServiceOrderArgsDict', 'IpServiceOrderDetailArgs', + 'IpServiceOrderDetailArgsDict', 'IpServicePlanArgs', + 'IpServicePlanArgsDict', 'IpServicePlanConfigurationArgs', + 'IpServicePlanConfigurationArgsDict', 'IpServicePlanOptionArgs', + 'IpServicePlanOptionArgsDict', 'IpServicePlanOptionConfigurationArgs', + 'IpServicePlanOptionConfigurationArgsDict', 'IpServiceRoutedToArgs', + 'IpServiceRoutedToArgsDict', 'MoveRoutedToArgs', + 'MoveRoutedToArgsDict', ] +MYPY = False + +if not MYPY: + class IpServiceOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['IpServiceOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id + """ +elif False: + IpServiceOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServiceOrderArgs: def __init__(__self__, *, @@ -91,6 +127,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class IpServiceOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + Custom description on your ip. + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + IpServiceOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServiceOrderDetailArgs: def __init__(__self__, *, @@ -162,6 +219,31 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class IpServicePlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['IpServicePlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + IpServicePlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServicePlanArgs: def __init__(__self__, *, @@ -246,6 +328,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpS pulumi.set(self, "configurations", value) +if not MYPY: + class IpServicePlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + IpServicePlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServicePlanConfigurationArgs: def __init__(__self__, *, @@ -283,6 +378,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class IpServicePlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['IpServicePlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + IpServicePlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServicePlanOptionArgs: def __init__(__self__, *, @@ -367,6 +487,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpS pulumi.set(self, "configurations", value) +if not MYPY: + class IpServicePlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + IpServicePlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServicePlanOptionConfigurationArgs: def __init__(__self__, *, @@ -404,6 +537,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class IpServiceRoutedToArgsDict(TypedDict): + service_name: NotRequired[pulumi.Input[str]] + """ + service name + """ +elif False: + IpServiceRoutedToArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class IpServiceRoutedToArgs: def __init__(__self__, *, @@ -427,6 +569,15 @@ def service_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "service_name", value) +if not MYPY: + class MoveRoutedToArgsDict(TypedDict): + service_name: pulumi.Input[str] + """ + Name of the service to route the IP to. IP will be parked if this value is an empty string + """ +elif False: + MoveRoutedToArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class MoveRoutedToArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/ip/firewall.py b/sdk/python/pulumi_ovh/ip/firewall.py index d3a95fd8..9379da2a 100644 --- a/sdk/python/pulumi_ovh/ip/firewall.py +++ b/sdk/python/pulumi_ovh/ip/firewall.py @@ -4,9 +4,14 @@ 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__ = ['FirewallArgs', 'Firewall'] diff --git a/sdk/python/pulumi_ovh/ip/firewall_rule.py b/sdk/python/pulumi_ovh/ip/firewall_rule.py index 50b89d76..08073c74 100644 --- a/sdk/python/pulumi_ovh/ip/firewall_rule.py +++ b/sdk/python/pulumi_ovh/ip/firewall_rule.py @@ -4,9 +4,14 @@ 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__ = ['FirewallRuleArgs', 'FirewallRule'] diff --git a/sdk/python/pulumi_ovh/ip/get_firewall.py b/sdk/python/pulumi_ovh/ip/get_firewall.py index fbd55588..a2e263bb 100644 --- a/sdk/python/pulumi_ovh/ip/get_firewall.py +++ b/sdk/python/pulumi_ovh/ip/get_firewall.py @@ -4,9 +4,14 @@ 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__ = [ @@ -122,9 +127,6 @@ def get_firewall(ip: Optional[str] = None, ip=pulumi.get(__ret__, 'ip'), ip_on_firewall=pulumi.get(__ret__, 'ip_on_firewall'), state=pulumi.get(__ret__, 'state')) - - -@_utilities.lift_output_func(get_firewall) def get_firewall_output(ip: Optional[pulumi.Input[str]] = None, ip_on_firewall: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallResult]: @@ -145,4 +147,14 @@ def get_firewall_output(ip: Optional[pulumi.Input[str]] = None, :param str ip: The IP or the CIDR :param str ip_on_firewall: IPv4 address """ - ... + __args__ = dict() + __args__['ip'] = ip + __args__['ipOnFirewall'] = ip_on_firewall + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Ip/getFirewall:getFirewall', __args__, opts=opts, typ=GetFirewallResult) + return __ret__.apply(lambda __response__: GetFirewallResult( + enabled=pulumi.get(__response__, 'enabled'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + ip_on_firewall=pulumi.get(__response__, 'ip_on_firewall'), + state=pulumi.get(__response__, 'state'))) diff --git a/sdk/python/pulumi_ovh/ip/get_firewall_rule.py b/sdk/python/pulumi_ovh/ip/get_firewall_rule.py index e96bc1bb..4f7c1ef5 100644 --- a/sdk/python/pulumi_ovh/ip/get_firewall_rule.py +++ b/sdk/python/pulumi_ovh/ip/get_firewall_rule.py @@ -4,9 +4,14 @@ 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__ = [ @@ -258,9 +263,6 @@ def get_firewall_rule(ip: Optional[str] = None, source_port=pulumi.get(__ret__, 'source_port'), state=pulumi.get(__ret__, 'state'), tcp_option=pulumi.get(__ret__, 'tcp_option')) - - -@_utilities.lift_output_func(get_firewall_rule) def get_firewall_rule_output(ip: Optional[pulumi.Input[str]] = None, ip_on_firewall: Optional[pulumi.Input[str]] = None, sequence: Optional[pulumi.Input[float]] = None, @@ -284,4 +286,25 @@ def get_firewall_rule_output(ip: Optional[pulumi.Input[str]] = None, :param str ip_on_firewall: IPv4 address :param float sequence: Rule position in the rules array """ - ... + __args__ = dict() + __args__['ip'] = ip + __args__['ipOnFirewall'] = ip_on_firewall + __args__['sequence'] = sequence + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Ip/getFirewallRule:getFirewallRule', __args__, opts=opts, typ=GetFirewallRuleResult) + return __ret__.apply(lambda __response__: GetFirewallRuleResult( + action=pulumi.get(__response__, 'action'), + creation_date=pulumi.get(__response__, 'creation_date'), + destination=pulumi.get(__response__, 'destination'), + destination_port=pulumi.get(__response__, 'destination_port'), + fragments=pulumi.get(__response__, 'fragments'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + ip_on_firewall=pulumi.get(__response__, 'ip_on_firewall'), + protocol=pulumi.get(__response__, 'protocol'), + rule=pulumi.get(__response__, 'rule'), + sequence=pulumi.get(__response__, 'sequence'), + source=pulumi.get(__response__, 'source'), + source_port=pulumi.get(__response__, 'source_port'), + state=pulumi.get(__response__, 'state'), + tcp_option=pulumi.get(__response__, 'tcp_option'))) diff --git a/sdk/python/pulumi_ovh/ip/get_mitigation.py b/sdk/python/pulumi_ovh/ip/get_mitigation.py index 5ec6b12d..657ee6ba 100644 --- a/sdk/python/pulumi_ovh/ip/get_mitigation.py +++ b/sdk/python/pulumi_ovh/ip/get_mitigation.py @@ -4,9 +4,14 @@ 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__ = [ @@ -135,9 +140,6 @@ def get_mitigation(ip: Optional[str] = None, ip_on_mitigation=pulumi.get(__ret__, 'ip_on_mitigation'), permanent=pulumi.get(__ret__, 'permanent'), state=pulumi.get(__ret__, 'state')) - - -@_utilities.lift_output_func(get_mitigation) def get_mitigation_output(ip: Optional[pulumi.Input[str]] = None, ip_on_mitigation: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMitigationResult]: @@ -158,4 +160,15 @@ def get_mitigation_output(ip: Optional[pulumi.Input[str]] = None, :param str ip: The IP or the CIDR :param str ip_on_mitigation: IPv4 address """ - ... + __args__ = dict() + __args__['ip'] = ip + __args__['ipOnMitigation'] = ip_on_mitigation + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Ip/getMitigation:getMitigation', __args__, opts=opts, typ=GetMitigationResult) + return __ret__.apply(lambda __response__: GetMitigationResult( + auto=pulumi.get(__response__, 'auto'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + ip_on_mitigation=pulumi.get(__response__, 'ip_on_mitigation'), + permanent=pulumi.get(__response__, 'permanent'), + state=pulumi.get(__response__, 'state'))) diff --git a/sdk/python/pulumi_ovh/ip/get_service.py b/sdk/python/pulumi_ovh/ip/get_service.py index f35509ed..74b6f76c 100644 --- a/sdk/python/pulumi_ovh/ip/get_service.py +++ b/sdk/python/pulumi_ovh/ip/get_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -173,9 +178,6 @@ def get_service(service_name: Optional[str] = None, routed_tos=pulumi.get(__ret__, 'routed_tos'), service_name=pulumi.get(__ret__, 'service_name'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_service) def get_service_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ @@ -193,4 +195,17 @@ def get_service_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The service name """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Ip/getService:getService', __args__, opts=opts, typ=GetServiceResult) + return __ret__.apply(lambda __response__: GetServiceResult( + can_be_terminated=pulumi.get(__response__, 'can_be_terminated'), + country=pulumi.get(__response__, 'country'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + ip=pulumi.get(__response__, 'ip'), + organisation_id=pulumi.get(__response__, 'organisation_id'), + routed_tos=pulumi.get(__response__, 'routed_tos'), + service_name=pulumi.get(__response__, 'service_name'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_ovh/ip/ip_service.py b/sdk/python/pulumi_ovh/ip/ip_service.py index 1787868f..d22a7523 100644 --- a/sdk/python/pulumi_ovh/ip/ip_service.py +++ b/sdk/python/pulumi_ovh/ip/ip_service.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,59 +21,37 @@ @pulumi.input_type class IpServiceArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['IpServicePlanArgs'], description: Optional[pulumi.Input[str]] = None, orders: Optional[pulumi.Input[Sequence[pulumi.Input['IpServiceOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['IpServicePlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['IpServicePlanOptionArgs']]]] = None): """ The set of arguments for constructing a IpService resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['IpServicePlanArgs'] plan: Product Plan to order :param pulumi.Input[str] description: Custom description on your ip. :param pulumi.Input[Sequence[pulumi.Input['IpServiceOrderArgs']]] orders: Details about an Order + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['IpServicePlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['IpServicePlanOptionArgs']]] plan_options: Product Plan to order """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if description is not None: pulumi.set(__self__, "description", description) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['IpServicePlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['IpServicePlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -93,6 +76,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpServiceOrderA def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpServiceOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -106,6 +101,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['IpServicePlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['IpServicePlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpServicePlanOptionArgs']]]]: @@ -378,6 +385,30 @@ def __init__(__self__, }) ``` + ## Import + + The resource can be imported using its `service_name`, E.g., + + hcl + + import { + + to = ovh_ip_service.ipblock + + id = "ip-xx.xx.xx.xx" + + } + + bash + + $ pulumi preview -generate-config-out=ipblock.tf + + $ pulumi up + + The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Custom description on your ip. @@ -391,7 +422,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: IpServiceArgs, + args: Optional[IpServiceArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -420,6 +451,30 @@ def __init__(__self__, }) ``` + ## Import + + The resource can be imported using its `service_name`, E.g., + + hcl + + import { + + to = ovh_ip_service.ipblock + + id = "ip-xx.xx.xx.xx" + + } + + bash + + $ pulumi preview -generate-config-out=ipblock.tf + + $ pulumi up + + The file `ipblock.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + :param str resource_name: The name of the resource. :param IpServiceArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -452,12 +507,8 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["can_be_terminated"] = None diff --git a/sdk/python/pulumi_ovh/ip/mitigation.py b/sdk/python/pulumi_ovh/ip/mitigation.py index c4c56e4a..76309fdb 100644 --- a/sdk/python/pulumi_ovh/ip/mitigation.py +++ b/sdk/python/pulumi_ovh/ip/mitigation.py @@ -4,9 +4,14 @@ 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__ = ['MitigationArgs', 'Mitigation'] diff --git a/sdk/python/pulumi_ovh/ip/move.py b/sdk/python/pulumi_ovh/ip/move.py index 5fde7280..0ec7cde2 100644 --- a/sdk/python/pulumi_ovh/ip/move.py +++ b/sdk/python/pulumi_ovh/ip/move.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/ip/outputs.py b/sdk/python/pulumi_ovh/ip/outputs.py index 9b14d7c1..a6b7c924 100644 --- a/sdk/python/pulumi_ovh/ip/outputs.py +++ b/sdk/python/pulumi_ovh/ip/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/ip/reverse.py b/sdk/python/pulumi_ovh/ip/reverse.py index c48b04f1..89d91d9b 100644 --- a/sdk/python/pulumi_ovh/ip/reverse.py +++ b/sdk/python/pulumi_ovh/ip/reverse.py @@ -4,9 +4,14 @@ 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__ = ['ReverseArgs', 'Reverse'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/_inputs.py b/sdk/python/pulumi_ovh/iploadbalancing/_inputs.py index 0df32a2d..8fb52bf6 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/_inputs.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/_inputs.py @@ -4,27 +4,88 @@ 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__ = [ 'HttpFarmProbeArgs', + 'HttpFarmProbeArgsDict', 'HttpRouteActionArgs', + 'HttpRouteActionArgsDict', 'HttpRouteRuleArgs', + 'HttpRouteRuleArgsDict', 'LoadBalancerOrderArgs', + 'LoadBalancerOrderArgsDict', 'LoadBalancerOrderDetailArgs', + 'LoadBalancerOrderDetailArgsDict', 'LoadBalancerOrderableZoneArgs', + 'LoadBalancerOrderableZoneArgsDict', 'LoadBalancerPlanArgs', + 'LoadBalancerPlanArgsDict', 'LoadBalancerPlanConfigurationArgs', + 'LoadBalancerPlanConfigurationArgsDict', 'LoadBalancerPlanOptionArgs', + 'LoadBalancerPlanOptionArgsDict', 'LoadBalancerPlanOptionConfigurationArgs', + 'LoadBalancerPlanOptionConfigurationArgsDict', 'TcpFarmProbeArgs', + 'TcpFarmProbeArgsDict', 'TcpRouteActionArgs', + 'TcpRouteActionArgsDict', 'TcpRouteRuleArgs', + 'TcpRouteRuleArgsDict', ] +MYPY = False + +if not MYPY: + class HttpFarmProbeArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Valid values : `http`, `internal`, `mysql`, `oco`, `pgsql`, `smtp`, `tcp` + """ + force_ssl: NotRequired[pulumi.Input[bool]] + """ + Force use of SSL (TLS) + """ + interval: NotRequired[pulumi.Input[int]] + """ + probe interval, Value between 30 and 3600 seconds, default 30 + """ + match: NotRequired[pulumi.Input[str]] + """ + What to match `pattern` against (`contains`, `default`, `internal`, `matches`, `status`) + """ + method: NotRequired[pulumi.Input[str]] + """ + HTTP probe method (`GET`, `HEAD`, `OPTIONS`, `internal`) + """ + negate: NotRequired[pulumi.Input[bool]] + """ + Negate probe result + """ + pattern: NotRequired[pulumi.Input[str]] + """ + Pattern to match against `match` + """ + port: NotRequired[pulumi.Input[int]] + """ + Port for backends to receive traffic on. + """ + url: NotRequired[pulumi.Input[str]] + """ + URL for HTTP probe type. + """ +elif False: + HttpFarmProbeArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class HttpFarmProbeArgs: def __init__(__self__, *, @@ -175,6 +236,23 @@ def url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "url", value) +if not MYPY: + class HttpRouteActionArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Action to trigger if all the rules of this route matches + """ + status: NotRequired[pulumi.Input[int]] + """ + HTTP status code for "redirect" and "reject" actions + """ + target: NotRequired[pulumi.Input[str]] + """ + Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target + """ +elif False: + HttpRouteActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class HttpRouteActionArgs: def __init__(__self__, *, @@ -229,6 +307,35 @@ def target(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "target", value) +if not MYPY: + class HttpRouteRuleArgsDict(TypedDict): + field: NotRequired[pulumi.Input[str]] + """ + Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules + """ + match: NotRequired[pulumi.Input[str]] + """ + Matching operator. Not all operators are available for all fields. See "availableRules" + """ + negate: NotRequired[pulumi.Input[bool]] + """ + Invert the matching operator effect + """ + pattern: NotRequired[pulumi.Input[str]] + """ + Value to match against this match. Interpretation if this field depends on the match and field + """ + rule_id: NotRequired[pulumi.Input[int]] + """ + Id of your rule + """ + sub_field: NotRequired[pulumi.Input[str]] + """ + Name of sub-field, if applicable. This may be a Cookie or Header name for instance + """ +elif False: + HttpRouteRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class HttpRouteRuleArgs: def __init__(__self__, *, @@ -332,6 +439,27 @@ def sub_field(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "sub_field", value) +if not MYPY: + class LoadBalancerOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['LoadBalancerOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id + """ +elif False: + LoadBalancerOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerOrderArgs: def __init__(__self__, *, @@ -403,6 +531,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class LoadBalancerOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + description + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + LoadBalancerOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerOrderDetailArgs: def __init__(__self__, *, @@ -474,6 +623,19 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class LoadBalancerOrderableZoneArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + """ + The zone three letter code + """ + plan_code: NotRequired[pulumi.Input[str]] + """ + The billing planCode for this zone + """ +elif False: + LoadBalancerOrderableZoneArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerOrderableZoneArgs: def __init__(__self__, *, @@ -513,6 +675,31 @@ def plan_code(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "plan_code", value) +if not MYPY: + class LoadBalancerPlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + LoadBalancerPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerPlanArgs: def __init__(__self__, *, @@ -597,6 +784,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Loa pulumi.set(self, "configurations", value) +if not MYPY: + class LoadBalancerPlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + LoadBalancerPlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerPlanConfigurationArgs: def __init__(__self__, *, @@ -634,6 +834,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class LoadBalancerPlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + LoadBalancerPlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerPlanOptionArgs: def __init__(__self__, *, @@ -718,6 +943,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Loa pulumi.set(self, "configurations", value) +if not MYPY: + class LoadBalancerPlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + LoadBalancerPlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class LoadBalancerPlanOptionConfigurationArgs: def __init__(__self__, *, @@ -755,6 +993,47 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class TcpFarmProbeArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Valid values : `http`, `internal`, `mysql`, `oco`, `pgsql`, `smtp`, `tcp` + """ + force_ssl: NotRequired[pulumi.Input[bool]] + """ + Force use of SSL (TLS) + """ + interval: NotRequired[pulumi.Input[int]] + """ + probe interval, Value between 30 and 3600 seconds, default 30 + """ + match: NotRequired[pulumi.Input[str]] + """ + What to match `pattern` against (`contains`, `default`, `internal`, `matches`, `status`) + """ + method: NotRequired[pulumi.Input[str]] + """ + HTTP probe method (`GET`, `HEAD`, `OPTIONS`, `internal`) + """ + negate: NotRequired[pulumi.Input[bool]] + """ + Negate probe result + """ + pattern: NotRequired[pulumi.Input[str]] + """ + Pattern to match against `match` + """ + port: NotRequired[pulumi.Input[int]] + """ + Port for backends to receive traffic on. + """ + url: NotRequired[pulumi.Input[str]] + """ + URL for HTTP probe type. + """ +elif False: + TcpFarmProbeArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class TcpFarmProbeArgs: def __init__(__self__, *, @@ -905,6 +1184,19 @@ def url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "url", value) +if not MYPY: + class TcpRouteActionArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Action to trigger if all the rules of this route matches + """ + target: NotRequired[pulumi.Input[str]] + """ + Farm ID for "farm" action type, empty for others. + """ +elif False: + TcpRouteActionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class TcpRouteActionArgs: def __init__(__self__, *, @@ -943,6 +1235,35 @@ def target(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "target", value) +if not MYPY: + class TcpRouteRuleArgsDict(TypedDict): + field: NotRequired[pulumi.Input[str]] + """ + Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules + """ + match: NotRequired[pulumi.Input[str]] + """ + Matching operator. Not all operators are available for all fields. See "availableRules" + """ + negate: NotRequired[pulumi.Input[bool]] + """ + Invert the matching operator effect + """ + pattern: NotRequired[pulumi.Input[str]] + """ + Value to match against this match. Interpretation if this field depends on the match and field + """ + rule_id: NotRequired[pulumi.Input[int]] + """ + Id of your rule + """ + sub_field: NotRequired[pulumi.Input[str]] + """ + Name of sub-field, if applicable. This may be a Cookie or Header name for instance + """ +elif False: + TcpRouteRuleArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class TcpRouteRuleArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/iploadbalancing/get_ip_load_balancing.py b/sdk/python/pulumi_ovh/iploadbalancing/get_ip_load_balancing.py index 4c20b9c2..d616ce38 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/get_ip_load_balancing.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/get_ip_load_balancing.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -256,9 +261,6 @@ def get_ip_load_balancing(display_name: Optional[str] = None, vrack_eligibility=pulumi.get(__ret__, 'vrack_eligibility'), vrack_name=pulumi.get(__ret__, 'vrack_name'), zones=pulumi.get(__ret__, 'zones')) - - -@_utilities.lift_output_func(get_ip_load_balancing) def get_ip_load_balancing_output(display_name: Optional[pulumi.Input[Optional[str]]] = None, ip_loadbalancing: Optional[pulumi.Input[Optional[str]]] = None, ipv4: Optional[pulumi.Input[Optional[str]]] = None, @@ -303,4 +305,33 @@ def get_ip_load_balancing_output(display_name: Optional[pulumi.Input[Optional[st attached to, as it is named on vRack product :param Sequence[str] zones: Location where your service is. This takes an array of values. """ - ... + __args__ = dict() + __args__['displayName'] = display_name + __args__['ipLoadbalancing'] = ip_loadbalancing + __args__['ipv4'] = ipv4 + __args__['ipv6'] = ipv6 + __args__['offer'] = offer + __args__['serviceName'] = service_name + __args__['sslConfiguration'] = ssl_configuration + __args__['state'] = state + __args__['vrackEligibility'] = vrack_eligibility + __args__['vrackName'] = vrack_name + __args__['zones'] = zones + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:IpLoadBalancing/getIpLoadBalancing:getIpLoadBalancing', __args__, opts=opts, typ=GetIpLoadBalancingResult) + return __ret__.apply(lambda __response__: GetIpLoadBalancingResult( + display_name=pulumi.get(__response__, 'display_name'), + id=pulumi.get(__response__, 'id'), + ip_loadbalancing=pulumi.get(__response__, 'ip_loadbalancing'), + ipv4=pulumi.get(__response__, 'ipv4'), + ipv6=pulumi.get(__response__, 'ipv6'), + metrics_token=pulumi.get(__response__, 'metrics_token'), + offer=pulumi.get(__response__, 'offer'), + orderable_zones=pulumi.get(__response__, 'orderable_zones'), + service_name=pulumi.get(__response__, 'service_name'), + ssl_configuration=pulumi.get(__response__, 'ssl_configuration'), + state=pulumi.get(__response__, 'state'), + urn=pulumi.get(__response__, 'urn'), + vrack_eligibility=pulumi.get(__response__, 'vrack_eligibility'), + vrack_name=pulumi.get(__response__, 'vrack_name'), + zones=pulumi.get(__response__, 'zones'))) diff --git a/sdk/python/pulumi_ovh/iploadbalancing/get_vrack_network.py b/sdk/python/pulumi_ovh/iploadbalancing/get_vrack_network.py index 7e777273..da376167 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/get_vrack_network.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/get_vrack_network.py @@ -4,9 +4,14 @@ 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__ = [ @@ -144,9 +149,6 @@ def get_vrack_network(service_name: Optional[str] = None, subnet=pulumi.get(__ret__, 'subnet'), vlan=pulumi.get(__ret__, 'vlan'), vrack_network_id=pulumi.get(__ret__, 'vrack_network_id')) - - -@_utilities.lift_output_func(get_vrack_network) def get_vrack_network_output(service_name: Optional[pulumi.Input[str]] = None, vrack_network_id: Optional[pulumi.Input[int]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVrackNetworkResult]: @@ -167,4 +169,16 @@ def get_vrack_network_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The internal name of your IP load balancing :param int vrack_network_id: Internal Load Balancer identifier of the vRack private network """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + __args__['vrackNetworkId'] = vrack_network_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:IpLoadBalancing/getVrackNetwork:getVrackNetwork', __args__, opts=opts, typ=GetVrackNetworkResult) + return __ret__.apply(lambda __response__: GetVrackNetworkResult( + display_name=pulumi.get(__response__, 'display_name'), + id=pulumi.get(__response__, 'id'), + nat_ip=pulumi.get(__response__, 'nat_ip'), + service_name=pulumi.get(__response__, 'service_name'), + subnet=pulumi.get(__response__, 'subnet'), + vlan=pulumi.get(__response__, 'vlan'), + vrack_network_id=pulumi.get(__response__, 'vrack_network_id'))) diff --git a/sdk/python/pulumi_ovh/iploadbalancing/http_farm.py b/sdk/python/pulumi_ovh/iploadbalancing/http_farm.py index f81ef410..b1ebb4fd 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/http_farm.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/http_farm.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/iploadbalancing/http_farm_server.py b/sdk/python/pulumi_ovh/iploadbalancing/http_farm_server.py index 2083247d..4def4755 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/http_farm_server.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/http_farm_server.py @@ -4,9 +4,14 @@ 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__ = ['HttpFarmServerArgs', 'HttpFarmServer'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/http_frontend.py b/sdk/python/pulumi_ovh/iploadbalancing/http_frontend.py index e92e2d08..ffc401a6 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/http_frontend.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/http_frontend.py @@ -4,9 +4,14 @@ 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__ = ['HttpFrontendArgs', 'HttpFrontend'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/http_route.py b/sdk/python/pulumi_ovh/iploadbalancing/http_route.py index daf42d82..c6947210 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/http_route.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/http_route.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/iploadbalancing/http_route_rule.py b/sdk/python/pulumi_ovh/iploadbalancing/http_route_rule.py index 76b7ec1b..9d9fe242 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/http_route_rule.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/http_route_rule.py @@ -4,9 +4,14 @@ 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__ = ['HttpRouteRuleInitArgs', 'HttpRouteRule'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/load_balancer.py b/sdk/python/pulumi_ovh/iploadbalancing/load_balancer.py index 416d527e..ad96b357 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/load_balancer.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/load_balancer.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,63 +21,41 @@ @pulumi.input_type class LoadBalancerArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['LoadBalancerPlanArgs'], display_name: Optional[pulumi.Input[str]] = None, orders: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['LoadBalancerPlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPlanOptionArgs']]]] = None, ssl_configuration: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a LoadBalancer resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['LoadBalancerPlanArgs'] plan: Product Plan to order :param pulumi.Input[str] display_name: Set the name displayed in ManagerV6 for your iplb (max 50 chars) :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerOrderArgs']]] orders: Details about an Order + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['LoadBalancerPlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['LoadBalancerPlanOptionArgs']]] plan_options: Product Plan to order :param pulumi.Input[str] ssl_configuration: Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of "intermediate", "modern". """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if display_name is not None: pulumi.set(__self__, "display_name", display_name) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) if ssl_configuration is not None: pulumi.set(__self__, "ssl_configuration", ssl_configuration) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['LoadBalancerPlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['LoadBalancerPlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter(name="displayName") def display_name(self) -> Optional[pulumi.Input[str]]: @@ -97,6 +80,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerOrd def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -110,6 +105,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['LoadBalancerPlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['LoadBalancerPlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPlanOptionArgs']]]]: @@ -497,6 +504,34 @@ def __init__(__self__, }]) ``` + ## Import + + OVHcloud IP load balancing services can be imported using its `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_iploadbalancing.iplb + + id = "" + + } + + You can then run: + + bash + + $ pulumi preview -generate-config-out=iplb.tf + + $ pulumi up + + The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] display_name: Set the name displayed in ManagerV6 for your iplb (max 50 chars) @@ -511,7 +546,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: LoadBalancerArgs, + args: Optional[LoadBalancerArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -546,6 +581,34 @@ def __init__(__self__, }]) ``` + ## Import + + OVHcloud IP load balancing services can be imported using its `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_iploadbalancing.iplb + + id = "" + + } + + You can then run: + + bash + + $ pulumi preview -generate-config-out=iplb.tf + + $ pulumi up + + The file `iplb.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. + :param str resource_name: The name of the resource. :param LoadBalancerArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -579,12 +642,8 @@ def _internal_init(__self__, __props__.__dict__["display_name"] = display_name __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["ssl_configuration"] = ssl_configuration diff --git a/sdk/python/pulumi_ovh/iploadbalancing/outputs.py b/sdk/python/pulumi_ovh/iploadbalancing/outputs.py index 9b26dfc8..a1dfd234 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/outputs.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/iploadbalancing/refresh.py b/sdk/python/pulumi_ovh/iploadbalancing/refresh.py index f62dc10a..fd984984 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/refresh.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/refresh.py @@ -4,9 +4,14 @@ 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__ = ['RefreshArgs', 'Refresh'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/ssl.py b/sdk/python/pulumi_ovh/iploadbalancing/ssl.py index b85158bb..6269f310 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/ssl.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/ssl.py @@ -4,9 +4,14 @@ 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__ = ['SslArgs', 'Ssl'] @@ -478,7 +483,7 @@ def certificate(self) -> pulumi.Output[str]: @property @pulumi.getter - def chain(self) -> pulumi.Output[str]: + def chain(self) -> pulumi.Output[Optional[str]]: """ Certificate chain """ @@ -486,7 +491,7 @@ def chain(self) -> pulumi.Output[str]: @property @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Output[str]: + def display_name(self) -> pulumi.Output[Optional[str]]: """ Readable label for loadbalancer ssl """ diff --git a/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm.py b/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm.py index 4e44e4bd..84e3ef0d 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm_server.py b/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm_server.py index 66fa82f7..ac3b36bd 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm_server.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/tcp_farm_server.py @@ -4,9 +4,14 @@ 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__ = ['TcpFarmServerArgs', 'TcpFarmServer'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/tcp_frontend.py b/sdk/python/pulumi_ovh/iploadbalancing/tcp_frontend.py index a5f89023..8eb6035b 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/tcp_frontend.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/tcp_frontend.py @@ -4,9 +4,14 @@ 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__ = ['TcpFrontendArgs', 'TcpFrontend'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/tcp_route.py b/sdk/python/pulumi_ovh/iploadbalancing/tcp_route.py index 21d151a4..81163993 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/tcp_route.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/tcp_route.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/iploadbalancing/tcp_route_rule.py b/sdk/python/pulumi_ovh/iploadbalancing/tcp_route_rule.py index 2b868025..016d0953 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/tcp_route_rule.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/tcp_route_rule.py @@ -4,9 +4,14 @@ 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__ = ['TcpRouteRuleInitArgs', 'TcpRouteRule'] diff --git a/sdk/python/pulumi_ovh/iploadbalancing/udp_farm.py b/sdk/python/pulumi_ovh/iploadbalancing/udp_farm.py index 1ca4663b..43303887 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/udp_farm.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/udp_farm.py @@ -4,9 +4,14 @@ 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__ = ['UdpFarmArgs', 'UdpFarm'] @@ -366,7 +371,7 @@ def get(resource_name: str, @property @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Output[str]: + def display_name(self) -> pulumi.Output[Optional[str]]: """ Readable label for loadbalancer farm """ @@ -398,7 +403,7 @@ def service_name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="vrackNetworkId") - def vrack_network_id(self) -> pulumi.Output[float]: + def vrack_network_id(self) -> pulumi.Output[Optional[float]]: """ Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack """ diff --git a/sdk/python/pulumi_ovh/iploadbalancing/udp_farm_server.py b/sdk/python/pulumi_ovh/iploadbalancing/udp_farm_server.py index 094144c6..d784643d 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/udp_farm_server.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/udp_farm_server.py @@ -4,9 +4,14 @@ 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__ = ['UdpFarmServerArgs', 'UdpFarmServer'] @@ -444,7 +449,7 @@ def backend_id(self) -> pulumi.Output[float]: @property @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Output[str]: + def display_name(self) -> pulumi.Output[Optional[str]]: """ Label for the server """ @@ -460,7 +465,7 @@ def farm_id(self) -> pulumi.Output[float]: @property @pulumi.getter - def port(self) -> pulumi.Output[float]: + def port(self) -> pulumi.Output[Optional[float]]: """ Port that backend will respond on """ diff --git a/sdk/python/pulumi_ovh/iploadbalancing/udp_frontend.py b/sdk/python/pulumi_ovh/iploadbalancing/udp_frontend.py index acb11f67..d91dad68 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/udp_frontend.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/udp_frontend.py @@ -4,9 +4,14 @@ 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__ = ['UdpFrontendArgs', 'UdpFrontend'] @@ -456,7 +461,7 @@ def get(resource_name: str, @property @pulumi.getter(name="dedicatedIpfos") - def dedicated_ipfos(self) -> pulumi.Output[Sequence[str]]: + def dedicated_ipfos(self) -> pulumi.Output[Optional[Sequence[str]]]: """ Only attach frontend on these ip. No restriction if null. List of Ip blocks. """ @@ -464,7 +469,7 @@ def dedicated_ipfos(self) -> pulumi.Output[Sequence[str]]: @property @pulumi.getter(name="defaultFarmId") - def default_farm_id(self) -> pulumi.Output[float]: + def default_farm_id(self) -> pulumi.Output[Optional[float]]: """ Default UDP Farm of your frontend """ @@ -480,7 +485,7 @@ def disabled(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Output[str]: + def display_name(self) -> pulumi.Output[Optional[str]]: """ Human readable name for your frontend """ diff --git a/sdk/python/pulumi_ovh/iploadbalancing/vrack_network.py b/sdk/python/pulumi_ovh/iploadbalancing/vrack_network.py index a95c1c80..4a912ecc 100644 --- a/sdk/python/pulumi_ovh/iploadbalancing/vrack_network.py +++ b/sdk/python/pulumi_ovh/iploadbalancing/vrack_network.py @@ -4,9 +4,14 @@ 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__ = ['VrackNetworkArgs', 'VrackNetwork'] diff --git a/sdk/python/pulumi_ovh/me/_inputs.py b/sdk/python/pulumi_ovh/me/_inputs.py index ffc5a169..58a74da2 100644 --- a/sdk/python/pulumi_ovh/me/_inputs.py +++ b/sdk/python/pulumi_ovh/me/_inputs.py @@ -4,16 +4,34 @@ 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__ = [ 'InstallationTemplateCustomizationArgs', + 'InstallationTemplateCustomizationArgsDict', 'InstallationTemplateInputArgs', + 'InstallationTemplateInputArgsDict', ] +MYPY = False + +if not MYPY: + class InstallationTemplateCustomizationArgsDict(TypedDict): + custom_hostname: NotRequired[pulumi.Input[str]] + """ + Set up the server using the provided hostname instead of the default hostname. + """ +elif False: + InstallationTemplateCustomizationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class InstallationTemplateCustomizationArgs: def __init__(__self__, *, @@ -37,6 +55,20 @@ def custom_hostname(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "custom_hostname", value) +if not MYPY: + class InstallationTemplateInputArgsDict(TypedDict): + default: NotRequired[pulumi.Input[str]] + description: NotRequired[pulumi.Input[str]] + """ + information about this template. + """ + enums: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + mandatory: NotRequired[pulumi.Input[bool]] + name: NotRequired[pulumi.Input[str]] + type: NotRequired[pulumi.Input[str]] +elif False: + InstallationTemplateInputArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class InstallationTemplateInputArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/me/apio_auth2_client.py b/sdk/python/pulumi_ovh/me/apio_auth2_client.py index ce1e3bae..ea91bd4b 100644 --- a/sdk/python/pulumi_ovh/me/apio_auth2_client.py +++ b/sdk/python/pulumi_ovh/me/apio_auth2_client.py @@ -4,9 +4,14 @@ 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__ = ['APIOAuth2ClientArgs', 'APIOAuth2Client'] diff --git a/sdk/python/pulumi_ovh/me/get_apio_auth2_client.py b/sdk/python/pulumi_ovh/me/get_apio_auth2_client.py index db637c93..b20c1ec1 100644 --- a/sdk/python/pulumi_ovh/me/get_apio_auth2_client.py +++ b/sdk/python/pulumi_ovh/me/get_apio_auth2_client.py @@ -4,9 +4,14 @@ 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__ = [ @@ -143,9 +148,6 @@ def get_apio_auth2_client(client_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), identity=pulumi.get(__ret__, 'identity'), name=pulumi.get(__ret__, 'name')) - - -@_utilities.lift_output_func(get_apio_auth2_client) def get_apio_auth2_client_output(client_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAPIOAuth2ClientResult]: """ @@ -163,4 +165,15 @@ def get_apio_auth2_client_output(client_id: Optional[pulumi.Input[str]] = None, :param str client_id: Client ID of an existing OAuth2 service account. """ - ... + __args__ = dict() + __args__['clientId'] = client_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getAPIOAuth2Client:getAPIOAuth2Client', __args__, opts=opts, typ=GetAPIOAuth2ClientResult) + return __ret__.apply(lambda __response__: GetAPIOAuth2ClientResult( + callback_urls=pulumi.get(__response__, 'callback_urls'), + client_id=pulumi.get(__response__, 'client_id'), + description=pulumi.get(__response__, 'description'), + flow=pulumi.get(__response__, 'flow'), + id=pulumi.get(__response__, 'id'), + identity=pulumi.get(__response__, 'identity'), + name=pulumi.get(__response__, 'name'))) diff --git a/sdk/python/pulumi_ovh/me/get_apio_auth2_clients.py b/sdk/python/pulumi_ovh/me/get_apio_auth2_clients.py index 270b5ed3..03d880c8 100644 --- a/sdk/python/pulumi_ovh/me/get_apio_auth2_clients.py +++ b/sdk/python/pulumi_ovh/me/get_apio_auth2_clients.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_apio_auth2_clients(opts: Optional[pulumi.InvokeOptions] = None) -> Await return AwaitableGetAPIOAuth2ClientsResult( client_ids=pulumi.get(__ret__, 'client_ids'), id=pulumi.get(__ret__, 'id')) - - -@_utilities.lift_output_func(get_apio_auth2_clients) def get_apio_auth2_clients_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAPIOAuth2ClientsResult]: """ Use this data source to retrieve information the list of existing OAuth2 service account IDs. @@ -92,4 +94,9 @@ def get_apio_auth2_clients_output(opts: Optional[pulumi.InvokeOptions] = None) - my_oauth2_clients = ovh.Me.get_apio_auth2_client() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getAPIOAuth2Clients:getAPIOAuth2Clients', __args__, opts=opts, typ=GetAPIOAuth2ClientsResult) + return __ret__.apply(lambda __response__: GetAPIOAuth2ClientsResult( + client_ids=pulumi.get(__response__, 'client_ids'), + id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumi_ovh/me/get_identity_group.py b/sdk/python/pulumi_ovh/me/get_identity_group.py index 8ea8b8c5..f44e1ecc 100644 --- a/sdk/python/pulumi_ovh/me/get_identity_group.py +++ b/sdk/python/pulumi_ovh/me/get_identity_group.py @@ -4,9 +4,14 @@ 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__ = [ @@ -156,9 +161,6 @@ def get_identity_group(name: Optional[str] = None, last_update=pulumi.get(__ret__, 'last_update'), name=pulumi.get(__ret__, 'name'), role=pulumi.get(__ret__, 'role')) - - -@_utilities.lift_output_func(get_identity_group) def get_identity_group_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityGroupResult]: """ @@ -176,4 +178,16 @@ def get_identity_group_output(name: Optional[pulumi.Input[str]] = None, :param str name: Group name. """ - ... + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getIdentityGroup:getIdentityGroup', __args__, opts=opts, typ=GetIdentityGroupResult) + return __ret__.apply(lambda __response__: GetIdentityGroupResult( + group_urn=pulumi.get(__response__, 'group_urn'), + creation=pulumi.get(__response__, 'creation'), + default_group=pulumi.get(__response__, 'default_group'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + last_update=pulumi.get(__response__, 'last_update'), + name=pulumi.get(__response__, 'name'), + role=pulumi.get(__response__, 'role'))) diff --git a/sdk/python/pulumi_ovh/me/get_identity_groups.py b/sdk/python/pulumi_ovh/me/get_identity_groups.py index 5a1f2624..5b85da37 100644 --- a/sdk/python/pulumi_ovh/me/get_identity_groups.py +++ b/sdk/python/pulumi_ovh/me/get_identity_groups.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_identity_groups(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitabl return AwaitableGetIdentityGroupsResult( groups=pulumi.get(__ret__, 'groups'), id=pulumi.get(__ret__, 'id')) - - -@_utilities.lift_output_func(get_identity_groups) def get_identity_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityGroupsResult]: """ Use this data source to retrieve the list of the account's identity groups @@ -92,4 +94,9 @@ def get_identity_groups_output(opts: Optional[pulumi.InvokeOptions] = None) -> p groups = ovh.Me.get_identity_groups() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getIdentityGroups:getIdentityGroups', __args__, opts=opts, typ=GetIdentityGroupsResult) + return __ret__.apply(lambda __response__: GetIdentityGroupsResult( + groups=pulumi.get(__response__, 'groups'), + id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumi_ovh/me/get_identity_user.py b/sdk/python/pulumi_ovh/me/get_identity_user.py index cff6fc61..85bbf5be 100644 --- a/sdk/python/pulumi_ovh/me/get_identity_user.py +++ b/sdk/python/pulumi_ovh/me/get_identity_user.py @@ -4,9 +4,14 @@ 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__ = [ @@ -195,9 +200,6 @@ def get_identity_user(user: Optional[str] = None, password_last_update=pulumi.get(__ret__, 'password_last_update'), status=pulumi.get(__ret__, 'status'), user=pulumi.get(__ret__, 'user')) - - -@_utilities.lift_output_func(get_identity_user) def get_identity_user_output(user: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityUserResult]: """ @@ -215,4 +217,19 @@ def get_identity_user_output(user: Optional[pulumi.Input[str]] = None, :param str user: User's login. """ - ... + __args__ = dict() + __args__['user'] = user + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getIdentityUser:getIdentityUser', __args__, opts=opts, typ=GetIdentityUserResult) + return __ret__.apply(lambda __response__: GetIdentityUserResult( + user_urn=pulumi.get(__response__, 'user_urn'), + creation=pulumi.get(__response__, 'creation'), + description=pulumi.get(__response__, 'description'), + email=pulumi.get(__response__, 'email'), + group=pulumi.get(__response__, 'group'), + id=pulumi.get(__response__, 'id'), + last_update=pulumi.get(__response__, 'last_update'), + login=pulumi.get(__response__, 'login'), + password_last_update=pulumi.get(__response__, 'password_last_update'), + status=pulumi.get(__response__, 'status'), + user=pulumi.get(__response__, 'user'))) diff --git a/sdk/python/pulumi_ovh/me/get_identity_users.py b/sdk/python/pulumi_ovh/me/get_identity_users.py index 537ca921..96ef308b 100644 --- a/sdk/python/pulumi_ovh/me/get_identity_users.py +++ b/sdk/python/pulumi_ovh/me/get_identity_users.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_identity_users(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitable return AwaitableGetIdentityUsersResult( id=pulumi.get(__ret__, 'id'), users=pulumi.get(__ret__, 'users')) - - -@_utilities.lift_output_func(get_identity_users) def get_identity_users_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityUsersResult]: """ Use this data source to retrieve list of user logins of the account's identity users. @@ -92,4 +94,9 @@ def get_identity_users_output(opts: Optional[pulumi.InvokeOptions] = None) -> pu users = ovh.Me.get_identity_users() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getIdentityUsers:getIdentityUsers', __args__, opts=opts, typ=GetIdentityUsersResult) + return __ret__.apply(lambda __response__: GetIdentityUsersResult( + id=pulumi.get(__response__, 'id'), + users=pulumi.get(__response__, 'users'))) diff --git a/sdk/python/pulumi_ovh/me/get_installation_template.py b/sdk/python/pulumi_ovh/me/get_installation_template.py index 5270871d..05444a8d 100644 --- a/sdk/python/pulumi_ovh/me/get_installation_template.py +++ b/sdk/python/pulumi_ovh/me/get_installation_template.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -269,9 +274,6 @@ def get_installation_template(template_name: Optional[str] = None, soft_raid_only_mirroring=pulumi.get(__ret__, 'soft_raid_only_mirroring'), subfamily=pulumi.get(__ret__, 'subfamily'), template_name=pulumi.get(__ret__, 'template_name')) - - -@_utilities.lift_output_func(get_installation_template) def get_installation_template_output(template_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstallationTemplateResult]: """ @@ -289,4 +291,25 @@ def get_installation_template_output(template_name: Optional[pulumi.Input[str]] :param str template_name: Template name. """ - ... + __args__ = dict() + __args__['templateName'] = template_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getInstallationTemplate:getInstallationTemplate', __args__, opts=opts, typ=GetInstallationTemplateResult) + return __ret__.apply(lambda __response__: GetInstallationTemplateResult( + bit_format=pulumi.get(__response__, 'bit_format'), + category=pulumi.get(__response__, 'category'), + customizations=pulumi.get(__response__, 'customizations'), + description=pulumi.get(__response__, 'description'), + distribution=pulumi.get(__response__, 'distribution'), + end_of_install=pulumi.get(__response__, 'end_of_install'), + family=pulumi.get(__response__, 'family'), + filesystems=pulumi.get(__response__, 'filesystems'), + hard_raid_configuration=pulumi.get(__response__, 'hard_raid_configuration'), + id=pulumi.get(__response__, 'id'), + inputs=pulumi.get(__response__, 'inputs'), + lvm_ready=pulumi.get(__response__, 'lvm_ready'), + no_partitioning=pulumi.get(__response__, 'no_partitioning'), + partition_schemes=pulumi.get(__response__, 'partition_schemes'), + soft_raid_only_mirroring=pulumi.get(__response__, 'soft_raid_only_mirroring'), + subfamily=pulumi.get(__response__, 'subfamily'), + template_name=pulumi.get(__response__, 'template_name'))) diff --git a/sdk/python/pulumi_ovh/me/get_installation_templates.py b/sdk/python/pulumi_ovh/me/get_installation_templates.py index 09091ca0..6d29264a 100644 --- a/sdk/python/pulumi_ovh/me/get_installation_templates.py +++ b/sdk/python/pulumi_ovh/me/get_installation_templates.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_installation_templates(opts: Optional[pulumi.InvokeOptions] = None) -> A return AwaitableGetInstallationTemplatesResult( id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_installation_templates) def get_installation_templates_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstallationTemplatesResult]: """ Use this data source to get the list of custom installation templates available for dedicated servers. @@ -92,4 +94,9 @@ def get_installation_templates_output(opts: Optional[pulumi.InvokeOptions] = Non templates = ovh.Me.get_installation_templates() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getInstallationTemplates:getInstallationTemplates', __args__, opts=opts, typ=GetInstallationTemplatesResult) + return __ret__.apply(lambda __response__: GetInstallationTemplatesResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/me/get_me.py b/sdk/python/pulumi_ovh/me/get_me.py index ea99db39..23db842d 100644 --- a/sdk/python/pulumi_ovh/me/get_me.py +++ b/sdk/python/pulumi_ovh/me/get_me.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -451,9 +456,6 @@ def get_me(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMeResult: state=pulumi.get(__ret__, 'state'), vat=pulumi.get(__ret__, 'vat'), zip=pulumi.get(__ret__, 'zip')) - - -@_utilities.lift_output_func(get_me) def get_me_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMeResult]: """ Use this data source to get information about the current OVHcloud account. @@ -467,4 +469,38 @@ def get_me_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[ myaccount = ovh.Me.get_me() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getMe:getMe', __args__, opts=opts, typ=GetMeResult) + return __ret__.apply(lambda __response__: GetMeResult( + account_urn=pulumi.get(__response__, 'account_urn'), + address=pulumi.get(__response__, 'address'), + area=pulumi.get(__response__, 'area'), + birth_city=pulumi.get(__response__, 'birth_city'), + birth_day=pulumi.get(__response__, 'birth_day'), + city=pulumi.get(__response__, 'city'), + company_national_identification_number=pulumi.get(__response__, 'company_national_identification_number'), + corporation_type=pulumi.get(__response__, 'corporation_type'), + country=pulumi.get(__response__, 'country'), + currencies=pulumi.get(__response__, 'currencies'), + customer_code=pulumi.get(__response__, 'customer_code'), + email=pulumi.get(__response__, 'email'), + fax=pulumi.get(__response__, 'fax'), + firstname=pulumi.get(__response__, 'firstname'), + id=pulumi.get(__response__, 'id'), + italian_sdi=pulumi.get(__response__, 'italian_sdi'), + language=pulumi.get(__response__, 'language'), + legalform=pulumi.get(__response__, 'legalform'), + name=pulumi.get(__response__, 'name'), + national_identification_number=pulumi.get(__response__, 'national_identification_number'), + nichandle=pulumi.get(__response__, 'nichandle'), + organisation=pulumi.get(__response__, 'organisation'), + ovh_company=pulumi.get(__response__, 'ovh_company'), + ovh_subsidiary=pulumi.get(__response__, 'ovh_subsidiary'), + phone=pulumi.get(__response__, 'phone'), + phone_country=pulumi.get(__response__, 'phone_country'), + sex=pulumi.get(__response__, 'sex'), + spare_email=pulumi.get(__response__, 'spare_email'), + state=pulumi.get(__response__, 'state'), + vat=pulumi.get(__response__, 'vat'), + zip=pulumi.get(__response__, 'zip'))) diff --git a/sdk/python/pulumi_ovh/me/get_paymentmean_bank_account.py b/sdk/python/pulumi_ovh/me/get_paymentmean_bank_account.py index bf812599..587acb0c 100644 --- a/sdk/python/pulumi_ovh/me/get_paymentmean_bank_account.py +++ b/sdk/python/pulumi_ovh/me/get_paymentmean_bank_account.py @@ -4,9 +4,14 @@ 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__ = [ @@ -148,9 +153,6 @@ def get_paymentmean_bank_account(description_regexp: Optional[str] = None, state=pulumi.get(__ret__, 'state'), use_default=pulumi.get(__ret__, 'use_default'), use_oldest=pulumi.get(__ret__, 'use_oldest')) - - -@_utilities.lift_output_func(get_paymentmean_bank_account) def get_paymentmean_bank_account_output(description_regexp: Optional[pulumi.Input[Optional[str]]] = None, state: Optional[pulumi.Input[Optional[str]]] = None, use_default: Optional[pulumi.Input[Optional[bool]]] = None, @@ -178,4 +180,18 @@ def get_paymentmean_bank_account_output(description_regexp: Optional[pulumi.Inpu :param bool use_oldest: Retrieve oldest bank account. project. """ - ... + __args__ = dict() + __args__['descriptionRegexp'] = description_regexp + __args__['state'] = state + __args__['useDefault'] = use_default + __args__['useOldest'] = use_oldest + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getPaymentmeanBankAccount:getPaymentmeanBankAccount', __args__, opts=opts, typ=GetPaymentmeanBankAccountResult) + return __ret__.apply(lambda __response__: GetPaymentmeanBankAccountResult( + default=pulumi.get(__response__, 'default'), + description=pulumi.get(__response__, 'description'), + description_regexp=pulumi.get(__response__, 'description_regexp'), + id=pulumi.get(__response__, 'id'), + state=pulumi.get(__response__, 'state'), + use_default=pulumi.get(__response__, 'use_default'), + use_oldest=pulumi.get(__response__, 'use_oldest'))) diff --git a/sdk/python/pulumi_ovh/me/get_paymentmean_credit_card.py b/sdk/python/pulumi_ovh/me/get_paymentmean_credit_card.py index e8cccbf3..13f58706 100644 --- a/sdk/python/pulumi_ovh/me/get_paymentmean_credit_card.py +++ b/sdk/python/pulumi_ovh/me/get_paymentmean_credit_card.py @@ -4,9 +4,14 @@ 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__ = [ @@ -161,9 +166,6 @@ def get_paymentmean_credit_card(description_regexp: Optional[str] = None, states=pulumi.get(__ret__, 'states'), use_default=pulumi.get(__ret__, 'use_default'), use_last_to_expire=pulumi.get(__ret__, 'use_last_to_expire')) - - -@_utilities.lift_output_func(get_paymentmean_credit_card) def get_paymentmean_credit_card_output(description_regexp: Optional[pulumi.Input[Optional[str]]] = None, states: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, use_default: Optional[pulumi.Input[Optional[bool]]] = None, @@ -191,4 +193,19 @@ def get_paymentmean_credit_card_output(description_regexp: Optional[pulumi.Input :param bool use_last_to_expire: Retrieve the credit card that will be the last to expire according to its expiration date. """ - ... + __args__ = dict() + __args__['descriptionRegexp'] = description_regexp + __args__['states'] = states + __args__['useDefault'] = use_default + __args__['useLastToExpire'] = use_last_to_expire + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Me/getPaymentmeanCreditCard:getPaymentmeanCreditCard', __args__, opts=opts, typ=GetPaymentmeanCreditCardResult) + return __ret__.apply(lambda __response__: GetPaymentmeanCreditCardResult( + default=pulumi.get(__response__, 'default'), + description=pulumi.get(__response__, 'description'), + description_regexp=pulumi.get(__response__, 'description_regexp'), + id=pulumi.get(__response__, 'id'), + state=pulumi.get(__response__, 'state'), + states=pulumi.get(__response__, 'states'), + use_default=pulumi.get(__response__, 'use_default'), + use_last_to_expire=pulumi.get(__response__, 'use_last_to_expire'))) diff --git a/sdk/python/pulumi_ovh/me/identity_group.py b/sdk/python/pulumi_ovh/me/identity_group.py index 20d87732..8790cdc8 100644 --- a/sdk/python/pulumi_ovh/me/identity_group.py +++ b/sdk/python/pulumi_ovh/me/identity_group.py @@ -4,9 +4,14 @@ 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__ = ['IdentityGroupArgs', 'IdentityGroup'] diff --git a/sdk/python/pulumi_ovh/me/identity_user.py b/sdk/python/pulumi_ovh/me/identity_user.py index 3a690876..81cba02b 100644 --- a/sdk/python/pulumi_ovh/me/identity_user.py +++ b/sdk/python/pulumi_ovh/me/identity_user.py @@ -4,9 +4,14 @@ 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__ = ['IdentityUserArgs', 'IdentityUser'] diff --git a/sdk/python/pulumi_ovh/me/installation_template.py b/sdk/python/pulumi_ovh/me/installation_template.py index a511e3a6..d39e77ae 100644 --- a/sdk/python/pulumi_ovh/me/installation_template.py +++ b/sdk/python/pulumi_ovh/me/installation_template.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme.py b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme.py index 6321f1f6..1d816b99 100644 --- a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme.py +++ b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme.py @@ -4,9 +4,14 @@ 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__ = ['InstallationTemplatePartitionSchemeArgs', 'InstallationTemplatePartitionScheme'] diff --git a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_hardware_raid.py b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_hardware_raid.py index aa9bda34..0add21cf 100644 --- a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_hardware_raid.py +++ b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_hardware_raid.py @@ -4,9 +4,14 @@ 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__ = ['InstallationTemplatePartitionSchemeHardwareRaidArgs', 'InstallationTemplatePartitionSchemeHardwareRaid'] diff --git a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_partition.py b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_partition.py index dba29a05..ac9e63aa 100644 --- a/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_partition.py +++ b/sdk/python/pulumi_ovh/me/installation_template_partition_scheme_partition.py @@ -4,9 +4,14 @@ 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__ = ['InstallationTemplatePartitionSchemePartitionArgs', 'InstallationTemplatePartitionSchemePartition'] diff --git a/sdk/python/pulumi_ovh/me/outputs.py b/sdk/python/pulumi_ovh/me/outputs.py index ae99fb0d..50830f33 100644 --- a/sdk/python/pulumi_ovh/me/outputs.py +++ b/sdk/python/pulumi_ovh/me/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/okms/_inputs.py b/sdk/python/pulumi_ovh/okms/_inputs.py index 83962494..2dee9f5e 100644 --- a/sdk/python/pulumi_ovh/okms/_inputs.py +++ b/sdk/python/pulumi_ovh/okms/_inputs.py @@ -4,15 +4,44 @@ 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__ = [ 'OkmsIamArgs', + 'OkmsIamArgsDict', ] +MYPY = False + +if not MYPY: + class OkmsIamArgsDict(TypedDict): + display_name: NotRequired[pulumi.Input[str]] + """ + (String) Resource display name + """ + id: NotRequired[pulumi.Input[str]] + """ + (String) Unique identifier of the resource + """ + tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + (Map of String) Resource tags. Tags that were internally computed are prefixed with ovh: + """ + urn: NotRequired[pulumi.Input[str]] + """ + (String) Unique resource name used in policies + """ +elif False: + OkmsIamArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class OkmsIamArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/okms/credential.py b/sdk/python/pulumi_ovh/okms/credential.py index 6930d15b..7e456fd2 100644 --- a/sdk/python/pulumi_ovh/okms/credential.py +++ b/sdk/python/pulumi_ovh/okms/credential.py @@ -4,9 +4,14 @@ 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__ = ['CredentialArgs', 'Credential'] diff --git a/sdk/python/pulumi_ovh/okms/get_okms_credential.py b/sdk/python/pulumi_ovh/okms/get_okms_credential.py index b2987889..e9c67685 100644 --- a/sdk/python/pulumi_ovh/okms/get_okms_credential.py +++ b/sdk/python/pulumi_ovh/okms/get_okms_credential.py @@ -4,9 +4,14 @@ 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__ = [ @@ -173,9 +178,6 @@ def get_okms_credential(id: Optional[str] = None, name=pulumi.get(__ret__, 'name'), okms_id=pulumi.get(__ret__, 'okms_id'), status=pulumi.get(__ret__, 'status')) - - -@_utilities.lift_output_func(get_okms_credential) def get_okms_credential_output(id: Optional[pulumi.Input[str]] = None, okms_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOkmsCredentialResult]: @@ -186,4 +188,19 @@ def get_okms_credential_output(id: Optional[pulumi.Input[str]] = None, :param str id: ID of the credential :param str okms_id: ID of the KMS """ - ... + __args__ = dict() + __args__['id'] = id + __args__['okmsId'] = okms_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Okms/getOkmsCredential:getOkmsCredential', __args__, opts=opts, typ=GetOkmsCredentialResult) + return __ret__.apply(lambda __response__: GetOkmsCredentialResult( + certificate_pem=pulumi.get(__response__, 'certificate_pem'), + created_at=pulumi.get(__response__, 'created_at'), + description=pulumi.get(__response__, 'description'), + expired_at=pulumi.get(__response__, 'expired_at'), + from_csr=pulumi.get(__response__, 'from_csr'), + id=pulumi.get(__response__, 'id'), + identity_urns=pulumi.get(__response__, 'identity_urns'), + name=pulumi.get(__response__, 'name'), + okms_id=pulumi.get(__response__, 'okms_id'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_ovh/okms/get_okms_resource.py b/sdk/python/pulumi_ovh/okms/get_okms_resource.py index 5ea2bc2b..9f2b2210 100644 --- a/sdk/python/pulumi_ovh/okms/get_okms_resource.py +++ b/sdk/python/pulumi_ovh/okms/get_okms_resource.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -147,9 +152,6 @@ def get_okms_resource(id: Optional[str] = None, region=pulumi.get(__ret__, 'region'), rest_endpoint=pulumi.get(__ret__, 'rest_endpoint'), swagger_endpoint=pulumi.get(__ret__, 'swagger_endpoint')) - - -@_utilities.lift_output_func(get_okms_resource) def get_okms_resource_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOkmsResourceResult]: """ @@ -167,4 +169,15 @@ def get_okms_resource_output(id: Optional[pulumi.Input[str]] = None, :param str id: Should be set to the ID of your KMS """ - ... + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Okms/getOkmsResource:getOkmsResource', __args__, opts=opts, typ=GetOkmsResourceResult) + return __ret__.apply(lambda __response__: GetOkmsResourceResult( + iam=pulumi.get(__response__, 'iam'), + id=pulumi.get(__response__, 'id'), + kmip_endpoint=pulumi.get(__response__, 'kmip_endpoint'), + public_ca=pulumi.get(__response__, 'public_ca'), + region=pulumi.get(__response__, 'region'), + rest_endpoint=pulumi.get(__response__, 'rest_endpoint'), + swagger_endpoint=pulumi.get(__response__, 'swagger_endpoint'))) diff --git a/sdk/python/pulumi_ovh/okms/get_okms_service_key.py b/sdk/python/pulumi_ovh/okms/get_okms_service_key.py index 93bba16e..35d93f84 100644 --- a/sdk/python/pulumi_ovh/okms/get_okms_service_key.py +++ b/sdk/python/pulumi_ovh/okms/get_okms_service_key.py @@ -4,9 +4,14 @@ 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__ = [ @@ -149,9 +154,6 @@ def get_okms_service_key(id: Optional[str] = None, size=pulumi.get(__ret__, 'size'), state=pulumi.get(__ret__, 'state'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_okms_service_key) def get_okms_service_key_output(id: Optional[pulumi.Input[str]] = None, okms_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOkmsServiceKeyResult]: @@ -172,4 +174,18 @@ def get_okms_service_key_output(id: Optional[pulumi.Input[str]] = None, :param str id: ID of the service key :param str okms_id: ID of the KMS """ - ... + __args__ = dict() + __args__['id'] = id + __args__['okmsId'] = okms_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Okms/getOkmsServiceKey:getOkmsServiceKey', __args__, opts=opts, typ=GetOkmsServiceKeyResult) + return __ret__.apply(lambda __response__: GetOkmsServiceKeyResult( + created_at=pulumi.get(__response__, 'created_at'), + curve=pulumi.get(__response__, 'curve'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + okms_id=pulumi.get(__response__, 'okms_id'), + operations=pulumi.get(__response__, 'operations'), + size=pulumi.get(__response__, 'size'), + state=pulumi.get(__response__, 'state'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_ovh/okms/get_okms_service_key_jwk.py b/sdk/python/pulumi_ovh/okms/get_okms_service_key_jwk.py index 03108989..6eb36840 100644 --- a/sdk/python/pulumi_ovh/okms/get_okms_service_key_jwk.py +++ b/sdk/python/pulumi_ovh/okms/get_okms_service_key_jwk.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -140,9 +145,6 @@ def get_okms_service_key_jwk(id: Optional[str] = None, size=pulumi.get(__ret__, 'size'), state=pulumi.get(__ret__, 'state'), type=pulumi.get(__ret__, 'type')) - - -@_utilities.lift_output_func(get_okms_service_key_jwk) def get_okms_service_key_jwk_output(id: Optional[pulumi.Input[str]] = None, okms_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetOkmsServiceKeyJwkResult]: @@ -163,4 +165,17 @@ def get_okms_service_key_jwk_output(id: Optional[pulumi.Input[str]] = None, :param str id: ID of the service key :param str okms_id: ID of the KMS """ - ... + __args__ = dict() + __args__['id'] = id + __args__['okmsId'] = okms_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Okms/getOkmsServiceKeyJwk:getOkmsServiceKeyJwk', __args__, opts=opts, typ=GetOkmsServiceKeyJwkResult) + return __ret__.apply(lambda __response__: GetOkmsServiceKeyJwkResult( + created_at=pulumi.get(__response__, 'created_at'), + id=pulumi.get(__response__, 'id'), + keys=pulumi.get(__response__, 'keys'), + name=pulumi.get(__response__, 'name'), + okms_id=pulumi.get(__response__, 'okms_id'), + size=pulumi.get(__response__, 'size'), + state=pulumi.get(__response__, 'state'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_ovh/okms/okms.py b/sdk/python/pulumi_ovh/okms/okms.py index 68ad822e..03688309 100644 --- a/sdk/python/pulumi_ovh/okms/okms.py +++ b/sdk/python/pulumi_ovh/okms/okms.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * diff --git a/sdk/python/pulumi_ovh/okms/outputs.py b/sdk/python/pulumi_ovh/okms/outputs.py index ee62159b..54a5c618 100644 --- a/sdk/python/pulumi_ovh/okms/outputs.py +++ b/sdk/python/pulumi_ovh/okms/outputs.py @@ -4,9 +4,14 @@ 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__ = [ diff --git a/sdk/python/pulumi_ovh/okms/service_key.py b/sdk/python/pulumi_ovh/okms/service_key.py index 21cf8c6d..6cf193c5 100644 --- a/sdk/python/pulumi_ovh/okms/service_key.py +++ b/sdk/python/pulumi_ovh/okms/service_key.py @@ -4,9 +4,14 @@ 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__ = ['ServiceKeyArgs', 'ServiceKey'] diff --git a/sdk/python/pulumi_ovh/order/get_cart.py b/sdk/python/pulumi_ovh/order/get_cart.py index c6fdf43f..61a84d12 100644 --- a/sdk/python/pulumi_ovh/order/get_cart.py +++ b/sdk/python/pulumi_ovh/order/get_cart.py @@ -4,9 +4,14 @@ 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__ = [ @@ -157,9 +162,6 @@ def get_cart(assign: Optional[bool] = None, items=pulumi.get(__ret__, 'items'), ovh_subsidiary=pulumi.get(__ret__, 'ovh_subsidiary'), read_only=pulumi.get(__ret__, 'read_only')) - - -@_utilities.lift_output_func(get_cart) def get_cart_output(assign: Optional[pulumi.Input[Optional[bool]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, expire: Optional[pulumi.Input[Optional[str]]] = None, @@ -184,4 +186,19 @@ def get_cart_output(assign: Optional[pulumi.Input[Optional[bool]]] = None, :param str expire: Expiration time (format: 2006-01-02T15:04:05+00:00) :param str ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) """ - ... + __args__ = dict() + __args__['assign'] = assign + __args__['description'] = description + __args__['expire'] = expire + __args__['ovhSubsidiary'] = ovh_subsidiary + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Order/getCart:getCart', __args__, opts=opts, typ=GetCartResult) + return __ret__.apply(lambda __response__: GetCartResult( + assign=pulumi.get(__response__, 'assign'), + cart_id=pulumi.get(__response__, 'cart_id'), + description=pulumi.get(__response__, 'description'), + expire=pulumi.get(__response__, 'expire'), + id=pulumi.get(__response__, 'id'), + items=pulumi.get(__response__, 'items'), + ovh_subsidiary=pulumi.get(__response__, 'ovh_subsidiary'), + read_only=pulumi.get(__response__, 'read_only'))) diff --git a/sdk/python/pulumi_ovh/order/get_cart_product.py b/sdk/python/pulumi_ovh/order/get_cart_product.py index 3b86e4f4..c796358c 100644 --- a/sdk/python/pulumi_ovh/order/get_cart_product.py +++ b/sdk/python/pulumi_ovh/order/get_cart_product.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -108,9 +113,6 @@ def get_cart_product(cart_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), product=pulumi.get(__ret__, 'product'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_cart_product) def get_cart_product_output(cart_id: Optional[pulumi.Input[str]] = None, product: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCartProductResult]: @@ -133,4 +135,13 @@ def get_cart_product_output(cart_id: Optional[pulumi.Input[str]] = None, :param str cart_id: Cart identifier :param str product: product """ - ... + __args__ = dict() + __args__['cartId'] = cart_id + __args__['product'] = product + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Order/getCartProduct:getCartProduct', __args__, opts=opts, typ=GetCartProductResult) + return __ret__.apply(lambda __response__: GetCartProductResult( + cart_id=pulumi.get(__response__, 'cart_id'), + id=pulumi.get(__response__, 'id'), + product=pulumi.get(__response__, 'product'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/order/get_cart_product_options.py b/sdk/python/pulumi_ovh/order/get_cart_product_options.py index 5f4bf6ec..a963ded6 100644 --- a/sdk/python/pulumi_ovh/order/get_cart_product_options.py +++ b/sdk/python/pulumi_ovh/order/get_cart_product_options.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -138,9 +143,6 @@ def get_cart_product_options(cart_id: Optional[str] = None, plan_code=pulumi.get(__ret__, 'plan_code'), product=pulumi.get(__ret__, 'product'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_cart_product_options) def get_cart_product_options_output(cart_id: Optional[pulumi.Input[str]] = None, catalog_name: Optional[pulumi.Input[Optional[str]]] = None, plan_code: Optional[pulumi.Input[str]] = None, @@ -168,4 +170,17 @@ def get_cart_product_options_output(cart_id: Optional[pulumi.Input[str]] = None, :param str plan_code: Product offer identifier :param str product: Product """ - ... + __args__ = dict() + __args__['cartId'] = cart_id + __args__['catalogName'] = catalog_name + __args__['planCode'] = plan_code + __args__['product'] = product + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Order/getCartProductOptions:getCartProductOptions', __args__, opts=opts, typ=GetCartProductOptionsResult) + return __ret__.apply(lambda __response__: GetCartProductOptionsResult( + cart_id=pulumi.get(__response__, 'cart_id'), + catalog_name=pulumi.get(__response__, 'catalog_name'), + id=pulumi.get(__response__, 'id'), + plan_code=pulumi.get(__response__, 'plan_code'), + product=pulumi.get(__response__, 'product'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/order/get_cart_product_options_plan.py b/sdk/python/pulumi_ovh/order/get_cart_product_options_plan.py index 85735eae..ba17c2dd 100644 --- a/sdk/python/pulumi_ovh/order/get_cart_product_options_plan.py +++ b/sdk/python/pulumi_ovh/order/get_cart_product_options_plan.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -244,9 +249,6 @@ def get_cart_product_options_plan(cart_id: Optional[str] = None, product_name=pulumi.get(__ret__, 'product_name'), product_type=pulumi.get(__ret__, 'product_type'), selected_prices=pulumi.get(__ret__, 'selected_prices')) - - -@_utilities.lift_output_func(get_cart_product_options_plan) def get_cart_product_options_plan_output(cart_id: Optional[pulumi.Input[str]] = None, catalog_name: Optional[pulumi.Input[Optional[str]]] = None, options_plan_code: Optional[pulumi.Input[str]] = None, @@ -280,4 +282,27 @@ def get_cart_product_options_plan_output(cart_id: Optional[pulumi.Input[str]] = :param str price_capacity: Capacity of the pricing (type of pricing) :param str product: Product """ - ... + __args__ = dict() + __args__['cartId'] = cart_id + __args__['catalogName'] = catalog_name + __args__['optionsPlanCode'] = options_plan_code + __args__['planCode'] = plan_code + __args__['priceCapacity'] = price_capacity + __args__['product'] = product + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Order/getCartProductOptionsPlan:getCartProductOptionsPlan', __args__, opts=opts, typ=GetCartProductOptionsPlanResult) + return __ret__.apply(lambda __response__: GetCartProductOptionsPlanResult( + cart_id=pulumi.get(__response__, 'cart_id'), + catalog_name=pulumi.get(__response__, 'catalog_name'), + exclusive=pulumi.get(__response__, 'exclusive'), + family=pulumi.get(__response__, 'family'), + id=pulumi.get(__response__, 'id'), + mandatory=pulumi.get(__response__, 'mandatory'), + options_plan_code=pulumi.get(__response__, 'options_plan_code'), + plan_code=pulumi.get(__response__, 'plan_code'), + price_capacity=pulumi.get(__response__, 'price_capacity'), + prices=pulumi.get(__response__, 'prices'), + product=pulumi.get(__response__, 'product'), + product_name=pulumi.get(__response__, 'product_name'), + product_type=pulumi.get(__response__, 'product_type'), + selected_prices=pulumi.get(__response__, 'selected_prices'))) diff --git a/sdk/python/pulumi_ovh/order/get_cart_product_plan.py b/sdk/python/pulumi_ovh/order/get_cart_product_plan.py index 865c8530..51fc5590 100644 --- a/sdk/python/pulumi_ovh/order/get_cart_product_plan.py +++ b/sdk/python/pulumi_ovh/order/get_cart_product_plan.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs @@ -191,9 +196,6 @@ def get_cart_product_plan(cart_id: Optional[str] = None, product_name=pulumi.get(__ret__, 'product_name'), product_type=pulumi.get(__ret__, 'product_type'), selected_prices=pulumi.get(__ret__, 'selected_prices')) - - -@_utilities.lift_output_func(get_cart_product_plan) def get_cart_product_plan_output(cart_id: Optional[pulumi.Input[str]] = None, catalog_name: Optional[pulumi.Input[Optional[str]]] = None, plan_code: Optional[pulumi.Input[str]] = None, @@ -224,4 +226,22 @@ def get_cart_product_plan_output(cart_id: Optional[pulumi.Input[str]] = None, :param str price_capacity: Capacity of the pricing (type of pricing) :param str product: Product """ - ... + __args__ = dict() + __args__['cartId'] = cart_id + __args__['catalogName'] = catalog_name + __args__['planCode'] = plan_code + __args__['priceCapacity'] = price_capacity + __args__['product'] = product + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Order/getCartProductPlan:getCartProductPlan', __args__, opts=opts, typ=GetCartProductPlanResult) + return __ret__.apply(lambda __response__: GetCartProductPlanResult( + cart_id=pulumi.get(__response__, 'cart_id'), + catalog_name=pulumi.get(__response__, 'catalog_name'), + id=pulumi.get(__response__, 'id'), + plan_code=pulumi.get(__response__, 'plan_code'), + price_capacity=pulumi.get(__response__, 'price_capacity'), + prices=pulumi.get(__response__, 'prices'), + product=pulumi.get(__response__, 'product'), + product_name=pulumi.get(__response__, 'product_name'), + product_type=pulumi.get(__response__, 'product_type'), + selected_prices=pulumi.get(__response__, 'selected_prices'))) diff --git a/sdk/python/pulumi_ovh/order/outputs.py b/sdk/python/pulumi_ovh/order/outputs.py index 8eeef325..eab0c9c8 100644 --- a/sdk/python/pulumi_ovh/order/outputs.py +++ b/sdk/python/pulumi_ovh/order/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/outputs.py b/sdk/python/pulumi_ovh/outputs.py index e807724d..79796798 100644 --- a/sdk/python/pulumi_ovh/outputs.py +++ b/sdk/python/pulumi_ovh/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/provider.py b/sdk/python/pulumi_ovh/provider.py index c39ef952..9f568e6a 100644 --- a/sdk/python/pulumi_ovh/provider.py +++ b/sdk/python/pulumi_ovh/provider.py @@ -4,9 +4,14 @@ 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__ = ['ProviderArgs', 'Provider'] diff --git a/sdk/python/pulumi_ovh/vps/_inputs.py b/sdk/python/pulumi_ovh/vps/_inputs.py index eb5a149b..12ab9a84 100644 --- a/sdk/python/pulumi_ovh/vps/_inputs.py +++ b/sdk/python/pulumi_ovh/vps/_inputs.py @@ -4,22 +4,58 @@ 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__ = [ 'VpsIamArgs', + 'VpsIamArgsDict', 'VpsModelArgs', + 'VpsModelArgsDict', 'VpsOrderArgs', + 'VpsOrderArgsDict', 'VpsOrderDetailArgs', + 'VpsOrderDetailArgsDict', 'VpsPlanArgs', + 'VpsPlanArgsDict', 'VpsPlanConfigurationArgs', + 'VpsPlanConfigurationArgsDict', 'VpsPlanOptionArgs', + 'VpsPlanOptionArgsDict', 'VpsPlanOptionConfigurationArgs', + 'VpsPlanOptionConfigurationArgsDict', ] +MYPY = False + +if not MYPY: + class VpsIamArgsDict(TypedDict): + display_name: NotRequired[pulumi.Input[str]] + """ + Custom display name + """ + id: NotRequired[pulumi.Input[str]] + """ + Unique identifier of the resource in the IAM + """ + tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Resource tags. Tags that were internally computed are prefixed with `ovh:` + """ + urn: NotRequired[pulumi.Input[str]] + """ + URN of the private database, used when writing IAM policies + """ +elif False: + VpsIamArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsIamArgs: def __init__(__self__, *, @@ -91,6 +127,47 @@ def urn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "urn", value) +if not MYPY: + class VpsModelArgsDict(TypedDict): + available_options: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + All options the VPS can have (additionalDisk┃automatedBackup┃cpanel┃ftpbackup┃plesk┃snapshot┃veeam┃windows) + """ + datacenters: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Datacenters where this model is available + """ + disk: NotRequired[pulumi.Input[float]] + """ + Disk capacity of this VPS + """ + maximum_additionnal_ip: NotRequired[pulumi.Input[float]] + """ + Maximum number of additional IPs + """ + memory: NotRequired[pulumi.Input[float]] + """ + RAM of the VPS + """ + name: NotRequired[pulumi.Input[str]] + """ + Name of the VPS + """ + offer: NotRequired[pulumi.Input[str]] + """ + Description of this VPS offer + """ + vcore: NotRequired[pulumi.Input[float]] + """ + Number of vcores + """ + version: NotRequired[pulumi.Input[str]] + """ + All versions that VPS can have (2013v1┃2014v1┃2015v1┃2017v1┃2017v2┃2017v3┃2018v1┃2018v2┃2019v1) + """ +elif False: + VpsModelArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsModelArgs: def __init__(__self__, *, @@ -242,6 +319,15 @@ def version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "version", value) +if not MYPY: + class VpsOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpsOrderDetailArgsDict']]]] + expiration_date: NotRequired[pulumi.Input[str]] + order_id: NotRequired[pulumi.Input[float]] +elif False: + VpsOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsOrderArgs: def __init__(__self__, *, @@ -295,6 +381,19 @@ def order_id(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "order_id", value) +if not MYPY: + class VpsOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + detail_type: NotRequired[pulumi.Input[str]] + """ + Product type of item in order + """ + domain: NotRequired[pulumi.Input[str]] + order_detail_id: NotRequired[pulumi.Input[float]] + quantity: NotRequired[pulumi.Input[str]] +elif False: + VpsOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsOrderDetailArgs: def __init__(__self__, *, @@ -366,6 +465,35 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class VpsPlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpsPlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ + item_id: NotRequired[pulumi.Input[float]] + """ + Cart item to be linked + """ + quantity: NotRequired[pulumi.Input[float]] + """ + Quantity of product desired + """ +elif False: + VpsPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsPlanArgs: def __init__(__self__, *, @@ -466,6 +594,19 @@ def quantity(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "quantity", value) +if not MYPY: + class VpsPlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in api.ovh.com + """ +elif False: + VpsPlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsPlanConfigurationArgs: def __init__(__self__, *, @@ -503,6 +644,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class VpsPlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + quantity: pulumi.Input[float] + """ + Quantity of product desired + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpsPlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + VpsPlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsPlanOptionArgs: def __init__(__self__, *, @@ -586,6 +752,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Vps pulumi.set(self, "configurations", value) +if not MYPY: + class VpsPlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in api.ovh.com + """ +elif False: + VpsPlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VpsPlanOptionConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/vps/get_vps.py b/sdk/python/pulumi_ovh/vps/get_vps.py index 8703d76f..8ffae00b 100644 --- a/sdk/python/pulumi_ovh/vps/get_vps.py +++ b/sdk/python/pulumi_ovh/vps/get_vps.py @@ -4,9 +4,14 @@ 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__ = [ @@ -283,9 +288,6 @@ def get_vps(service_name: Optional[str] = None, type=pulumi.get(__ret__, 'type'), vcore=pulumi.get(__ret__, 'vcore'), zone=pulumi.get(__ret__, 'zone')) - - -@_utilities.lift_output_func(get_vps) def get_vps_output(service_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpsResult]: """ @@ -303,4 +305,26 @@ def get_vps_output(service_name: Optional[pulumi.Input[str]] = None, :param str service_name: The service_name of your dedicated server. """ - ... + __args__ = dict() + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Vps/getVps:getVps', __args__, opts=opts, typ=GetVpsResult) + return __ret__.apply(lambda __response__: GetVpsResult( + vps_urn=pulumi.get(__response__, 'vps_urn'), + cluster=pulumi.get(__response__, 'cluster'), + datacenter=pulumi.get(__response__, 'datacenter'), + displayname=pulumi.get(__response__, 'displayname'), + id=pulumi.get(__response__, 'id'), + ips=pulumi.get(__response__, 'ips'), + keymap=pulumi.get(__response__, 'keymap'), + memory=pulumi.get(__response__, 'memory'), + model=pulumi.get(__response__, 'model'), + name=pulumi.get(__response__, 'name'), + netbootmode=pulumi.get(__response__, 'netbootmode'), + offertype=pulumi.get(__response__, 'offertype'), + service_name=pulumi.get(__response__, 'service_name'), + slamonitoring=pulumi.get(__response__, 'slamonitoring'), + state=pulumi.get(__response__, 'state'), + type=pulumi.get(__response__, 'type'), + vcore=pulumi.get(__response__, 'vcore'), + zone=pulumi.get(__response__, 'zone'))) diff --git a/sdk/python/pulumi_ovh/vps/get_vpss.py b/sdk/python/pulumi_ovh/vps/get_vpss.py index 9864cca0..c303cfa9 100644 --- a/sdk/python/pulumi_ovh/vps/get_vpss.py +++ b/sdk/python/pulumi_ovh/vps/get_vpss.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_vpss(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpssRes return AwaitableGetVpssResult( id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_vpss) def get_vpss_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpssResult]: """ Use this data source to get the list of VPS associated with your OVH Account. @@ -92,4 +94,9 @@ def get_vpss_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Outpu servers = ovh.Vps.get_vpss() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Vps/getVpss:getVpss', __args__, opts=opts, typ=GetVpssResult) + return __ret__.apply(lambda __response__: GetVpssResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/vps/outputs.py b/sdk/python/pulumi_ovh/vps/outputs.py index c3cbcf1a..4b0cebc6 100644 --- a/sdk/python/pulumi_ovh/vps/outputs.py +++ b/sdk/python/pulumi_ovh/vps/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/vps/vps.py b/sdk/python/pulumi_ovh/vps/vps.py index 2f41d691..5b587e66 100644 --- a/sdk/python/pulumi_ovh/vps/vps.py +++ b/sdk/python/pulumi_ovh/vps/vps.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,7 +21,6 @@ @pulumi.input_type class VpsArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], display_name: Optional[pulumi.Input[str]] = None, keymap: Optional[pulumi.Input[str]] = None, memory_limit: Optional[pulumi.Input[float]] = None, @@ -25,6 +29,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, netboot_mode: Optional[pulumi.Input[str]] = None, offer_type: Optional[pulumi.Input[str]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['VpsPlanOptionArgs']]]] = None, plans: Optional[pulumi.Input[Sequence[pulumi.Input['VpsPlanArgs']]]] = None, sla_monitoring: Optional[pulumi.Input[bool]] = None, @@ -33,7 +38,6 @@ def __init__(__self__, *, zone: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Vps resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) :param pulumi.Input[str] display_name: Custom display name :param pulumi.Input[str] keymap: KVM keyboard layout on VPS Cloud :param pulumi.Input[float] memory_limit: RAM of this VPS @@ -42,13 +46,13 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the VPS :param pulumi.Input[str] netboot_mode: VPS netboot mode (local┃rescue) :param pulumi.Input[str] offer_type: All offers a VPS can have (beta-classic┃classic┃cloud┃cloudram┃game-classic┃lowlat┃ssd) + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) :param pulumi.Input[Sequence[pulumi.Input['VpsPlanOptionArgs']]] plan_options: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['VpsPlanArgs']]] plans: Product Plan to order :param pulumi.Input[str] state: State of the VPS (backuping┃installing┃maintenance┃rebooting┃rescued┃running┃stopped┃stopping┃upgrading) :param pulumi.Input[float] vcore: Number of vcores :param pulumi.Input[str] zone: OpenStask region where the VPS is located """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if display_name is not None: pulumi.set(__self__, "display_name", display_name) if keymap is not None: @@ -65,6 +69,8 @@ def __init__(__self__, *, pulumi.set(__self__, "netboot_mode", netboot_mode) if offer_type is not None: pulumi.set(__self__, "offer_type", offer_type) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) if plans is not None: @@ -78,18 +84,6 @@ def __init__(__self__, *, if zone is not None: pulumi.set(__self__, "zone", zone) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - @property @pulumi.getter(name="displayName") def display_name(self) -> Optional[pulumi.Input[str]]: @@ -186,6 +180,18 @@ def offer_type(self) -> Optional[pulumi.Input[str]]: def offer_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "offer_type", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpsPlanOptionArgs']]]]: @@ -609,7 +615,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: VpsArgs, + args: Optional[VpsArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -661,8 +667,6 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["netboot_mode"] = netboot_mode __props__.__dict__["offer_type"] = offer_type - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["plan_options"] = plan_options __props__.__dict__["plans"] = plans @@ -844,7 +848,7 @@ def order(self) -> pulumi.Output['outputs.VpsOrder']: @property @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Output[str]: + def ovh_subsidiary(self) -> pulumi.Output[Optional[str]]: """ OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json](https://eu.api.ovh.com/console-preview/?section=%2Fme&branch=v1#get-/me) """ diff --git a/sdk/python/pulumi_ovh/vrack/_inputs.py b/sdk/python/pulumi_ovh/vrack/_inputs.py index 82bd1abf..b4daf992 100644 --- a/sdk/python/pulumi_ovh/vrack/_inputs.py +++ b/sdk/python/pulumi_ovh/vrack/_inputs.py @@ -4,20 +4,54 @@ 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__ = [ 'VrackOrderArgs', + 'VrackOrderArgsDict', 'VrackOrderDetailArgs', + 'VrackOrderDetailArgsDict', 'VrackPlanArgs', + 'VrackPlanArgsDict', 'VrackPlanConfigurationArgs', + 'VrackPlanConfigurationArgsDict', 'VrackPlanOptionArgs', + 'VrackPlanOptionArgsDict', 'VrackPlanOptionConfigurationArgs', + 'VrackPlanOptionConfigurationArgsDict', ] +MYPY = False + +if not MYPY: + class VrackOrderArgsDict(TypedDict): + date: NotRequired[pulumi.Input[str]] + """ + date + """ + details: NotRequired[pulumi.Input[Sequence[pulumi.Input['VrackOrderDetailArgsDict']]]] + """ + Information about a Bill entry + """ + expiration_date: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_id: NotRequired[pulumi.Input[int]] + """ + order id + """ +elif False: + VrackOrderArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackOrderArgs: def __init__(__self__, *, @@ -89,6 +123,27 @@ def order_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "order_id", value) +if not MYPY: + class VrackOrderDetailArgsDict(TypedDict): + description: NotRequired[pulumi.Input[str]] + """ + yourvrackdescription + """ + domain: NotRequired[pulumi.Input[str]] + """ + expiration date + """ + order_detail_id: NotRequired[pulumi.Input[int]] + """ + order detail id + """ + quantity: NotRequired[pulumi.Input[str]] + """ + quantity + """ +elif False: + VrackOrderDetailArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackOrderDetailArgs: def __init__(__self__, *, @@ -160,6 +215,31 @@ def quantity(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "quantity", value) +if not MYPY: + class VrackPlanArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['VrackPlanConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + VrackPlanArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackPlanArgs: def __init__(__self__, *, @@ -244,6 +324,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Vra pulumi.set(self, "configurations", value) +if not MYPY: + class VrackPlanConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + VrackPlanConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackPlanConfigurationArgs: def __init__(__self__, *, @@ -281,6 +374,31 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +if not MYPY: + class VrackPlanOptionArgsDict(TypedDict): + duration: pulumi.Input[str] + """ + duration + """ + plan_code: pulumi.Input[str] + """ + Plan code + """ + pricing_mode: pulumi.Input[str] + """ + Pricing model identifier + """ + catalog_name: NotRequired[pulumi.Input[str]] + """ + Catalog name + """ + configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['VrackPlanOptionConfigurationArgsDict']]]] + """ + Representation of a configuration item for personalizing product + """ +elif False: + VrackPlanOptionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackPlanOptionArgs: def __init__(__self__, *, @@ -365,6 +483,19 @@ def configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Vra pulumi.set(self, "configurations", value) +if not MYPY: + class VrackPlanOptionConfigurationArgsDict(TypedDict): + label: pulumi.Input[str] + """ + Identifier of the resource + """ + value: pulumi.Input[str] + """ + Path to the resource in API.OVH.COM + """ +elif False: + VrackPlanOptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class VrackPlanOptionConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_ovh/vrack/cloud_project.py b/sdk/python/pulumi_ovh/vrack/cloud_project.py index c3dbb713..18aef3fa 100644 --- a/sdk/python/pulumi_ovh/vrack/cloud_project.py +++ b/sdk/python/pulumi_ovh/vrack/cloud_project.py @@ -4,9 +4,14 @@ 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__ = ['CloudProjectArgs', 'CloudProject'] diff --git a/sdk/python/pulumi_ovh/vrack/dedicated_server.py b/sdk/python/pulumi_ovh/vrack/dedicated_server.py index 46de30c3..ccd67358 100644 --- a/sdk/python/pulumi_ovh/vrack/dedicated_server.py +++ b/sdk/python/pulumi_ovh/vrack/dedicated_server.py @@ -4,9 +4,14 @@ 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__ = ['DedicatedServerArgs', 'DedicatedServer'] diff --git a/sdk/python/pulumi_ovh/vrack/dedicated_server_interface.py b/sdk/python/pulumi_ovh/vrack/dedicated_server_interface.py index 23deb7bd..66466a67 100644 --- a/sdk/python/pulumi_ovh/vrack/dedicated_server_interface.py +++ b/sdk/python/pulumi_ovh/vrack/dedicated_server_interface.py @@ -4,9 +4,14 @@ 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__ = ['DedicatedServerInterfaceArgs', 'DedicatedServerInterface'] diff --git a/sdk/python/pulumi_ovh/vrack/get_vracks.py b/sdk/python/pulumi_ovh/vrack/get_vracks.py index 348916da..c3ef70ea 100644 --- a/sdk/python/pulumi_ovh/vrack/get_vracks.py +++ b/sdk/python/pulumi_ovh/vrack/get_vracks.py @@ -4,9 +4,14 @@ 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__ = [ @@ -76,9 +81,6 @@ def get_vracks(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVrack return AwaitableGetVracksResult( id=pulumi.get(__ret__, 'id'), results=pulumi.get(__ret__, 'results')) - - -@_utilities.lift_output_func(get_vracks) def get_vracks_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVracksResult]: """ Use this data source to get the list of Vrack IDs available for your OVHcloud account. @@ -92,4 +94,9 @@ def get_vracks_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Out vracks = ovh.Vrack.get_vracks() ``` """ - ... + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('ovh:Vrack/getVracks:getVracks', __args__, opts=opts, typ=GetVracksResult) + return __ret__.apply(lambda __response__: GetVracksResult( + id=pulumi.get(__response__, 'id'), + results=pulumi.get(__response__, 'results'))) diff --git a/sdk/python/pulumi_ovh/vrack/ip_address.py b/sdk/python/pulumi_ovh/vrack/ip_address.py index 7d2c4e6d..12df5676 100644 --- a/sdk/python/pulumi_ovh/vrack/ip_address.py +++ b/sdk/python/pulumi_ovh/vrack/ip_address.py @@ -4,9 +4,14 @@ 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__ = ['IpAddressArgs', 'IpAddress'] diff --git a/sdk/python/pulumi_ovh/vrack/ip_loadbalancing.py b/sdk/python/pulumi_ovh/vrack/ip_loadbalancing.py index a45da85e..e28382f1 100644 --- a/sdk/python/pulumi_ovh/vrack/ip_loadbalancing.py +++ b/sdk/python/pulumi_ovh/vrack/ip_loadbalancing.py @@ -4,9 +4,14 @@ 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__ = ['IpLoadbalancingArgs', 'IpLoadbalancing'] diff --git a/sdk/python/pulumi_ovh/vrack/outputs.py b/sdk/python/pulumi_ovh/vrack/outputs.py index b0570938..4db04f6f 100644 --- a/sdk/python/pulumi_ovh/vrack/outputs.py +++ b/sdk/python/pulumi_ovh/vrack/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs diff --git a/sdk/python/pulumi_ovh/vrack/vrack.py b/sdk/python/pulumi_ovh/vrack/vrack.py index 13b29f44..c1a9f899 100644 --- a/sdk/python/pulumi_ovh/vrack/vrack.py +++ b/sdk/python/pulumi_ovh/vrack/vrack.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs from ._inputs import * @@ -16,63 +21,41 @@ @pulumi.input_type class VrackArgs: def __init__(__self__, *, - ovh_subsidiary: pulumi.Input[str], - plan: pulumi.Input['VrackPlanArgs'], description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, orders: Optional[pulumi.Input[Sequence[pulumi.Input['VrackOrderArgs']]]] = None, + ovh_subsidiary: Optional[pulumi.Input[str]] = None, payment_mean: Optional[pulumi.Input[str]] = None, + plan: Optional[pulumi.Input['VrackPlanArgs']] = None, plan_options: Optional[pulumi.Input[Sequence[pulumi.Input['VrackPlanOptionArgs']]]] = None): """ The set of arguments for constructing a Vrack resource. - :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - :param pulumi.Input['VrackPlanArgs'] plan: Product Plan to order :param pulumi.Input[str] description: yourvrackdescription :param pulumi.Input[str] name: yourvrackname :param pulumi.Input[Sequence[pulumi.Input['VrackOrderArgs']]] orders: Details about an Order + :param pulumi.Input[str] ovh_subsidiary: OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) :param pulumi.Input[str] payment_mean: Ovh payment mode + :param pulumi.Input['VrackPlanArgs'] plan: Product Plan to order :param pulumi.Input[Sequence[pulumi.Input['VrackPlanOptionArgs']]] plan_options: Product Plan to order """ - pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) - pulumi.set(__self__, "plan", plan) if description is not None: pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) if orders is not None: pulumi.set(__self__, "orders", orders) + if ovh_subsidiary is not None: + pulumi.set(__self__, "ovh_subsidiary", ovh_subsidiary) if payment_mean is not None: warnings.warn("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""", DeprecationWarning) pulumi.log.warn("""payment_mean is deprecated: This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") if payment_mean is not None: pulumi.set(__self__, "payment_mean", payment_mean) + if plan is not None: + pulumi.set(__self__, "plan", plan) if plan_options is not None: pulumi.set(__self__, "plan_options", plan_options) - @property - @pulumi.getter(name="ovhSubsidiary") - def ovh_subsidiary(self) -> pulumi.Input[str]: - """ - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) - """ - return pulumi.get(self, "ovh_subsidiary") - - @ovh_subsidiary.setter - def ovh_subsidiary(self, value: pulumi.Input[str]): - pulumi.set(self, "ovh_subsidiary", value) - - @property - @pulumi.getter - def plan(self) -> pulumi.Input['VrackPlanArgs']: - """ - Product Plan to order - """ - return pulumi.get(self, "plan") - - @plan.setter - def plan(self, value: pulumi.Input['VrackPlanArgs']): - pulumi.set(self, "plan", value) - @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -109,6 +92,18 @@ def orders(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VrackOrderArgs' def orders(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VrackOrderArgs']]]]): pulumi.set(self, "orders", value) + @property + @pulumi.getter(name="ovhSubsidiary") + def ovh_subsidiary(self) -> Optional[pulumi.Input[str]]: + """ + OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at [/1.0/me.json under `models.nichandle.OvhSubsidiaryEnum`](https://eu.api.ovh.com/1.0/me.json) + """ + return pulumi.get(self, "ovh_subsidiary") + + @ovh_subsidiary.setter + def ovh_subsidiary(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ovh_subsidiary", value) + @property @pulumi.getter(name="paymentMean") @_utilities.deprecated("""This field is not anymore used since the API has been deprecated in favor of /payment/mean. Now, the default payment mean is used.""") @@ -122,6 +117,18 @@ def payment_mean(self) -> Optional[pulumi.Input[str]]: def payment_mean(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "payment_mean", value) + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input['VrackPlanArgs']]: + """ + Product Plan to order + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input['VrackPlanArgs']]): + pulumi.set(self, "plan", value) + @property @pulumi.getter(name="planOptions") def plan_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VrackPlanOptionArgs']]]]: @@ -329,13 +336,31 @@ def __init__(__self__, ## Import - vRack can be imported using the `service_name`. + A vRack can be imported using the `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_vrack.vrack + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name - ``` + $ pulumi preview -generate-config-out=vrack.tf + + $ pulumi up + + The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -351,7 +376,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: VrackArgs, + args: Optional[VrackArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ ## Example Usage @@ -378,13 +403,31 @@ def __init__(__self__, ## Import - vRack can be imported using the `service_name`. + A vRack can be imported using the `service_name`. + + Using the following configuration: + + hcl + + import { + + to = ovh_vrack.vrack + + id = "" + + } + + You can then run: bash - ```sh - $ pulumi import ovh:Vrack/vrack:Vrack vrack service_name - ``` + $ pulumi preview -generate-config-out=vrack.tf + + $ pulumi up + + The file `vrack.tf` will then contain the imported resource's configuration, that can be copied next to the `import` block above. + + See https://developer.hashicorp.com/terraform/language/import/generating-configuration for more details. :param str resource_name: The name of the resource. :param VrackArgs args: The arguments to use to populate this resource's properties. @@ -420,12 +463,8 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name __props__.__dict__["orders"] = orders - if ovh_subsidiary is None and not opts.urn: - raise TypeError("Missing required property 'ovh_subsidiary'") __props__.__dict__["ovh_subsidiary"] = ovh_subsidiary __props__.__dict__["payment_mean"] = payment_mean - if plan is None and not opts.urn: - raise TypeError("Missing required property 'plan'") __props__.__dict__["plan"] = plan __props__.__dict__["plan_options"] = plan_options __props__.__dict__["vrack_urn"] = None diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 58aefbe9..e1b8db45 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -39,6 +39,7 @@ def readme(): install_requires=[ 'parver>=0.2.1', 'pulumi>=3.0.0,<4.0.0', - 'semver>=2.8.1' + 'semver>=2.8.1', + 'typing-extensions>=4.11,<5; python_version < "3.11"' ], zip_safe=False)