Help Center/ Database Security Service/ API Reference/ API/ Adding an RDS Database (Deprecated)
Updated on 2024-12-16 GMT+08:00

Adding an RDS Database (Deprecated)

Function

This API is used to add an RDS database.

This API is no longer maintained in V1 and will be brought offline. Use the API Adding an RDS Database of the V2 version.

Calling Method

For details, see Calling APIs.

URI

POST /v1/{project_id}/{instance_id}/dbss/audit/databases/rds

Table 1 URI parameter

Parameter

Mandatory

Parameter Type

Description

project_id

Yes

String

Project ID.

instance_id

Yes

String

Instance ID

Request Parameter

Table 2 Request header parameter

Parameter

Mandatory

Parameter Type

Description

X-Auth-Token

Yes

String

User token.

Table 3 Request body parameter

Parameter

Mandatory

Parameter Type

Description

databases

Yes

Array of databases objects

List of added databases

total_count

No

Integer

Total number

Table 4 databases

Parameter

Mandatory

Parameter Type

Description

id

Yes

String

Database ID.

db_name

Yes

String

Database name

status

Yes

String

Database status

port

Yes

String

Database port

ip

Yes

String

Database IP address

instance_name

Yes

String

DB instance name

version

Yes

String

Database version

type

Yes

String

DB type

enterprise_id

Yes

String

The enterprise project ID

enterprise_name

No

String

Enterprise project name

Response Parameters

Status code: 200

Table 5 Response body parameter

Parameter

Parameter Type

Description

illegal_db_id

Array of strings

ID of the database instance that fails to be added

legal_db_id

Array of strings

ID of the database instance that is successfully added

Status code: 400

Table 6 Response body parameter

Parameter

Parameter Type

Description

error

Object

Error message.

Table 7 ErrorDetail

Parameter

Parameter Type

Description

error_code

String

Error code

error_msg

String

Error message

Status code: 403

Table 8 Response body parameters

Parameter

Parameter Type

Description

error

Object

Error message.

Table 9 ErrorDetail

Parameter

Parameter Type

Description

error_code

String

Error code

error_msg

String

Error message

Status code: 500

Table 10 Response body parameter

Parameter

Parameter Type

Description

error

Object

Error message.

Table 11 ErrorDetail

Parameter

Parameter Type

Description

error_code

String

Error code

error_msg

String

Error message

Example request

/v1/{project_id}/{instance_id}/dbss/audit/databases/rds

{
  "databases" : [ {
    "id" : "123751d3ee2f47aea64822e98318c6a8in01",
    "db_name" : "rds1",
    "status" : "ACTIVE",
    "port" : "3306",
    "ip" : "192.168.0.119",
    "instance_name" : "rds1",
    "version" : "8.0",
    "type" : "MySQL",
    "enterprise_id" : "0",
    "enterprise_name" : "default"
  }, {
    "id" : "2343f7285d684fed8b09fac201c3fc7ain01",
    "db_name" : "rds2",
    "status" : "ACTIVE",
    "port" : "3306",
    "ip" : "192.168.0.92",
    "instance_name" : "rds2",
    "version" : "8.0",
    "type" : "MySQL",
    "enterprise_id" : "0",
    "enterprise_name" : "default"
  } ]
}

Response Examples

Status code: 200

Execution succeeded.

{
  "illegal_db_id" : [ ],
  "legal_db_id" : [ "123751d3ee2f47aea64822e98318c6a8in01", "2343f7285d684fed8b09fac201c3fc7ain01" ]
}

Status code: 400

Failed

{
  "error" : {
    "error_code" : "DBSS.XXXX",
    "error_msg" : "XXX"
  }
}

Example SDK Code

The sample code is as follows.

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.dbss.v1.region.DbssRegion;
import com.huaweicloud.sdk.dbss.v1.*;
import com.huaweicloud.sdk.dbss.v1.model.*;

import java.util.List;
import java.util.ArrayList;

public class AddRdsNoAgentDatabaseSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        DbssClient client = DbssClient.newBuilder()
                .withCredential(auth)
                .withRegion(DbssRegion.valueOf("xx-xx"))
                .build();
        AddRdsNoAgentDatabaseRequest request = new AddRdsNoAgentDatabaseRequest();
        RdsNoAgentDbRequest body = new RdsNoAgentDbRequest();
        List<RdsNoAgentDbRequestDatabases> listbodyDatabases = new ArrayList<>();
        listbodyDatabases.add(
            new RdsNoAgentDbRequestDatabases()
                .withId("123751d3ee2f47aea64822e98318c6a8in01")
                .withDbName("rds1")
                .withStatus("ACTIVE")
                .withPort("3306")
                .withIp("192.168.0.119")
                .withInstanceName("rds1")
                .withVersion("8.0")
                .withType("MySQL")
                .withEnterpriseId("0")
                .withEnterpriseName("default")
        );
        listbodyDatabases.add(
            new RdsNoAgentDbRequestDatabases()
                .withId("2343f7285d684fed8b09fac201c3fc7ain01")
                .withDbName("rds2")
                .withStatus("ACTIVE")
                .withPort("3306")
                .withIp("192.168.0.92")
                .withInstanceName("rds2")
                .withVersion("8.0")
                .withType("MySQL")
                .withEnterpriseId("0")
                .withEnterpriseName("default")
        );
        body.withDatabases(listbodyDatabases);
        request.withBody(body);
        try {
            AddRdsNoAgentDatabaseResponse response = client.addRdsNoAgentDatabase(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdbss.v1.region.dbss_region import DbssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdbss.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.getenv("CLOUD_SDK_AK")
    sk = os.getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = DbssClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DbssRegion.value_of("xx-xx")) \
        .build()

    try:
        request = AddRdsNoAgentDatabaseRequest()
        listDatabasesbody = [
            RdsNoAgentDbRequestDatabases(
                id="123751d3ee2f47aea64822e98318c6a8in01",
                db_name="rds1",
                status="ACTIVE",
                port="3306",
                ip="192.168.0.119",
                instance_name="rds1",
                version="8.0",
                type="MySQL",
                enterprise_id="0",
                enterprise_name="default"
            ),
            RdsNoAgentDbRequestDatabases(
                id="2343f7285d684fed8b09fac201c3fc7ain01",
                db_name="rds2",
                status="ACTIVE",
                port="3306",
                ip="192.168.0.92",
                instance_name="rds2",
                version="8.0",
                type="MySQL",
                enterprise_id="0",
                enterprise_name="default"
            )
        ]
        request.body = RdsNoAgentDbRequest(
            databases=listDatabasesbody
        )
        response = client.add_rds_no_agent_database(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dbss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := dbss.NewDbssClient(
        dbss.DbssClientBuilder().
            WithRegion(region.ValueOf("xx-xx")).
            WithCredential(auth).
            Build())

    request := &model.AddRdsNoAgentDatabaseRequest{}
	enterpriseNameDatabases:= "default"
	enterpriseNameDatabases1:= "default"
	var listDatabasesbody = []model.RdsNoAgentDbRequestDatabases{
        {
            Id: "123751d3ee2f47aea64822e98318c6a8in01",
            DbName: "rds1",
            Status: "ACTIVE",
            Port: "3306",
            Ip: "192.168.0.119",
            InstanceName: "rds1",
            Version: "8.0",
            Type: "MySQL",
            EnterpriseId: "0",
            EnterpriseName: &enterpriseNameDatabases,
        },
        {
            Id: "2343f7285d684fed8b09fac201c3fc7ain01",
            DbName: "rds2",
            Status: "ACTIVE",
            Port: "3306",
            Ip: "192.168.0.92",
            InstanceName: "rds2",
            Version: "8.0",
            Type: "MySQL",
            EnterpriseId: "0",
            EnterpriseName: &enterpriseNameDatabases1,
        },
    }
	request.Body = &model.RdsNoAgentDbRequest{
		Databases: listDatabasesbody,
	}
	response, err := client.AddRdsNoAgentDatabase(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More

For more SDK code examples in various programming languages, see the Sample Code tab on the right of the API Explorer page, which can automatically generate the corresponding SDK code examples.

Status Code

Status Code

Description

200

Request succeeded.

400

Failed

403

Authentication failed.

500

Server error.

Error Codes

For details, see Error Codes.