### Start simple server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Starts a simple server. ```APIDOC ## PUT /v1/{project_id}/simple-servers/start ### Description Start simple server ### Method PUT ### Endpoint /v1/{project_id}/simple-servers/start ``` -------------------------------- ### Start Server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerApi.md Starts a stopped virtual server instance. ```APIDOC ## PUT /v1/{project_id}/servers/start ### Description Start server ### Method PUT ### Endpoint /v1/{project_id}/servers/start ### Parameters #### Path Parameters - **project_id** (string) - Required - The project id ### Response #### Success Response (200) - **ServerResponse** - Details of the started server ``` -------------------------------- ### Start Server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Starts a specified server. ```APIDOC ## PUT /v2/{projectId}/servers/{serverId}/start ### Description Start server ### Method PUT ### Endpoint /v2/{projectId}/servers/{serverId}/start ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id ### Response #### Success Response (200) - **DataResponse** - Description of the response object ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### StartServerUsingPUT2 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/SimpleServerRestControllerApi.md Starts a simple server. Requires a project ID. ```APIDOC ## StartServerUsingPUT2 ### Description Start simple server ### Method PUT ### Endpoint /v1/{project_id}/simple-servers/start ### Parameters #### Path Parameters - **projectId** (string) - Required - project id ### Response #### Success Response (200) - **DataResponseSimpleServer** (DataResponseSimpleServer) - Description not available ### Authorization No authorization required ``` -------------------------------- ### vngcloud_vserver_route_table Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_route_table.md Example of how to define a vngcloud_vserver_route_table resource with project, network, and route details. ```terraform resource "vngcloud_vserver_route_table" "route_table" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-route-table" network_id = "net-00fae478-aad2-4acb-bb10-32a4b337b45b" route { destination_cidr_block = "10.0.0.0/24" target = "10.0.0.1" } route { destination_cidr_block = "192.168.0.0/16" target = "192.168.0.1" } } ``` -------------------------------- ### vngcloud_vdb_relational_config_group Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_relational_config_group.md Example of how to create a MySQL 8.0 configuration group with specific parameters. ```terraform resource "vngcloud_vdb_relational_config_group" "mysql_8_config" { engine_type = "MySQL" engine_version = "8.0" name = "tf-mysql8" values = { "character_set_server" = "dec8", "innodb_stats_method" = "nulls_equal" } } ``` -------------------------------- ### StartDatabaseInstances1 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vdbv2/README.md Starts a relational database instance. ```APIDOC ## StartDatabaseInstances1 ### Description Starts a relational database instance. ### Method POST ### Endpoint /v1/database-instances/{instanceId}/start ``` -------------------------------- ### vngcloud_vdb_relational_backup_storage Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_relational_backup_storage.md Example of how to configure a vngcloud_vdb_relational_backup_storage resource. Ensure the backup_storage_package_id is correctly set to identify the desired storage package. ```terraform resource "vngcloud_vdb_relational_backup_storage" "rela_bk_storage" { backup_storage_package_id = data.vngcloud_vdb_backup_storage_package.db_backup_quota_200GB.id } ``` -------------------------------- ### vngcloud_vserver_volume Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_volume.md Example of how to create a vngcloud_vserver_volume resource with specified name, size, volume type, project, multi-attach setting, and zone. ```terraform resource "vngcloud_vserver_volume" "volume" { name = "example-volume" size = 20 volume_type_id = "vtype-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" multi_attach = false zone_id = "HCM03-1A" } ``` -------------------------------- ### vdb_relational_backup Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_relational_backup.md This example demonstrates how to create a vDB relational backup. It requires the backup name, instance ID, and backup type. For incremental backups, a parent ID is also necessary. ```terraform resource "vngcloud_vdb_relational_backup" "redis_4_backup" { name = "tf-redis-backup" instance_id = "db-9ecfaeca-5cdc-4ee0-a783-8cd5c494ddc3" backup_type = "INCREMENTAL" parent_id = "bk-04627eab-ffb9-4bbb-abdb-02a8d78e06c2" } ``` -------------------------------- ### StartServerUsingPUT Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerApi.md Starts a stopped server instance. ```APIDOC ## PUT /v1/servers/{projectId}/start ### Description Starts a stopped server instance. ### Method PUT ### Endpoint /v1/servers/{projectId}/start ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id #### Request Body - **updateServerRequest** (UpdateServerRequest) - Required - updateServerRequest ### Response #### Success Response (200) - **ServerResponse** (ServerResponse) - Description of the server response ### Request Example { "updateServerRequest": { "field1": "value1" } } ### Response Example { "id": "server-id-123", "status": "running" } ``` -------------------------------- ### vdb_memstore_backup_storage Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_memstore_backup_storage.md This example shows how to create a vDB Memory store backup storage resource by associating it with a specific backup storage package ID. ```terraform resource "vngcloud_vdb_memstore_backup_storage" "mem_bk_storage" { backup_storage_package_id = data.vngcloud_vdb_backup_storage_package.db_backup_quota_200GB.id } ``` -------------------------------- ### vngcloud_vserver_k8s Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_k8s.md This example demonstrates how to create a VNG Cloud VServer Kubernetes cluster using the `vngcloud_vserver_k8s` resource. Ensure all required arguments like project_id, name, k8s_version, and network details are provided. ```terraform resource "vngcloud_vserver_k8s" "k8s" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ipip_mode = "Always" name = "example-cluster" k8s_version = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" master_count = 1 node_count = 1 network_type = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" calico_cidr = "xx.xx.xx.xx/16" network_id = "net-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" subnet_id = "sub-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ssh_key_id = "ssh-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" master_flavor_id = "flav-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" node_flavor_id = "flav-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" etcd_volume_size = 20 etcd_volume_type_id = "vtype-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" boot_volume_size = 20 boot_volume_type_id = "vtype-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" docker_volume_size = 20 docker_volume_type_id = "vtype-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` -------------------------------- ### vngcloud_vserver_secgrouprule Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_secgrouprule.md This example demonstrates how to create a new ingress security group rule for a virtual server. Ensure you have the correct project and security group IDs. ```terraform resource "vngcloud_vserver_secgrouprule" "secgrouprule" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" direction ="ingress" ethertype ="IPv4" port_range_max = 65535 port_range_min = 1 protocol = "TCP" remote_ip_prefix = "0.0.0.0/0" security_group_id = "secg-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` -------------------------------- ### vngcloud_vlb_l7policy Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer_policy.md This example demonstrates how to define a vngcloud_vlb_l7policy resource with specific redirection rules. Ensure the associated load balancer and listener resources are defined. ```terraform resource "vngcloud_vlb_load_balancer" "example"{ # ... } resource "vngcloud_vlb_listener" "example" { # ... } resource "vngcloud_vlb_l7policy" "example" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" load_balancer_id = vngcloud_vlb_load_balancer.example.id listener_id = vngcloud_vlb_listener.example.id name = "example_policy" rule_type = "PATH" compare_type = "EQUAL_TO" rule_value = "www.example.com" action = "REDIRECT_TO_URL" redirect_http_code = 302 redirect_url = "https://www.example.com" keep_query_string = true } ``` -------------------------------- ### vLoadBalancer Certificate Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer_certificate.md This example demonstrates how to configure a vLoadBalancer certificate resource. It requires project ID, name, type, certificate content, and optionally private key, certificate chain, and expiration date. ```terraform resource "vngcloud_vlb_certificate" "example" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "my_ca" type = "TLS/SSL" certificate = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n" private_key = "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n" certificate_chain = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n" expiration = "2024-02-27T03:52:55.045Z" } ``` -------------------------------- ### StartServerUsingPUT1 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Starts a server. This operation requires a project ID and server ID. ```APIDOC ## PUT /servers/{serverId}/start ### Description Starts a server. ### Method PUT ### Endpoint /v1/{projectId}/servers/{serverId}/start ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id ### Response #### Success Response (200) - **DataResponse** (DataResponse) - Description of the response object ### Response Example ```json { "example": "DataResponse object" } ``` -------------------------------- ### StartServerUsingPUT2 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/SimpleServerRestControllerApi.md Starts a simple server. Requires project ID and server update request details. ```APIDOC ## StartServerUsingPUT2 ### Description Start simple server. Requires project ID and server update request details. ### Method PUT ### Endpoint /v1/projects/{projectId}/servers/start ### Parameters #### Path Parameters - **projectId** (string) - Required - project id #### Request Body - **updateServerRequest** (UpdateServerRequest) - Required - updateServerRequest ### Response #### Success Response (200) - **DataResponseSimpleServer** (DataResponse«SimpleServer») - The response contains details of the updated simple server. ``` -------------------------------- ### vngcloud_vlb_pool Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer_pool.md This example demonstrates how to create a vngcloud_vlb_pool resource. It includes configuration for the pool's project, associated load balancer, name, protocol, stickiness, algorithm, health monitor settings, and member configurations. ```terraform resource "vngcloud_vlb_load_balancer" "example"{ # ... } resource "vngcloud_vlb_pool" "example" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" load_balancer_id = vngcloud_vlb_load_balancer.example.id name = "example_Pool" protocol = "HTTP" stickiness = false algorithm = "ROUND_ROBIN" health_monitor { health_check_method = "GET" health_check_path = "/" health_check_protocol = "HTTP" healthy_threshold = 3 unhealthy_threshold = 3 interval = 30 timeout = 5 success_code = 200 http_version = "1.0" } members { backup = false ip_address = "172.17.1.4" monitor_port = 80 port = 80 weight = 1 name = "example-member" } members { backup = true ip_address = "172.17.1.8" monitor_port = 81 port = 81 weight = 1 name = "example-member1" } } ``` -------------------------------- ### vngcloud_vdb_database_package Data Source Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vdb_database_package.md Example of how to use the vngcloud_vdb_database_package data source to retrieve details for a specific MySQL database package. ```terraform data "vngcloud_vdb_database_package" "db_s_general_1x2" { engine_type = "MySQL" engine_version = "8.0" name = "db.s-general-1x2" } ``` -------------------------------- ### StartDatabaseInstances Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vdbv2/docs/MemoryStoreDatabaseAPIApi.md Starts a database instance. This operation requires a context, the database instance ID, and a request body. ```APIDOC ## POST /vdb-memory/v1/database-instances/{dbInstanceId}/start ### Description Starts a database instance. ### Method POST ### Endpoint /vdb-memory/v1/database-instances/{dbInstanceId}/start ### Parameters #### Path Parameters - **dbInstanceId** (string) - Required - The ID of the database instance. #### Request Body - **body** (string) - Required - The request body for starting the instance. ### Response #### Success Response (200) - **WrapContentListOrderResponse** - The response object indicating success. ### Authorization No authorization required ``` -------------------------------- ### vngcloud_vserver_server_group Resource Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_server_group.md This example shows how to create a VNG Cloud VServer Server Group with a description, name, policy ID, and project ID. Ensure the policy_id and project_id are valid UUIDs. ```terraform resource "vngcloud_vserver_server_group" "server_group_import" { description = "description" name = "example-server-group" policy_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" lifecycle { create_before_destroy = false } } ``` -------------------------------- ### Basic vServer Server Creation Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_server.md This example demonstrates the basic configuration for creating a vServer server. Ensure all required IDs and parameters are correctly specified. ```terraform resource "vngcloud_vserver_server" "server"{ project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-server" encryption_volume = false flavor_id = "flav-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" image_id = "img-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" network_id = "net-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" root_disk_size = 20 root_disk_type_id = "vtype-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ssh_key = "ssh-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" security_group = ["secg-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"] subnet_id = "sub-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" zone_id = "HCM03-1A" } ``` -------------------------------- ### Create a vngcloud_vserver_cluster_node_group Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_cluster_node_group.md Example of how to create a vngcloud_vserver_cluster_node_group resource with essential parameters. ```terraform resource "vngcloud_vserver_cluster_node_group" "node_group_1" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-node-group" cluster_id = "cluster-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" flavor_id = "flav-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" node_count = 1 } ``` -------------------------------- ### StartDatabaseInstances Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vdbv2/docs/MemoryStoreDatabaseAPIApi.md Starts stopped MemoryStore database instances. This operation is used to bring instances back online. ```APIDOC ## StartDatabaseInstances ### Description Starts stopped MemoryStore database instances. ### Method POST ### Endpoint /v1/dbinstances/{dbInstanceId}/start ### Parameters #### Path Parameters - **dbInstanceId** (string) - Required - The ID of the database instance to start. #### Request Body - **body** (string) - Required - The request body containing start parameters. ### Response #### Success Response (200) - **WrapContentListActionDbInstancesResponse** - The response object indicating the result of the start operation. ``` -------------------------------- ### Basic vngcloud_vserver_sshkey Resource Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_sshkey.md Example of how to declare a vngcloud_vserver_sshkey resource with required arguments. ```terraform resource "vngcloud_vserver_sshkey" "sshkey" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-sshkey" public_key = "ssh-rsa ...." } ``` -------------------------------- ### vdb_memstore_backup Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_memstore_backup.md Basic configuration for creating a vDB Memory store backup. Ensure the instance_id corresponds to an existing Memory store instance. ```terraform resource "vngcloud_vdb_memstore_backup" "redis_backup" { name = "tf-redis-backup" instance_id = "db-9ecfaeca-5cdc-4ee0-a783-8cd5c494ddc3" } ``` -------------------------------- ### Create a vngcloud_vserver_vip resource Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_vip.md Example of how to create a Virtual IP Address resource with project ID, name, description, and subnet ID. ```terraform resource "vngcloud_vserver_vip" "vip" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-vip" description = "Example VIP" subnet_id = "sub-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` -------------------------------- ### StartDatabaseInstances1 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vdbv2/docs/RelationalDatabaseAPIApi.md Starts a stopped database instance. This operation makes the database available for connections. ```APIDOC ## Post /v1/database-instances/{instanceId}/start ### Description Starts a stopped database instance. ### Method POST ### Endpoint /v1/database-instances/{instanceId}/start ### Parameters #### Path Parameters - **instanceId** (string) - Required - The ID of the database instance to start. #### Query Parameters None #### Request Body None explicitly defined in the provided documentation. ### Response #### Success Response (200) - **object** - Confirmation of the start operation. #### Response Example ```json { "message": "Database instance start initiated." } ``` ``` -------------------------------- ### Get simple server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details for a specific simple server. ```APIDOC ## GET /v1/{project_id}/simple-servers/{server_id} ### Description Get simple server ### Method GET ### Endpoint /v1/{project_id}/simple-servers/{server_id} ``` -------------------------------- ### Example Usage Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vserver_image.md Use the vngcloud_vserver_image data source to retrieve details about a specific VServer image by its name, project ID, and flavor zone ID. ```terraform data "vngcloud_vserver_image" "image" { name = "1-Ubuntu-14.04.5x64" project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" flavor_zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` -------------------------------- ### Example Usage of vngcloud_vdb_backup_storage_package Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vdb_backup_storage_package.md This snippet shows how to use the vngcloud_vdb_backup_storage_package data source to retrieve a specific backup storage package by its name. ```terraform data "vngcloud_vdb_backup_storage_package" "db_backup_quota_100GB" { name = "db.backup.quota.100GB" } ``` -------------------------------- ### Get console simple server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves the console access details for a simple server. ```APIDOC ## GET /v1/{project_id}/simple-servers/{server_id}/console ### Description Get console simple server ### Method GET ### Endpoint /v1/{project_id}/simple-servers/{server_id}/console ``` -------------------------------- ### vngcloud_vserver_k8s_version Data Source Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vserver_k8s_version.md Use this data source to get the ID of a VNG Cloud Kubernetes version by its name and project ID. ```terraform data "vngcloud_vserver_k8s_version" "k8sVersion" { name = "Version 1.18.7" project_id = var.project_id } ``` -------------------------------- ### vngcloud_vserver_k8s_network_type Data Source Example Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vserver_k8s_network_type.md Use this data source to get the ID of a VNG Cloud VServer K8s Network Type by its name and project ID. ```terraform data "vngcloud_vserver_k8s_network_type" "k8sNetworkType" { name = "Calico" project_id = var.project_id } ``` -------------------------------- ### CreateImageUsingPOST Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/UserImageRestControllerV2Api.md Starts the creation of a user image for a server within a specified project. This operation requires user image details and server information. ```APIDOC ## POST /v2/{projectId}/user-images/servers/{serverId} ### Description Starts the creation of a user image for a server within a specified project. ### Method POST ### Endpoint /v2/{projectId}/user-images/servers/{serverId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id #### Request Body - **createUserImageRequest** (CreateUserImageRequest) - Required - User image creation request details ### Response #### Success Response (200) - **DataResponse** - Response containing data related to the image creation process. ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "example": "response body" } ``` -------------------------------- ### ListProtocolUsingGET Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ProtocolRestControllerV2Api.md Lists all supported protocols. This is a simple GET request that returns a list of available protocols. ```APIDOC ## Get /v2/protocols ### Description List Protocol Supported ### Method GET ### Endpoint /v2/protocols ### Parameters ### Request Body ### Request Example ### Response #### Success Response (200) - **DataResponseJsonObject** (object) - A JSON object containing the list of protocols. #### Response Example { "example": "response body" } ``` -------------------------------- ### Create a VLB Load Balancer Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer.md Example of how to create a VLB load balancer with specified project, name, package, scheme, subnet, type, and zone. ```terraform resource "vngcloud_vlb_load_balancer" "example"{ project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example_lb" package_id = "f8e62cf2-xxxx-xxxx-xxxx-xxxxxxxxxxxx" scheme = "Internet" subnet_id = "sub-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" type = "Layer 7" zone_id = "HCM03-1A" } ``` -------------------------------- ### Get List of Packages Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vloadbalancing/docs/LoadBalancerRestControllerV2Api.md Retrieves a paginated list of available load balancer packages. ```APIDOC ## GetPackagesUsingGET ### Description Retrieves a paginated list of available load balancer packages. ### Method GET ### Endpoint /packages ### Parameters #### Query Parameters - **portalUserId** (int32) - Required - The ID of the portal user. - **projectId** (string) - Required - The ID of the project. #### Request Headers - **Authorization** (string) - Required - Access Token ### Response #### Success Response (200) - **PagingLoadBalancerPackage** - Contains a paginated list of load balancer packages. ``` -------------------------------- ### Importing a vngcloud_vserver_route_table Resource Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_route_table.md Example of how to import an existing route table using its project and route table IDs. ```terraform $ terraform import vngcloud_vserver_route_table.route_table pro-26151c78-0470-4b4c-88a1-6ec41ef29492:rt-dcca77e6-4f5e-455b-9d9c-d0a0387a5ae2 ``` -------------------------------- ### Attach a volume to a VServer Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vserver_volume_attach.md This example demonstrates how to attach a volume to a VNG Cloud VServer using the `vngcloud_vserver_volume_attach` resource. Ensure you have the correct project, volume, and server IDs. ```terraform resource "vngcloud_vserver_volume_attach" "attach_volume" { project_id = "pro-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" volume_id = "vol-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" server_id = "ins-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ``` -------------------------------- ### Go Installation Import Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vks/README.md To use the generated Go API client, place the package within your project and add the provided import path to your Go source files. ```Go import "./swagger" ``` -------------------------------- ### Import a VLB Load Balancer Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer.md Demonstrates how to import an existing VLB load balancer using its project ID and load balancer ID. ```bash $ terraform import vngcloud_vlb_load_balancer.example pro-26151c78-0470-4b4c-88a1-6ec41ef29492:lb-38038860-3d4b-4df2-a10e-a03efbd39ac4 ``` -------------------------------- ### CreateServerUsingPOST1 Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Creates a new server instance. Requires project ID and server creation request details. ```APIDOC ## CreateServerUsingPOST1 Create server ### Description Creates a new server instance. ### Method POST ### Endpoint /v1/servers/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id #### Request Body - **createServerRequest** (CreateServerRequest) - Required - Details for creating the server ### Response #### Success Response (200) - **DataResponse** (DataResponse) - Response containing data about the created server ### Request Example ```json { "example": "createServerRequest" } ``` ### Response Example ```json { "example": "DataResponse" } ``` ``` -------------------------------- ### Create a vDB Relational Database Instance Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vdb_relational_database.md Example of creating a MySQL 8.0 relational database instance with specified configurations, including backup settings, network details, and volume specifications. Ensure all required arguments like `config_id`, `package_id`, and `volume_type` are correctly referenced. ```terraform resource "vngcloud_vdb_relational_database" "mysql_8_db" { action = "start" backup_auto = true backup_duration = 2 backup_time = "00:00" config_id = vngcloud_vdb_relational_config_group.mysql_8_config.id db_name = "dbname" engine_type = "MySQL" engine_version = "8.0" name = "tf-db-instance" subnet_id = "sub-c6071119-1a44-42cf-bc03-bb43e584242a" package_id = data.vngcloud_vdb_database_package.db_new_s_general_1x2.id password = "abcd1234" public_access = true username = "userabcd" volume_size = 20 volume_type = data.vngcloud_vdb_database_volume_type.Gen2_NVMe2_IOPS3000.id allowed_ip_prefix = ["10.10.0.0/24"] } ``` -------------------------------- ### Create Server Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerApi.md Creates a new virtual server instance within a specified project. ```APIDOC ## POST /v1/{project_id}/servers ### Description Create server ### Method POST ### Endpoint /v1/{project_id}/servers ### Parameters #### Path Parameters - **project_id** (string) - Required - The project id #### Request Body - **createServerRequest** (CreateServerRequest) - Required - Details for server creation ### Response #### Success Response (200) - **ServerResponse** - Details of the created server ``` -------------------------------- ### Get Pool Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details of a specific pool. ```APIDOC ## GET /v1/{project_id}/pools/{pool_id} ### Description Gets a specific pool. ### Method GET ### Endpoint /v1/{project_id}/pools/{pool_id} ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. - **pool_id** (string) - Required - The ID of the pool. ``` -------------------------------- ### Get Listener Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details of a specific listener. ```APIDOC ## GET /v1/{project_id}/listeners/{listener_id} ### Description Gets a specific listener. ### Method GET ### Endpoint /v1/{project_id}/listeners/{listener_id} ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. - **listener_id** (string) - Required - The ID of the listener. ``` -------------------------------- ### Get Project Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details of a specific project by its ID. ```APIDOC ## GET /v1/projects/{project_id} ### Description getProject ### Method GET ### Endpoint /v1/projects/{project_id} ``` -------------------------------- ### Get K8s Config Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/K8SClusterRestControllerV2Api.md Retrieves the Kubernetes configuration for a project. ```APIDOC ## GetK8sConfigUsingGET ### Description Get K8s Config ### Method GET ### Endpoint /v2/projects/{projectId}/k8s-config ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id ### Response #### Success Response (200) - **string** - The K8s configuration ``` -------------------------------- ### Importing a vngcloud_vlb_l7policy Resource Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vlb_loadbalancer_policy.md This example shows how to import an existing vngcloud_vlb_l7policy resource using its unique identifier, which includes project, load balancer, listener, and policy IDs. ```bash $ terraform import vngcloud_vlb_l7policy.example pro-26151c78-0470-4b4c-88a1-6ec41ef29492:lb-4e4e3476-17f0-48d1-a636-188d6584a0db:lis-d8cab8d2-5060-4d05-9ba8-f62b8dcacd02:policy-bb6f879f-8939-45db-996d-a7e0b2faa2a6 ``` -------------------------------- ### Get Cluster Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/K8SClusterRestControllerV2Api.md Retrieves information about a specific Kubernetes cluster. ```APIDOC ## GetClusterUsingGET ### Description Get cluster ### Method GET ### Endpoint /v2/projects/{projectId}/clusters/{clusterId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The project Id - **clusterId** (string) - Required - The cluster id ### Response #### Success Response (200) - **DataResponseClusterDto** - The cluster details ``` -------------------------------- ### Example Usage of vngcloud_vlb_lb_packages Data Source Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/data-sources/vlb_lb_packages.md This snippet demonstrates how to use the vngcloud_vlb_lb_packages data source to fetch load balancer package information for a given project. It also shows how to output the retrieved package details. ```terraform data "vngcloud_vlb_lb_packages" "lb_packages" { project_id = var.project_id } output "lb_packages" { value = data.vngcloud_vlb_lb_packages.lb_packages.packages } ``` -------------------------------- ### UpdateServerUsingPUT Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerApi.md Updates server properties. This can be used for starting or stopping a server. ```APIDOC ## PUT /v1/servers/{projectId}/update ### Description Updates server properties. This can be used for starting or stopping a server. ### Method PUT ### Endpoint /v1/servers/{projectId}/update ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id #### Request Body - **updateServerRequest** (UpdateServerRequest) - Required - updateServerRequest ### Response #### Success Response (200) - **ServerResponse** (ServerResponse) - Description of the server response ### Request Example { "updateServerRequest": { "field1": "value1" } } ### Response Example { "field1": "value1" } ``` -------------------------------- ### ListFlavorForSimpleServerUsingGET Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/FlavorRestControllerApi.md Lists available flavors suitable for simple servers within a project. ```APIDOC ## ListFlavorForSimpleServerUsingGET ### Description Lists flavors that are suitable for simple servers within a specified project. ### Method GET ### Endpoint /v1/{project_id}/flavors/simple-servers ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **FlavorResponse** - Details of flavors available for simple servers. ``` -------------------------------- ### Get SSH key Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details for a specific SSH key. ```APIDOC ## GET /v1/{project_id}/ssh_keys/{ssh_key_id} ### Description Get SSH key ### Method GET ### Endpoint /v1/{project_id}/ssh_keys/{ssh_key_id} ``` -------------------------------- ### Get simple volume Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details for a specific simple volume. ```APIDOC ## GET /v1/{project_id}/simple-volumes/{volume_id} ### Description Get simple volume ### Method GET ### Endpoint /v1/{project_id}/simple-volumes/{volume_id} ``` -------------------------------- ### CreateServerUsingPOST Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Creates a new server within a project. ```APIDOC ## POST /v1/{project_id}/servers ### Description Creates a new server within a project. ### Method POST ### Endpoint /v1/{project_id}/servers ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. ``` -------------------------------- ### Get Route Table Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves a specific route table by its UUID. ```APIDOC ## GET /v1/{project_id}/route-table/{uuid} ### Description Get route-table by uuid ### Method GET ### Endpoint /v1/{project_id}/route-table/{uuid} ``` -------------------------------- ### Get Packages Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves a list of available load balancer packages. ```APIDOC ## GET /v1/{project_id}/load-balancers/packages ### Description Gets a list of packages for load balancers. ### Method GET ### Endpoint /v1/{project_id}/load-balancers/packages ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. ``` -------------------------------- ### Create Project Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Creates a new project within the VNGCloud environment. ```APIDOC ## POST /v1/projects ### Description createProject ### Method POST ### Endpoint /v1/projects ``` -------------------------------- ### Get Console URL Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Retrieves the console URL for a specified server. ```APIDOC ## GET /v2/{projectId}/servers/{serverId}/console-url ### Description Get console url ### Method GET ### Endpoint /v2/{projectId}/servers/{serverId}/console-url ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id ### Response #### Success Response (200) - **DataResponse** - Description of the response object ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Load Balancer Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details of a specific load balancer. ```APIDOC ## GET /v1/{project_id}/load-balancers/{load_balancer_id} ### Description Gets a specific load balancer. ### Method GET ### Endpoint /v1/{project_id}/load-balancers/{load_balancer_id} ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. - **load_balancer_id** (string) - Required - The ID of the load balancer. ``` -------------------------------- ### Create Public VKS Cluster with Autoscaling and Maintenance Window Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/docs/resources/vks_cluster.md This example demonstrates creating a public VKS cluster with autoscaling enabled for node groups and configuring a maintenance window for automatic upgrades. Ensure necessary network and image IDs are provided. ```hcl resource "vngcloud_vks_cluster" "primary" { name = "cluster-demo" description = "Cluster create via terraform" version = "1.29.1-vks.1724605200" cidr = "172.16.0.0/16" enable_private_cluster = false network_type = "CALICO" vpc_id = "net-70ef12d4-d619-43fc-88f0-1c1511683123" az_strategy = "SINGLE" subnet_id = "sub-0725ef54-a32e-404c-96f2-34745239c123" enabled_load_balancer_plugin = true enabled_block_store_csi_plugin = true auto_upgrade_config { weekdays = "mon,tue,wed,thu,fri" time = "22:00" } } resource "vngcloud_vks_cluster_node_group" "primary" { cluster_id = vngcloud_vks_cluster.primary.id name = "nodegroup1" num_nodes = 3 auto_scale_config { min_size = 0 max_size = 5 } upgrade_config { strategy = "SURGE" max_surge = 1 max_unavailable = 0 } image_id = "img-108b3a77-ab58-4000-9b3e-190d0b4b07fc" flavor_id = "flav-9e88cfb4-ec31-4ad4-8ba5-243459f6d123" disk_size = 50 disk_type = "vtype-61c3fc5b-f4e9-45b4-8957-8aa7b6029018" enable_private_nodes = false ssh_key_id= "ssh-f923c53c-cba7-4131-9f86-175d04ae2123" security_groups = ["secg-faf05344-fbd6-4f10-80a2-cda08d15ba5e"] labels = { "test" = "terraform" } taint { key = "key1" value = "value1" effect = "PreferNoSchedule" } } ``` -------------------------------- ### Get Console Log Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Retrieves the console log for a specified server. ```APIDOC ## GET /v2/{projectId}/servers/{serverId}/console-log ### Description Get console log ### Method GET ### Endpoint /v2/{projectId}/servers/{serverId}/console-log ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id ### Response #### Success Response (200) - **DataResponse** - Description of the response object ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Health Monitor Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/README.md Retrieves details of a specific health monitor. ```APIDOC ## GET /v1/{project_id}/health-monitors/{health_monitor_id} ### Description Retrieves details of a specific health monitor. ### Method GET ### Endpoint /v1/{project_id}/health-monitors/{health_monitor_id} ### Parameters #### Path Parameters - **project_id** (string) - Required - The ID of the project. - **health_monitor_id** (string) - Required - The ID of the health monitor. ``` -------------------------------- ### Get Volume by ID Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/VolumeRestControllerApi.md Retrieves a specific volume by its unique ID. ```APIDOC ## GET /v1/{project_id}/volumes/{volume_id} ### Description Get volume by id ### Method GET ### Endpoint /v1/{project_id}/volumes/{volume_id} ### Parameters #### Path Parameters - **project_id** (string) - Required - The project id - **volume_id** (string) - Required - The volume id ### Response #### Success Response (200) - **VolumeResponse** (VolumeResponse) - Description of the response object ### Authorization No authorization required ``` -------------------------------- ### ListCustomUsingGET Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/FlavorZoneRestControllerApi.md Lists custom flavor zones available for a given project. ```APIDOC ## ListCustomUsingGET /v1/{project_id}/flavor_zones/customs ### Description Lists custom flavor zones available for a given project. ### Method GET ### Endpoint /v1/{project_id}/flavor_zones/customs ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. ### Response #### Success Response (200) - **[]FlavorZone** - A list of custom flavor zones. ``` -------------------------------- ### GetEngine Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vdbv2/README.md Retrieves a list of supported database engines. ```APIDOC ## GET /vdb-memory/v1/database/engine ### Description Retrieves a list of supported database engines. ### Method GET ### Endpoint /vdb-memory/v1/database/engine ``` -------------------------------- ### Get Flavor Limit Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/K8SClusterRestControllerV2Api.md Retrieves the flavor limit information for a project. ```APIDOC ## GetFlavorLimitUsingGET ### Description Get Flavor Limit ### Method GET ### Endpoint /v2/projects/{projectId}/flavor-limits ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id ### Response #### Success Response (200) - **string** - The flavor limit details ``` -------------------------------- ### Get Cluster Config Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/K8SClusterRestControllerV2Api.md Retrieves the configuration details for a Kubernetes cluster. ```APIDOC ## GetConfigUsingGET ### Description Get Config ### Method GET ### Endpoint /v2/projects/{projectId}/clusters/{clusterId}/config ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **clusterId** (string) - Required - The cluster id ### Response #### Success Response (200) - **ClusterConfigResultDto** - The cluster configuration ``` -------------------------------- ### Get All Regions Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/RegionControllerV2Api.md Retrieves a list of all available regions for a given project. ```APIDOC ## GetALlRegionUsingGET ### Description Get All Region ### Method GET ### Endpoint /v2/{projectId}/region ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. ### Return Type [DataResponseListRegionDto](DataResponse«List«RegionDto».md) ### HTTP Request Headers - **Content-Type**: Not defined - **Accept**: */* ``` -------------------------------- ### Get Specific Listener Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vloadbalancing/docs/LoadBalancerListenerRestControllerV2Api.md Retrieves details of a specific listener by its ID. ```APIDOC ## Get /v2/{projectId}/loadBalancers/{loadBalancerId}/listeners/{listenerId} ### Description Get a specific listener ### Method GET ### Endpoint /v2/{projectId}/loadBalancers/{loadBalancerId}/listeners/{listenerId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **loadBalancerId** (string) - Required - The Load Balancer id - **listenerId** (string) - Required - The listener id #### Header Parameters - **authorization** (string) - Required - Access Token - **portalUserId** (int32) - Required - portal-user-id ### Response #### Success Response (200) - **DataResponseListener** (DataResponseListener) - Description of the listener data #### Response Example ```json { "example": "response body for DataResponseListener" } ``` ``` -------------------------------- ### ListActionUsingGET Source: https://github.com/vngcloud/terraform-provider-vngcloud/blob/main/client/vserver/docs/ServerRestControllerV2Api.md Lists all actions performed on a specific server. Requires the project ID and server ID. ```APIDOC ## ListActionUsingGET ### Description List all actions of a server. ### Method GET ### Endpoint (Not specified in source, but likely related to a server resource) ### Parameters #### Path Parameters - **projectId** (string) - Required - The project id - **serverId** (string) - Required - The server id ### Response #### Success Response (200) - **DataResponseListServerAction** - Contains a list of server actions. ```