@@ -121,31 +122,26 @@ GET /v3.0/project/regions "resultMessage": "SUCCESS", "isSuccessful": true }, - "regions": [ - { - "regionCode": "KR1", - "isEnabled": true - }, - { - "regionCode": "KR2", - "isEnabled": true - }, + "members": [ { - "regionCode": "JP1", - "isEnabled": true + "memberId": "550e8400-e29b-41d4-a716-446655440000", + "memberName": "memberName-example", + "emailAddress": "emailAddress-example", + "phoneNumber": "phoneNumber-example" } ] } ``` +
@@ -172,12 +166,10 @@ GET /v3.0/project/members
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "members": [
+ "regions": [
{
- "memberId": "1b1d3627-507a-49ea-8cb7-c86dfa9caa58",
- "memberName": "홍길동",
- "emailAddress": "gildong.hong@nhn.com",
- "phoneNumber": "+821012345678"
+ "regionCode": "KR1",
+ "isEnabled": false
}
]
}
@@ -202,13 +194,13 @@ GET /v3.0/db-flavors
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------|------|--------|-----------------|
-| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
-| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
-| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
-| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
+| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
+| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
+| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
@@ -222,9 +214,9 @@ GET /v3.0/db-flavors
},
"dbFlavors": [
{
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbFlavorName": "m2.c1m2",
- "ram": 2048,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbFlavorName": "dbFlavorName-example",
+ "ram": 1,
"vcpus": 1
}
]
@@ -250,14 +242,14 @@ GET /v3.0/network/subnets
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------|------|---------|------------------|
-| subnets | Body | Array | 서브넷 목록 |
-| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
-| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
-| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
-| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
-| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| subnets | Body | Array | 서브넷 목록 |
+| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
+| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
+| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
+| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
+| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
@@ -271,11 +263,11 @@ GET /v3.0/network/subnets
},
"subnets": [
{
- "subnetId": "1b2a9b23-0725-4b92-8c78-35db66b8ad9f",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/24",
- "usingGateway": true,
- "availableIpCount": 240
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example",
+ "usingGateway": false,
+ "availableIpCount": 1
}
]
}
@@ -300,11 +292,11 @@ GET /v3.0/db-versions
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|---------|-----------------------|
-| dbVersions | Body | Array | DB 엔진 목록 |
-| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
-| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbVersions | Body | Array | DB 엔진 목록 |
+| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
+| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
| dbVersions.restorableFromObs | Body | Boolean | 오브젝트 스토리지로부터 복원 가능 여부 |
@@ -360,10 +352,7 @@ GET /v3.0/storage-types
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageTypes": [
- "General SSD",
- "General HDD"
- ]
+ "storageTypes": []
}
```
@@ -372,7 +361,7 @@ GET /v3.0/storage-types
---
-### 데이터 스토리지 목록 보기
+### 스토리지 목록 보기
```http
GET /v3.0/storages
@@ -384,9 +373,9 @@ GET /v3.0/storages
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------|------|-------|-------------|
-| storages | Body | Array | 데이터 스토리지 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storages | Body | Array | 스토리지 목록 |
@@ -398,10 +387,7 @@ GET /v3.0/storages
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storages": [
- "General SSD",
- "General HDD"
- ]
+ "storages": []
}
```
@@ -439,21 +425,21 @@ GET /v3.0/jobs/{jobId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------|-----|------|----|---------|
-| jobId | URL | UUID | O | 작업의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| jobId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------------|------|----------|-----------------------------------|
-| jobId | Body | UUID | 작업의 식별자 |
-| jobStatus | Body | Enum | 작업의 현재 상태 |
-| resourceRelations | Body | Array | 연관 리소스 목록 |
-| resourceRelations.resourceType | Body | Enum | 연관 리소스 유형 |
-| resourceRelations.resourceId | Body | UUID | 연관 리소스의 식별자 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+| jobStatus | Body | Enum | 작업의 현재 상태
@@ -465,16 +451,16 @@ GET /v3.0/jobs/{jobId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "jobId": "0ddb042c-5af6-43fb-a914-f4dd0540eb7c",
- "jobStatus": "RUNNING",
+ "jobId": "550e8400-e29b-41d4-a716-446655440000",
+ "jobStatus": "DELETED",
"resourceRelations": [
{
- "resourceType": "DB_INSTANCE",
- "resourceId": "56b39dcf-65eb-47ec-9d4f-09f160ba2266"
+ "resourceType": "resourceType-example",
+ "resourceId": "resourceId-example"
}
],
- "createdYmdt": "2023-02-22T20:47:12+09:00",
- "updatedYmdt": "2023-02-22T20:49:46+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -497,13 +483,13 @@ GET /v3.0/db-instance-groups
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------------|------|----------|--------------------------------------------------------------------------|
-| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
-| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -517,10 +503,10 @@ GET /v3.0/db-instance-groups
},
"dbInstanceGroups": [
{
- "dbInstanceGroupId": "05de0746-89fd-49c8-94f9-9c5b1df97009",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
- "createdYmdt": "2023-02-13T17:35:20+09:00",
- "updatedYmdt": "2023-02-13T17:35:20+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -541,22 +527,22 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|-----------------|
-| dbInstanceGroupId | URL | UUID | O | DB 인스턴스 그룹의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceGroupId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -568,17 +554,17 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbInstanceGroupId": "36617a8e-0df8-4b16-b6ea-6306019e95da",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
"dbInstances": [
{
- "dbInstanceId": "6d2db0ef-fe9b-4ed4-97b1-d97fcb4cf1b8",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE"
+ "dbInstanceStatus": "BEFORE_CREATE"
}
],
- "createdYmdt": "2023-03-03T17:38:14+09:00",
- "updatedYmdt": "2023-03-03T17:38:14+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -611,8 +597,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `BACKING_UP` | 백업 중 |
| `CANCELING` | 취소 중 |
| `CREATING` | 생성 중 |
-| `CREATING_SCHEMA` | DB 스키마 생성 중 |
-| `CREATING_USER` | 사용자 생성 중 |
+| `CREATING_SCHEMA` | DB 스키마 생성 중 |
+| `CREATING_USER` | 사용자 생성 중 |
| `DELETING` | 삭제 중 |
| `DELETING_SCHEMA` | DB 스키마 삭제 중 |
| `DELETING_USER` | 사용자 삭제 중 |
@@ -631,8 +617,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `STARTING` | 시작 중 |
| `STOPPING` | 정지 중 |
| `SYNCING_SCHEMA` | DB 스키마 동기화 중 |
-| `SYNCING_USER` | 사용자 동기화 중 |
-| `UPDATING_USER` | 사용자 수정 중 |
+| `SYNCING_USER` | 사용자 동기화 중 |
+| `UPDATING_USER` | 사용자 수정 중 |
### DB 인스턴스 목록 보기
@@ -646,20 +632,20 @@ GET /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstances | Body | Array | DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
-| dbInstances.dbPort | Body | Number | DB 포트 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
@@ -673,17 +659,17 @@ GET /v3.0/db-instances
},
"dbInstances": [
{
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
+ "dbInstanceStatus": "BEFORE_CREATE",
"progressStatus": "NONE",
- "createdYmdt": "2023-01-23T12:03:13+09:00",
- "updatedYmdt": "2023-02-02T17:20:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -694,83 +680,6 @@ GET /v3.0/db-instances
---
-### DB 인스턴스 상세 보기
-
-```http
-GET /v3.0/db-instances/{dbInstanceId}
-```
-
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbVersion | Body | Enum | DB 엔진 유형 |
-| dbPort | Body | Number | DB 포트 |
-| dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
-
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
- "progressStatus": "NONE",
- "dbFlavorId": "e9ed4ef6-78d7-46fa-ace9-32481e97f3b7",
- "parameterGroupId": "b03e8b13-de27-4d04-a488-ff5689589372",
- "dbSecurityGroupIds": ["01908c35-d2c9-4852-baf0-17f06ec42c03"],
- "notificationGroupIds": ["83a62a33-ddbf-4a04-8653-e54463d5b1ac"],
- "useDeletionProtection": false,
- "supportAuthenticationPlugin": true,
- "needToApplyParameterGroup": false,
- "needMigration": false,
- "supportDbVersionUpgrade": true,
- "createdYmdt": "2022-11-23T12:03:13+09:00",
- "updatedYmdt": "2022-12-02T17:20:17+09:00"
-}
-```
-
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
"userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE",
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -841,11 +756,15 @@ POST /v3.0/db-instances
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR"
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
}
]
}
@@ -857,45 +776,124 @@ POST /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "dbInstanceName": "db-instance2",
- "description": "description2",
- "dbPort": 10001,
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "dbVersion": "MYSQL_V8036",
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
"dbSecurityGroupIds": [],
- "executeBackup": true
+ "userGroupIds": [],
+ "useDeletionProtection": false
}
```
@@ -904,9 +902,7 @@ PUT /v3.0/db-instances/{dbInstanceId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
@@ -920,54 +916,15 @@ DELETE /v3.0/db-instances/{dbInstanceId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 재시작하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
@@ -978,108 +935,136 @@ POST /v3.0/db-instances/{dbInstanceId}/force-restart
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-POST /v3.0/db-instances/{dbInstanceId}/backup
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbInstanceType": "MASTER",
+ "dbInstanceStatus": "BEFORE_CREATE",
+ "progressStatus": "NONE",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "notificationGroupIds": [],
+ "useDeletionProtection": false,
+ "supportAuthenticationPlugin": false,
+ "needToApplyParameterGroup": false,
+ "needMigration": false,
+ "supportDbVersionUpgrade": false,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|-----------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| backupName | Body | String | O | 백업을 식별할 수 있는 이름 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbPort": 1,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "useDummy": false,
+ "dbSecurityGroupIds": [],
+ "executeBackup": false,
+ "useOnlineFailover": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
}
```
@@ -1088,172 +1073,71 @@ POST /v3.0/db-instances/{dbInstanceId}/backup-to-object-storage
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 복제하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/replicate
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자
```json
{
- "dbInstanceName": "db-instance-replicate",
- "description": "description",
- "dbPort": 11000,
- "network": {
- "availabilityZone": "kr-pub-a"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
},
- "storage": {
- "stroageSize": 100
- }
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info
+```json
+{
+ "backupName": "backupName"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "oldestRestorableYmdt": "2023-07-09T16:33:33+09:00",
- "latestRestorableYmdt": "2023-07-10T15:44:44+09:00",
- "restorableBackups": [
- {
- "backup": {
- "backupId": "145d889a-fe08-474f-8f58-bde576ff96a9",
- "backupName": "example-backup-name",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "dba1be25-9429-4589-9716-7fb6daad7cb9",
- "dbInstanceName": "original-db-instance-name",
- "dbVersion": "MYSQL_V8028",
- "backupType": "MANUAL",
- "backupSize": 8299904,
- "useBackupLock": true,
- "failoverCount": 0,
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 367916037,
- "createdYmdt": "2023-07-10T15:44:44+09:00",
- "updatedYmdt": "2023-07-10T15:46:07+09:00"
- },
- "restorableBinLogs": [
- "mysql-bin.000001"
- ]
- }
- ]
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1262,39 +1146,32 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info
---
-### 복원될 마지막 쿼리 조회
+### 백업 정보 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
+GET /v3.0/db-instances/{dbInstanceId}/backup-info
```
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-------|------|----|-----------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restoreType | Query | Enum | O | 복원 타입 종류
@@ -1306,8 +1183,17 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "executedYmdt": "2023-03-17T14:02:29+09:00",
- "lastQuery": "INSERT INTO `test`.`test`SET @1='0123'"
+ "backupPeriod": 1,
+ "ftwrlWaitTimeout": 1,
+ "backupRetryCount": 1,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
@@ -1316,303 +1202,100 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
---
-### 복원
+### 백업 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/restore
-```
-
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------|------|---------|----|------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restore | Body | Object | O | 복원 정보 객체 |
-| restore.restoreType | Body | Enum | O | 복원 타입 종류
-
-```json
-{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "TIMESTAMP",
- "restoreYmdt": "2023-07-10T15:44:44+09:00"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
-}
+PUT /v3.0/db-instances/{dbInstanceId}/backup-info
```
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BINLOG",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36",
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 1234567
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 0,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BACKUP",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbVersion": "MYSQL_V8028",
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "tenantId":"tenant-id",
- "username":"username",
- "password":"password",
- "targetContainer":"targetContainer",
- "objectPath":"objectPath"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -1621,30 +1304,9 @@ POST /v3.0/db-instances/restore-from-obs
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
-
----
-
-
-### DB 인스턴스 삭제 보호 설정 변경하기
-
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useDeletionProtection | Body | Boolean | O | 삭제 보호 여부 |
-
-#### 응답
-
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
@@ -1655,7 +1317,8 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1664,137 +1327,146 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
---
-### 고가용성 수정하기
+### 테스트 용 DB 이미지 메타 변경
```http
-PUT /v3.0/db-instances/{dbInstanceId}/high-availability
+PUT /v3.0/db-instances/{dbInstanceId}/change-image-meta
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|---------|----|------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useHighAvailability | Body | Boolean | O | 고가용성 사용 여부 |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/pause
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSchemas": [
+ {
+ "dbSchemaId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSchemaName": "dbSchemaName-example",
+ "dbSchemaStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/split
+```json
+{
+ "dbSchemaName": "dbSchemaName-example"
+}
```
-#### 요청
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -1806,66 +1478,43 @@ GET /v3.0/db-instances/{dbInstanceId}/storage-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageType": "General SSD",
- "storageSize": 20,
- "storageStatus": "ATTACHED"
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1877,15 +1526,17 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "backupPeriod": 1,
- "ftwrlWaitTimeout": 1800,
- "backupRetryCount": 0,
- "replicationRegion": null,
- "useBackupLock": false,
- "backupSchedules": [
+ "dbUsers": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
+ "dbUserId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbUserName": "dbUserName-example",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "dbUserStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
]
}
@@ -1894,42 +1545,37 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
```json
{
- "backupPeriod": 5,
- "useBackupLock": true,
- "backupSchedules": [
- {
- "backupWndBgnTime": "01:00:00",
- "backupWndDuration": "TWO_HOURS"
- }
- ]
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
```
@@ -1938,39 +1584,9 @@ PUT /v3.0/db-instances/{dbInstanceId}/backup-info
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 네트워크 정보 보기
-
-```http
-GET /v3.0/db-instances/{dbInstanceId}/network-info
-```
-
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------|------|--------|-----------------------------------------------------------------------------------------------------------------------------------------|
-| availabilityZone | Body | Enum | DB 인스턴스를 생성할 가용성 영역 |
-| subnet | Body | Object | 서브넷 객체 |
-| subnet.subnetId | Body | UUID | 서브넷의 식별자 |
-| subnet.subnetName | Body | UUID | 서브넷을 식별할 수 있는 이름 |
-| subnet.subnetCidr | Body | UUID | 서브넷의 CIDR |
-| endPoints | Body | Array | 접속 정보 목록 |
-| endPoints.domain | Body | String | 도메인 |
-| endPoints.ipAddress | Body | String | IP 주소 |
-| endPoints.endPointType | Body | Enum | 접속 정보 타입
@@ -1982,19 +1598,7 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "availabilityZone": "kr-pub-a",
- "subnet": {
- "subnetId": "bd453789-34ae-416c-9f78-05b9e43a46be",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/16"
- },
- "endPoints": [
- {
- "domain": "ea548a78-d85f-43b4-8ddf-c88d999b9905.internal.kr1.mysql.rds.nhncloudservice.com",
- "ipAddress": "192.168.0.2",
- "endPointType": "INTERNAL"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2003,55 +1607,26 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
---
-### 네트워크 정보 수정하기
-
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/network-info
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 사용자 목록 보기
+### DB 사용자 삭제하기
```http
-GET /v3.0/db-instances/{dbInstanceId}/db-users
+DELETE /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|----------|-----------------------------------------------------------------------------------------------------------------------------|
-| dbUsers | Body | Array | DB 사용자 목록 |
-| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
-| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
-| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
-| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입
@@ -2063,19 +1638,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbUsers": [
- {
- "dbUserId": "4b3d530b-fd02-4d59-a620-83d019a67bbb",
- "dbUserName": "db-user",
- "host": "%",
- "authorityType": "DDL",
- "dbUserStatus": "STABLE",
- "authenticationPlugin": "NATIVE",
- "tlsOption": "NONE",
- "createdYmdt": "2023-03-17T14:02:29+09:00",
- "updatedYmdt": "2023-03-17T14:02:31+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2084,36 +1647,30 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
---
-### DB 사용자 생성하기
+### DB 사용자 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-users
+PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbUserName | Body | String | O | DB 사용자 계정 이름
```json
{
- "dbUserName": "db-user",
- "dbPassword": "password",
- "host": "1.1.1.%",
- "authorityType": "CRUD",
+ "dbPassword": "dbPassword",
+ "authorityType": "CUSTOM",
"authenticationPlugin": "NATIVE",
"tlsOption": "NONE"
}
@@ -2124,99 +1681,931 @@ POST /v3.0/db-instances/{dbInstanceId}/db-users
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 사용자 수정하기
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
-```
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "useDeletionProtection": false
+}
+```
+
+
+
+```json
+{
+ "useHighAvailability": false,
+ "pingInterval": 1
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "logFiles": [
+ {
+ "logFileName": "logFileName-example",
+ "logFileType": "ERROR",
+ "logFileSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "logFileNames": [],
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "availabilityZone": "kr-pub-a",
+ "subnet": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example"
+ },
+ "endPoints": [
+ {
+ "domain": "domain-example",
+ "ipAddress": "ipAddress-example",
+ "endPointType": "endPointType-example"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "usePublicAccess": false
+}
+```
+
+
```json
{
- "authorityType": "DDL"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "network": {
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ }
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "useOnlineFailover": false,
+ "executeBackup": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "executedYmdt": "2023-12-31T15:00:00+09:00",
+ "lastQuery": "lastQuery-example"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "restoreType": "TIMESTAMP",
+ "binLog": {
+ "binLogFileName": "binLogFileName-example",
+ "binLogPosition": {
+ }
+ }
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDeletionProtection": false
+}
```
-#### 요청
+
-#### 응답
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2228,14 +2617,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSchemas": [
- {
- "dbSchemaId": "7c9a94b8-86c1-435d-8af2-82a5e9d53fd4",
- "dbSchemaName": "schema",
- "dbSchemaStatus": "STABLE",
- "createdYmdt": "2023-03-20T13:37:45+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2244,75 +2626,66 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
---
-### DB 스키마 생성하기
+### DB 인스턴스 정지하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-schemas
+POST /v3.0/db-instances/{dbInstanceId}/stop
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaName | Body | String | O | DB 스키마 이름 |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### DB 스키마 삭제하기
+
-```http
-DELETE /v3.0/db-instances/{dbInstanceId}/db-schemas/{dbSchemaId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaId | URL | UUID | O | DB 스키마의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2324,14 +2697,9 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "logFiles": [
- {
- "logFileName": "xtra_full.log-20230317",
- "logFileType": "BACKUP",
- "logFileSize": 4096,
- "createdYmdt": "2023-03-17T14:02:29+09:00"
- }
- ]
+ "storageType": "General SSD",
+ "storageSize": 1,
+ "storageStatus": "DELETED"
}
```
@@ -2340,35 +2708,25 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
---
-### 로그 파일 내보내기
+### 스토리지 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/log-files/export
+PUT /v3.0/db-instances/{dbInstanceId}/storage-info
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|--------|----|--------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| logFileNames | Body | Array | O | 로그 파일 이름 목록
```json
{
- "logFileNames": ["xtra_full.log-20230317"],
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "logs/backup"
+ "storageSize": 1
}
```
@@ -2377,9 +2735,26 @@ POST /v3.0/db-instances/{dbInstanceId}/log-files/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2443,16 +2810,16 @@ GET /v3.0/backups
"totalCounts": 1,
"backups": [
{
- "backupId": "0017f136-3e01-4530-94aa-20661afe6632",
- "backupName": "backup",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "142e6ccc-3bfb-4e1e-84f7-38861284fafd",
- "dbVersion": "MYSQL_V8028",
- "utilVersion": "8.0.28",
+ "backupId": "550e8400-e29b-41d4-a716-446655440000",
+ "backupName": "backupName-example",
+ "backupStatus": "BACKING_UP",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "utilVersion": "utilVersion-example",
"backupType": "AUTO",
- "backupSize": 4996786,
- "createdYmdt": "2023-02-21T00:35:00+09:00",
- "updatedYmdt": "2023-02-22T00:35:32+09:00"
+ "backupSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2463,6 +2830,45 @@ GET /v3.0/backups
---
+### 백업 삭제하기
+
+```http
+DELETE /v3.0/backups/{backupId}
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+
+#### 응답
+
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -2498,12 +2904,26 @@ POST /v3.0/backups/{backupId}/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-> [주의]
-> 수동 백업의 경우 백업이 수행된 DB 인스턴스가 존재하지 않으면, 백업을 오브젝트 스토리지로 내보낼 수 없습니다.
+
```json
-
{
- "dbInstanceName": "db-instance-restore",
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbPort": 10000,
- "parameterGroupId": "132d383c-38e3-468a-a826-5e9a8fff15d0",
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -2566,10 +2992,14 @@ POST /v3.0/backups/{backupId}/restore
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
+ "backupWndBgnTime": "backupWndBgnTime-example",
"backupWndDuration": "HALF_AN_HOUR"
}
]
@@ -2582,31 +3012,26 @@ POST /v3.0/backups/{backupId}/restore
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### 백업 삭제하기
+
-```http
-DELETE /v3.0/backups/{backupId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------|-----|------|----|---------|
-| backupId | URL | UUID | O | 백업의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2655,12 +3080,12 @@ GET /v3.0/db-security-groups
},
"dbSecurityGroups": [
{
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
"progressStatus": "NONE",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2022-02-19T19:18:13+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2671,42 +3096,59 @@ GET /v3.0/db-security-groups
---
-### DB 보안 그룹 상세 보기
+### DB 보안 그룹 생성하기
```http
-GET /v3.0/db-security-groups/{dbSecurityGroupId}
+POST /v3.0/db-security-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름
+
+```json
+{
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example",
+ "rules": [
+ {
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "description": "description-example"
+ }
+ ]
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|---------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
+
@@ -2718,30 +3160,7 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSecurityGroup": {
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "progressStatus": "NONE",
- "rules": [
- {
- "ruleId": "17c88ef6-95f1-4678-84f9-fee1b22e250d",
- "description": "description",
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
- ],
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2750,131 +3169,159 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
---
-### DB 보안 그룹 생성하기
+### DB 보안 그룹 삭제하기
```http
-POST /v3.0/db-security-groups
+DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | DB 보안 그룹에 대한 추가 정보 |
-| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
-| rules.description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| rules.direction | Body | Enum | O | 통신 방향
-
-```json
-{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "rules": [
- {
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0"
- }
- ]
-}
-```
+이 API는 요청 본문을 요구하지 않습니다.
-
```json
{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSecurityGroup": {
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
+ "progressStatus": "NONE",
+ "rules": [
+ {
+ "ruleId": "550e8400-e29b-41d4-a716-446655440000",
+ "description": "description-example",
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 1,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
}
```
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example"
}
```
@@ -2885,7 +3332,8 @@ DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2902,20 +3350,17 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| direction | Body | Enum | O | 통신 방향
@@ -2925,11 +3370,12 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "PORT",
- "minPort": 10000,
- "maxPort": 10000
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2938,9 +3384,26 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2976,9 +3436,12 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "DB_PORT"
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2987,32 +3450,26 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
----
-
-### DB 보안 그룹 규칙 삭제하기
+
-```http
-DELETE /v3.0/db-security-groups/{dbSecurityGroupId}/rules
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-------|-------|----|---------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| ruleIds | Query | Array | O | DB 보안 그룹 규칙의 식별자 목록 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -3057,13 +3510,13 @@ GET /v3.0/parameter-groups
},
"parameterGroups": [
{
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
"parameterGroupStatus": "STABLE",
- "createdYmdt": "2023-02-31T15:28:17+09:00",
- "updatedYmdt": "2023-02-31T15:28:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3072,44 +3525,41 @@ GET /v3.0/parameter-groups
+
+```json
+{
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036"
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|------------------|-----|------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
+
@@ -3121,91 +3571,130 @@ GET /v3.0/parameter-groups/{parameterGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "parameterGroupStatus": "STABLE",
- "parameters": [
- {
- "parameterId": "fa040b5e-f29f-46de-8f0d-bba4cb82887a",
- "parameterFileGroup": "client",
- "parameterName": "socket",
- "fileParameterName": "socket",
- "value": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "defaultValue": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "allowedValue": "",
- "updateType": "CONSTANT",
- "applyType": "BOTH"
- }
- ],
- "createdYmdt": "2023-03-13T11:02:28+09:00",
- "updatedYmdt": "2023-03-13T11:02:28+09:00"
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "parameterGroupName": "parameter-group",
- "dbVersion": "MYSQL_V8028"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "parameterGroupStatus": "STABLE",
+ "parameters": [
+ {
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterFileGroup": "CLIENT",
+ "parameterName": "parameterName-example",
+ "fileParameterName": "fileParameterName-example",
+ "value": "value-example",
+ "defaultValue": "defaultValue-example",
+ "allowedValue": "allowedValue-example",
+ "updateType": "VARIABLE",
+ "applyType": "BOTH"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
```json
{
- "parameterGroupName": "parameter-group-copy",
- "description": "copy"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3214,32 +3703,31 @@ POST /v3.0/parameter-groups/{parameterGroupId}/copy
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------|------|------|--------------|
-| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 파라미터 그룹 수정하기
+### 파라미터 그룹 복사하기
```http
-PUT /v3.0/parameter-groups/{parameterGroupId}
+POST /v3.0/parameter-groups/{parameterGroupId}/copy
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------|------|--------|----|----------------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| parameterGroupName | Body | String | X | 파라미터 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| parameterGroupName | Body | String | O | 파라미터 그룹을 식별할 수 있는 이름
```json
{
- "parameterGroupName": "parameter-group"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3248,7 +3736,9 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
@@ -3259,7 +3749,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3276,12 +3767,12 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------------|------|--------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
-| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
-| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
+| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
+| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
@@ -3290,8 +3781,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
{
"modifiedParameters": [
{
- "parameterId": "3abac558-7274-44e1-9f4a-f100f53f67ba",
- "value": "0"
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "value": "value-example"
}
]
}
@@ -3304,39 +3795,49 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
이 API는 응답 본문을 반환하지 않습니다.
-
+---
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
-}
+### 파라미터 그룹 재설정하기
+
+```http
+PUT /v3.0/parameter-groups/{parameterGroupId}/reset
```
-
@@ -3347,7 +3848,15 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/reset
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "userGroups": [
+ {
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
}
```
@@ -3356,23 +3865,39 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/reset
---
-### 파라미터 그룹 삭제하기
+### 사용자 그룹 생성하기
```http
-DELETE /v3.0/parameter-groups/{parameterGroupId}
+POST /v3.0/user-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupName | Body | String | O | 사용자 그룹을 식별할 수 있는 이름 |
+| memberIds | Body | Array | O | 프로젝트 멤버의 식별자 목록 |
+| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 포함 여부
+
+```json
+{
+ "userGroupName": "userGroupName-example",
+ "memberIds": [],
+ "selectAllYN": false
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|------------------|-----|------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
+
@@ -3383,7 +3908,8 @@ DELETE /v3.0/parameter-groups/{parameterGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3392,51 +3918,23 @@ DELETE /v3.0/parameter-groups/{parameterGroupId}
---
-## 사용자 그룹
-
-### 사용자 그룹 목록 보기
+### 사용자 그룹 삭제하기
```http
-GET /v3.0/user-groups
+DELETE /v3.0/user-groups/{userGroupId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------|------|----------|-----------------------------------|
-| userGroups | Body | Array | 사용자 그룹 목록 |
-| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
-| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
-| userGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| userGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupId | URL | UUID | O | |
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "userGroups": [
- {
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team",
- "createdYmdt": "2023-02-23T10:07:54+09:00",
- "updatedYmdt": "2023-02-26T01:15:50+09:00"
- }
- ]
-}
-```
+#### 응답
-
@@ -3476,65 +3974,21 @@ GET /v3.0/user-groups/{userGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team",
- "userGroupTypeCode": "INDIVIDUAL_MEMBER",
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example",
+ "userGroupTypeCode": "ENTIRE",
"members": [
{
- "memberId": "1321e759-2ef3-4b85-9921-b13e918b24b5"
+ "memberId": "550e8400-e29b-41d4-a716-446655440000"
}
],
- "createdYmdt": "2023-02-23T10:07:54+09:00",
- "updatedYmdt": "2023-02-26T01:15:50+09:00"
-}
-```
-
-
-
-```json
-{
- "userGroupName": "dev-team",
- "memberIds": [
- "1321e759-2ef3-4b85-9921-b13e918b24b5"
- ]
-}
-```
-
-```json
-{
- "userGroupName": "dev-team",
- "selectAllYN":true
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
-
```json
{
- "userGroupName": "dev-team",
- "memberIds": [
- "1321e759-2ef3-4b85-9921-b13e918b24b5",
- "f9064b09-2b15-442e-a4b0-3a5a2754555e"
- ]
+ "userGroupName": "userGroupName-example",
+ "memberIds": [],
+ "selectAllYN": false
}
```
@@ -3573,39 +4025,32 @@ PUT /v3.0/user-groups/{userGroupId}
이 API는 응답 본문을 반환하지 않습니다.
-
-
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
-}
-```
-
-
@@ -3616,7 +4061,18 @@ DELETE /v3.0/user-groups/{userGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "notificationGroups": [
+ {
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "notificationGroupName": "notificationGroupName-example",
+ "notifyEmail": false,
+ "notifySms": false,
+ "isEnabled": false,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
}
```
@@ -3625,30 +4081,45 @@ DELETE /v3.0/user-groups/{userGroupId}
---
-## 알림 그룹
-
-### 알림 그룹 목록 보기
+### 알림 그룹 생성하기
```http
-GET /v3.0/notification-groups
+POST /v3.0/notification-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupName | Body | String | O | 알림 그룹을 식별할 수 있는 이름
+
+```json
+{
+ "notificationGroupName": "notificationGroupName",
+ "notifyEmail": true,
+ "notifySms": true,
+ "isEnabled": true,
+ "dbInstanceIds": [],
+ "userGroupIds": []
+}
+```
+
+
@@ -3660,17 +4131,7 @@ GET /v3.0/notification-groups
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "notificationGroups": [
- {
- "notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
- "notificationGroupName": "dev-team-noti",
- "notifyEmail": true,
- "notifySms": false,
- "isEnabled": true,
- "createdYmdt": "2023-02-20T13:34:13+09:00",
- "updatedYmdt": "2023-02-20T13:34:13+09:00"
- }
- ]
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3679,6 +4140,26 @@ GET /v3.0/notification-groups
---
+### 알림 그룹 삭제하기
+
+```http
+DELETE /v3.0/notification-groups/{notificationGroupId}
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
+
+#### 응답
+
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
### 알림 그룹 상세 보기
```http
@@ -3689,27 +4170,27 @@ GET /v3.0/notification-groups/{notificationGroupId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|-----|------|----|------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------------|------|----------|-----------------------------------|
-| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
-| notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | 이메일 알림 여부 |
-| notifySms | Body | Boolean | SMS 알림 여부 |
-| isEnabled | Body | Boolean | 활성화 여부 |
-| dbInstances | Body | Array | 감시 대상 DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| userGroups | Body | Array | 사용자 그룹 목록 |
-| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
-| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
+| notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
+| notifyEmail | Body | Boolean | 이메일 알림 여부 |
+| notifySms | Body | Boolean | SMS 알림 여부 |
+| isEnabled | Body | Boolean | 활성화 여부 |
+| dbInstances | Body | Array | 감시 대상 DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
+| userGroups | Body | Array | 사용자 그룹 목록 |
+| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
+| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
@@ -3721,25 +4202,25 @@ GET /v3.0/notification-groups/{notificationGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
- "notificationGroupName": "dev-team-noti",
- "notifyEmail": true,
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "notificationGroupName": "notificationGroupName-example",
+ "notifyEmail": false,
"notifySms": false,
- "isEnabled": true,
+ "isEnabled": false,
"dbInstances": [
{
- "dbInstanceId": "ed5cb985-526f-4c54-9ae0-40288593de65",
- "dbInstanceName": "database"
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example"
}
],
"userGroups": [
{
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team"
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example"
}
],
- "createdYmdt": "2023-02-20T13:34:13+09:00",
- "updatedYmdt": "2023-02-20T13:34:13+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -3748,37 +4229,35 @@ GET /v3.0/notification-groups/{notificationGroupId}
---
-### 알림 그룹 생성하기
+### 알림 그룹 수정하기
```http
-POST /v3.0/notification-groups
+PUT /v3.0/notification-groups/{notificationGroupId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|-----------------------------|
-| notificationGroupName | Body | String | O | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | X | 이메일 알림 여부
```json
{
- "notificationGroupName": "dev-team-noti",
+ "notificationGroupName": "notificationGroupName-example",
"notifyEmail": false,
- "isEnable": true,
- "dbInstanceIds": [
- "ed5cb985-526f-4c54-9ae0-40288593de65"
- ],
- "userGroupIds": [
- "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0"
- ]
+ "notifySms": false,
+ "isEnabled": false,
+ "dbInstanceIds": [],
+ "userGroupIds": []
}
```
@@ -3787,49 +4266,45 @@ POST /v3.0/notification-groups
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|---------------------|------|------|------------|
-| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 알림 그룹 수정하기
+## 모니터링
+
+### 통계 정보 조회
```http
-PUT /v3.0/notification-groups/{notificationGroupId}
+GET /v3.0/metric-statistics
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|-----------------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
-| notificationGroupName | Body | String | X | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | X | 이메일 알림 여부 |
-| notifySms | Body | Boolean | X | SMS 알림 여부 |
-| isEnabled | Body | Boolean | X | 활성화 여부 |
-| dbInstanceIds | Body | Array | X | 감시 대상 DB 인스턴스의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+이 API는 요청 본문을 요구하지 않습니다.
-
+#### 응답
-```json
-{
- "notifyEmail": true,
- "dbInstanceIds": [
- "ed5cb985-526f-4c54-9ae0-40288593de65",
- "d51b7da0-682f-47ff-b588-b739f6adc740"
- ]
-}
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
+### Metric 목록 보기
+
+```http
+GET /v3.0/metrics
```
-
@@ -3840,7 +4315,13 @@ PUT /v3.0/notification-groups/{notificationGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "metrics": [
+ {
+ "measureName": "measureName-example",
+ "unit": "unit-example"
+ }
+ ]
}
```
@@ -3849,23 +4330,38 @@ PUT /v3.0/notification-groups/{notificationGroupId}
---
-### 알림 그룹 삭제하기
+## 이벤트
+
+### 이벤트 카테고리
+
+이벤트는 카테고리로 분류할 수 있으며 아래와 같습니다.
+
+| 이벤트 카테고리 | 설명 |
+|-------------|---------|
+| ALL | 전체 |
+| BACKUP | 백업 |
+| DB_INSTANCE | DB 인스턴스 |
+| JOB | 작업 |
+| TENANT | 테넌트 |
+| MONITORING | 모니터링 |
+
+### 구독 가능한 이벤트 코드 목록 보기
```http
-DELETE /v3.0/notification-groups/{notificationGroupId}
+GET /v3.0/event-codes
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|-----|------|----|------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
-
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| eventCodes | Body | Array | 이벤트 코드 목록 |
+| eventCodes.eventCode | Body | Enum | 이벤트 코드 |
+| eventCodes.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
@@ -3876,7 +4372,13 @@ DELETE /v3.0/notification-groups/{notificationGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "eventCodes": [
+ {
+ "eventCode": "ENUM_VALUE",
+ "eventCategoryType": "ALL"
+ }
+ ]
}
```
@@ -3885,12 +4387,10 @@ DELETE /v3.0/notification-groups/{notificationGroupId}
---
-## 모니터링
-
-### Metric 목록 보기
+### 이벤트 목록 조회
```http
-GET /v3.0/metrics
+GET /v3.0/events
```
#### 요청
@@ -3899,11 +4399,18 @@ GET /v3.0/metrics
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|---------------------|------|--------|-----------|
-| metrics | Body | Array | Metric 목록 |
-| metrics.measureName | Body | Enum | 조회 지표 유형 |
-| metrics.unit | Body | String | 측정값 단위 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 이벤트 목록 수 |
+| events | Body | Array | 이벤트 목록 |
+| events.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
@@ -3915,10 +4422,20 @@ GET /v3.0/metrics
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "metrics": [
+ "totalCounts": 1,
+ "events": [
{
- "measureName": "CPU_USAGE",
- "unit": "%"
+ "eventCategoryType": "ALL",
+ "eventCode": "ENUM_VALUE",
+ "sourceId": "sourceId-example",
+ "sourceName": "sourceName-example",
+ "messages": [
+ {
+ "langCode": "KO",
+ "message": "message-example"
+ }
+ ],
+ "eventYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3929,56 +4446,65 @@ GET /v3.0/metrics
---
-### 통계 정보 조회
+## 이벤트 구독
+
+### 이벤트 구독 목록 조회
```http
-GET /v3.0/metric-statistics
+GET /v3.0/event-subscriptions
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-------|----------|----|-----------------------------------|
-| dbInstanceId | Query | UUID | O | DB 인스턴스의 식별자 |
-| measureNames | Query | Array | O | 조회 지표 목록
```json
{
- "metricStatistics": [
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "totalCounts": 1,
+ "eventSubscriptions": [
{
- "measureName": "MYSQL_STATUS",
- "unit": "",
- "values": [
- [
- 1679298540,
- "1"
- ],
- [
- 1679298600,
- "1"
- ],
- [
- 1679298660,
- "1"
- ]
- ]
+ "eventSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
+ {
+ "sourceId": "sourceId-example",
+ "eventCategoryType": "ALL"
+ }
+ ],
+ "userGroupIds": [],
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3989,56 +4515,56 @@ GET /v3.0/metric-statistics
---
-## 이벤트
-
-### 이벤트 카테고리
-
-이벤트는 카테고리로 분류할 수 있으며 아래와 같습니다.
-
-| 이벤트 카테고리 | 설명 |
-|-------------|---------|
-| ALL | 전체 |
-| BACKUP | 백업 |
-| DB_INSTANCE | DB 인스턴스 |
-| JOB | 작업 |
-| TENANT | 테넌트 |
-| MONITORING | 모니터링 |
-
-### 이벤트 목록 조회
+### 이벤트 구독 생성하기
```http
-GET /v3.0/events
+POST /v3.0/event-subscriptions
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
+
+```json
+{
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
+ {
+ "sourceId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL"
+ }
+ ],
+ "userGroupIds": []
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-------|----------|----|--------------------------------------------------------------------------------------------------------------------------------------|
-| page | Query | Number | O | 조회할 목록의 페이지
@@ -4050,34 +4576,7 @@ GET /v3.0/events
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "totalCounts": 28,
- "events": [
- {
- "eventCategoryType": "INSTANCE",
- "eventCode": "INSTC_02_01",
- "sourceId": "76f00947-356e-4a20-8922-428368cc45ed",
- "sourceName": "db-instance",
- "messages": [
- {
- "langCode": "EN",
- "message": "DB instance started"
- },
- {
- "langCode": "JA",
- "message": "DBインスタンスの起動"
- },
- {
- "langCode": "KO",
- "message": "DB 인스턴스 시작"
- },
- {
- "langCode": "ZH",
- "message": "DB instance started"
- }
- ],
- "eventYmdt": "2023-03-20T16:31:59+09:00"
- }
- ]
+ "eventSubscriptionId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -4086,44 +4585,75 @@ GET /v3.0/events
---
-### 구독 가능한 이벤트 코드 목록 보기
+### 이벤트 구독 삭제하기
```http
-GET /v3.0/event-codes
+DELETE /v3.0/event-subscriptions/{eventSubscriptionId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventSubscriptionId | URL | UUID | O | |
+
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|-------|-------------|
-| eventCodes | Body | Array | 이벤트 코드 목록 |
-| eventCodes.eventCode | Body | Enum | 이벤트 코드 |
-| eventCodes.eventCategoryType | Body | Enum | 이벤트 카테고리 유형 |
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
+### 이벤트 구독 수정하기
+
+```http
+PUT /v3.0/event-subscriptions/{eventSubscriptionId}
+```
+
+#### 요청
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventSubscriptionId | URL | UUID | O | |
+| eventCategoryType | Body | Enum | X | 이벤트 카테고리 유형
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "eventCodes": [
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
{
- "eventCode": "INSTC_05_01",
- "eventCategoryType": "INSTANCE"
+ "sourceId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL"
}
- ]
+ ],
+ "userGroupIds": []
}
```
@@ -121,31 +122,26 @@ GET /v3.0/project/regions
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "regions": [
- {
- "regionCode": "KR1",
- "isEnabled": true
- },
- {
- "regionCode": "KR2",
- "isEnabled": true
- },
+ "members": [
{
- "regionCode": "JP1",
- "isEnabled": true
+ "memberId": "550e8400-e29b-41d4-a716-446655440000",
+ "memberName": "memberName-example",
+ "emailAddress": "emailAddress-example",
+ "phoneNumber": "phoneNumber-example"
}
]
}
```
+
@@ -172,12 +166,10 @@ GET /v3.0/project/members
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "members": [
+ "regions": [
{
- "memberId": "1b1d3627-507a-49ea-8cb7-c86dfa9caa58",
- "memberName": "홍길동",
- "emailAddress": "gildong.hong@nhn.com",
- "phoneNumber": "+821012345678"
+ "regionCode": "KR1",
+ "isEnabled": false
}
]
}
@@ -202,13 +194,13 @@ GET /v3.0/db-flavors
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------|------|--------|-----------------|
-| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
-| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
-| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
-| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
+| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
+| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
+| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
@@ -222,9 +214,9 @@ GET /v3.0/db-flavors
},
"dbFlavors": [
{
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbFlavorName": "m2.c1m2",
- "ram": 2048,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbFlavorName": "dbFlavorName-example",
+ "ram": 1,
"vcpus": 1
}
]
@@ -250,14 +242,14 @@ GET /v3.0/network/subnets
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------|------|---------|------------------|
-| subnets | Body | Array | 서브넷 목록 |
-| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
-| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
-| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
-| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
-| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| subnets | Body | Array | 서브넷 목록 |
+| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
+| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
+| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
+| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
+| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
@@ -271,11 +263,11 @@ GET /v3.0/network/subnets
},
"subnets": [
{
- "subnetId": "1b2a9b23-0725-4b92-8c78-35db66b8ad9f",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/24",
- "usingGateway": true,
- "availableIpCount": 240
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example",
+ "usingGateway": false,
+ "availableIpCount": 1
}
]
}
@@ -300,11 +292,11 @@ GET /v3.0/db-versions
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|---------|-----------------------|
-| dbVersions | Body | Array | DB 엔진 목록 |
-| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
-| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbVersions | Body | Array | DB 엔진 목록 |
+| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
+| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
| dbVersions.restorableFromObs | Body | Boolean | 오브젝트 스토리지로부터 복원 가능 여부 |
@@ -360,10 +352,7 @@ GET /v3.0/storage-types
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageTypes": [
- "General SSD",
- "General HDD"
- ]
+ "storageTypes": []
}
```
@@ -372,7 +361,7 @@ GET /v3.0/storage-types
---
-### 데이터 스토리지 목록 보기
+### 스토리지 목록 보기
```http
GET /v3.0/storages
@@ -384,9 +373,9 @@ GET /v3.0/storages
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------|------|-------|-------------|
-| storages | Body | Array | 데이터 스토리지 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storages | Body | Array | 스토리지 목록 |
@@ -398,10 +387,7 @@ GET /v3.0/storages
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storages": [
- "General SSD",
- "General HDD"
- ]
+ "storages": []
}
```
@@ -439,21 +425,21 @@ GET /v3.0/jobs/{jobId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------|-----|------|----|---------|
-| jobId | URL | UUID | O | 작업의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| jobId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------------|------|----------|-----------------------------------|
-| jobId | Body | UUID | 작업의 식별자 |
-| jobStatus | Body | Enum | 작업의 현재 상태 |
-| resourceRelations | Body | Array | 연관 리소스 목록 |
-| resourceRelations.resourceType | Body | Enum | 연관 리소스 유형 |
-| resourceRelations.resourceId | Body | UUID | 연관 리소스의 식별자 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+| jobStatus | Body | Enum | 작업의 현재 상태
@@ -465,16 +451,16 @@ GET /v3.0/jobs/{jobId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "jobId": "0ddb042c-5af6-43fb-a914-f4dd0540eb7c",
- "jobStatus": "RUNNING",
+ "jobId": "550e8400-e29b-41d4-a716-446655440000",
+ "jobStatus": "DELETED",
"resourceRelations": [
{
- "resourceType": "DB_INSTANCE",
- "resourceId": "56b39dcf-65eb-47ec-9d4f-09f160ba2266"
+ "resourceType": "resourceType-example",
+ "resourceId": "resourceId-example"
}
],
- "createdYmdt": "2023-02-22T20:47:12+09:00",
- "updatedYmdt": "2023-02-22T20:49:46+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -497,13 +483,13 @@ GET /v3.0/db-instance-groups
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------------|------|----------|--------------------------------------------------------------------------|
-| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
-| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -517,10 +503,10 @@ GET /v3.0/db-instance-groups
},
"dbInstanceGroups": [
{
- "dbInstanceGroupId": "05de0746-89fd-49c8-94f9-9c5b1df97009",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
- "createdYmdt": "2023-02-13T17:35:20+09:00",
- "updatedYmdt": "2023-02-13T17:35:20+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -541,22 +527,22 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|-----------------|
-| dbInstanceGroupId | URL | UUID | O | DB 인스턴스 그룹의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceGroupId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -568,17 +554,17 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbInstanceGroupId": "36617a8e-0df8-4b16-b6ea-6306019e95da",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
"dbInstances": [
{
- "dbInstanceId": "6d2db0ef-fe9b-4ed4-97b1-d97fcb4cf1b8",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE"
+ "dbInstanceStatus": "BEFORE_CREATE"
}
],
- "createdYmdt": "2023-03-03T17:38:14+09:00",
- "updatedYmdt": "2023-03-03T17:38:14+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -611,8 +597,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `BACKING_UP` | 백업 중 |
| `CANCELING` | 취소 중 |
| `CREATING` | 생성 중 |
-| `CREATING_SCHEMA` | DB 스키마 생성 중 |
-| `CREATING_USER` | 사용자 생성 중 |
+| `CREATING_SCHEMA` | DB 스키마 생성 중 |
+| `CREATING_USER` | 사용자 생성 중 |
| `DELETING` | 삭제 중 |
| `DELETING_SCHEMA` | DB 스키마 삭제 중 |
| `DELETING_USER` | 사용자 삭제 중 |
@@ -631,8 +617,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `STARTING` | 시작 중 |
| `STOPPING` | 정지 중 |
| `SYNCING_SCHEMA` | DB 스키마 동기화 중 |
-| `SYNCING_USER` | 사용자 동기화 중 |
-| `UPDATING_USER` | 사용자 수정 중 |
+| `SYNCING_USER` | 사용자 동기화 중 |
+| `UPDATING_USER` | 사용자 수정 중 |
### DB 인스턴스 목록 보기
@@ -646,20 +632,20 @@ GET /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstances | Body | Array | DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
-| dbInstances.dbPort | Body | Number | DB 포트 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
@@ -673,17 +659,17 @@ GET /v3.0/db-instances
},
"dbInstances": [
{
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
+ "dbInstanceStatus": "BEFORE_CREATE",
"progressStatus": "NONE",
- "createdYmdt": "2023-01-23T12:03:13+09:00",
- "updatedYmdt": "2023-02-02T17:20:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -694,83 +680,6 @@ GET /v3.0/db-instances
---
-### DB 인스턴스 상세 보기
-
-```http
-GET /v3.0/db-instances/{dbInstanceId}
-```
-
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbVersion | Body | Enum | DB 엔진 유형 |
-| dbPort | Body | Number | DB 포트 |
-| dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
-
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
- "progressStatus": "NONE",
- "dbFlavorId": "e9ed4ef6-78d7-46fa-ace9-32481e97f3b7",
- "parameterGroupId": "b03e8b13-de27-4d04-a488-ff5689589372",
- "dbSecurityGroupIds": ["01908c35-d2c9-4852-baf0-17f06ec42c03"],
- "notificationGroupIds": ["83a62a33-ddbf-4a04-8653-e54463d5b1ac"],
- "useDeletionProtection": false,
- "supportAuthenticationPlugin": true,
- "needToApplyParameterGroup": false,
- "needMigration": false,
- "supportDbVersionUpgrade": true,
- "createdYmdt": "2022-11-23T12:03:13+09:00",
- "updatedYmdt": "2022-12-02T17:20:17+09:00"
-}
-```
-
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
"userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE",
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -841,11 +756,15 @@ POST /v3.0/db-instances
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR"
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
}
]
}
@@ -857,45 +776,124 @@ POST /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "dbInstanceName": "db-instance2",
- "description": "description2",
- "dbPort": 10001,
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "dbVersion": "MYSQL_V8036",
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
"dbSecurityGroupIds": [],
- "executeBackup": true
+ "userGroupIds": [],
+ "useDeletionProtection": false
}
```
@@ -904,9 +902,7 @@ PUT /v3.0/db-instances/{dbInstanceId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
@@ -920,54 +916,15 @@ DELETE /v3.0/db-instances/{dbInstanceId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 재시작하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
@@ -978,108 +935,136 @@ POST /v3.0/db-instances/{dbInstanceId}/force-restart
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-POST /v3.0/db-instances/{dbInstanceId}/backup
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbInstanceType": "MASTER",
+ "dbInstanceStatus": "BEFORE_CREATE",
+ "progressStatus": "NONE",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "notificationGroupIds": [],
+ "useDeletionProtection": false,
+ "supportAuthenticationPlugin": false,
+ "needToApplyParameterGroup": false,
+ "needMigration": false,
+ "supportDbVersionUpgrade": false,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|-----------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| backupName | Body | String | O | 백업을 식별할 수 있는 이름 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbPort": 1,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "useDummy": false,
+ "dbSecurityGroupIds": [],
+ "executeBackup": false,
+ "useOnlineFailover": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
}
```
@@ -1088,172 +1073,71 @@ POST /v3.0/db-instances/{dbInstanceId}/backup-to-object-storage
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 복제하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/replicate
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자
```json
{
- "dbInstanceName": "db-instance-replicate",
- "description": "description",
- "dbPort": 11000,
- "network": {
- "availabilityZone": "kr-pub-a"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
},
- "storage": {
- "stroageSize": 100
- }
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info
+```json
+{
+ "backupName": "backupName"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "oldestRestorableYmdt": "2023-07-09T16:33:33+09:00",
- "latestRestorableYmdt": "2023-07-10T15:44:44+09:00",
- "restorableBackups": [
- {
- "backup": {
- "backupId": "145d889a-fe08-474f-8f58-bde576ff96a9",
- "backupName": "example-backup-name",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "dba1be25-9429-4589-9716-7fb6daad7cb9",
- "dbInstanceName": "original-db-instance-name",
- "dbVersion": "MYSQL_V8028",
- "backupType": "MANUAL",
- "backupSize": 8299904,
- "useBackupLock": true,
- "failoverCount": 0,
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 367916037,
- "createdYmdt": "2023-07-10T15:44:44+09:00",
- "updatedYmdt": "2023-07-10T15:46:07+09:00"
- },
- "restorableBinLogs": [
- "mysql-bin.000001"
- ]
- }
- ]
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1262,39 +1146,32 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info
---
-### 복원될 마지막 쿼리 조회
+### 백업 정보 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
+GET /v3.0/db-instances/{dbInstanceId}/backup-info
```
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-------|------|----|-----------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restoreType | Query | Enum | O | 복원 타입 종류
@@ -1306,8 +1183,17 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "executedYmdt": "2023-03-17T14:02:29+09:00",
- "lastQuery": "INSERT INTO `test`.`test`SET @1='0123'"
+ "backupPeriod": 1,
+ "ftwrlWaitTimeout": 1,
+ "backupRetryCount": 1,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
@@ -1316,303 +1202,100 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
---
-### 복원
+### 백업 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/restore
-```
-
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------|------|---------|----|------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restore | Body | Object | O | 복원 정보 객체 |
-| restore.restoreType | Body | Enum | O | 복원 타입 종류
-
-```json
-{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "TIMESTAMP",
- "restoreYmdt": "2023-07-10T15:44:44+09:00"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
-}
+PUT /v3.0/db-instances/{dbInstanceId}/backup-info
```
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BINLOG",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36",
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 1234567
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 0,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BACKUP",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbVersion": "MYSQL_V8028",
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "tenantId":"tenant-id",
- "username":"username",
- "password":"password",
- "targetContainer":"targetContainer",
- "objectPath":"objectPath"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -1621,30 +1304,9 @@ POST /v3.0/db-instances/restore-from-obs
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
-
----
-
-
-### DB 인스턴스 삭제 보호 설정 변경하기
-
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useDeletionProtection | Body | Boolean | O | 삭제 보호 여부 |
-
-#### 응답
-
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
@@ -1655,7 +1317,8 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1664,137 +1327,146 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
---
-### 고가용성 수정하기
+### 테스트 용 DB 이미지 메타 변경
```http
-PUT /v3.0/db-instances/{dbInstanceId}/high-availability
+PUT /v3.0/db-instances/{dbInstanceId}/change-image-meta
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|---------|----|------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useHighAvailability | Body | Boolean | O | 고가용성 사용 여부 |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/pause
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSchemas": [
+ {
+ "dbSchemaId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSchemaName": "dbSchemaName-example",
+ "dbSchemaStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/split
+```json
+{
+ "dbSchemaName": "dbSchemaName-example"
+}
```
-#### 요청
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -1806,66 +1478,43 @@ GET /v3.0/db-instances/{dbInstanceId}/storage-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageType": "General SSD",
- "storageSize": 20,
- "storageStatus": "ATTACHED"
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1877,15 +1526,17 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "backupPeriod": 1,
- "ftwrlWaitTimeout": 1800,
- "backupRetryCount": 0,
- "replicationRegion": null,
- "useBackupLock": false,
- "backupSchedules": [
+ "dbUsers": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
+ "dbUserId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbUserName": "dbUserName-example",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "dbUserStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
]
}
@@ -1894,42 +1545,37 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
```json
{
- "backupPeriod": 5,
- "useBackupLock": true,
- "backupSchedules": [
- {
- "backupWndBgnTime": "01:00:00",
- "backupWndDuration": "TWO_HOURS"
- }
- ]
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
```
@@ -1938,39 +1584,9 @@ PUT /v3.0/db-instances/{dbInstanceId}/backup-info
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 네트워크 정보 보기
-
-```http
-GET /v3.0/db-instances/{dbInstanceId}/network-info
-```
-
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------|------|--------|-----------------------------------------------------------------------------------------------------------------------------------------|
-| availabilityZone | Body | Enum | DB 인스턴스를 생성할 가용성 영역 |
-| subnet | Body | Object | 서브넷 객체 |
-| subnet.subnetId | Body | UUID | 서브넷의 식별자 |
-| subnet.subnetName | Body | UUID | 서브넷을 식별할 수 있는 이름 |
-| subnet.subnetCidr | Body | UUID | 서브넷의 CIDR |
-| endPoints | Body | Array | 접속 정보 목록 |
-| endPoints.domain | Body | String | 도메인 |
-| endPoints.ipAddress | Body | String | IP 주소 |
-| endPoints.endPointType | Body | Enum | 접속 정보 타입
@@ -1982,19 +1598,7 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "availabilityZone": "kr-pub-a",
- "subnet": {
- "subnetId": "bd453789-34ae-416c-9f78-05b9e43a46be",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/16"
- },
- "endPoints": [
- {
- "domain": "ea548a78-d85f-43b4-8ddf-c88d999b9905.internal.kr1.mysql.rds.nhncloudservice.com",
- "ipAddress": "192.168.0.2",
- "endPointType": "INTERNAL"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2003,55 +1607,26 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
---
-### 네트워크 정보 수정하기
-
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/network-info
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 사용자 목록 보기
+### DB 사용자 삭제하기
```http
-GET /v3.0/db-instances/{dbInstanceId}/db-users
+DELETE /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|----------|-----------------------------------------------------------------------------------------------------------------------------|
-| dbUsers | Body | Array | DB 사용자 목록 |
-| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
-| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
-| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
-| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입
@@ -2063,19 +1638,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbUsers": [
- {
- "dbUserId": "4b3d530b-fd02-4d59-a620-83d019a67bbb",
- "dbUserName": "db-user",
- "host": "%",
- "authorityType": "DDL",
- "dbUserStatus": "STABLE",
- "authenticationPlugin": "NATIVE",
- "tlsOption": "NONE",
- "createdYmdt": "2023-03-17T14:02:29+09:00",
- "updatedYmdt": "2023-03-17T14:02:31+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2084,36 +1647,30 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
---
-### DB 사용자 생성하기
+### DB 사용자 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-users
+PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbUserName | Body | String | O | DB 사용자 계정 이름
```json
{
- "dbUserName": "db-user",
- "dbPassword": "password",
- "host": "1.1.1.%",
- "authorityType": "CRUD",
+ "dbPassword": "dbPassword",
+ "authorityType": "CUSTOM",
"authenticationPlugin": "NATIVE",
"tlsOption": "NONE"
}
@@ -2124,99 +1681,931 @@ POST /v3.0/db-instances/{dbInstanceId}/db-users
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 사용자 수정하기
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
-```
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "useDeletionProtection": false
+}
+```
+
+
+
+```json
+{
+ "useHighAvailability": false,
+ "pingInterval": 1
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "logFiles": [
+ {
+ "logFileName": "logFileName-example",
+ "logFileType": "ERROR",
+ "logFileSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "logFileNames": [],
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "availabilityZone": "kr-pub-a",
+ "subnet": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example"
+ },
+ "endPoints": [
+ {
+ "domain": "domain-example",
+ "ipAddress": "ipAddress-example",
+ "endPointType": "endPointType-example"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "usePublicAccess": false
+}
+```
+
+
```json
{
- "authorityType": "DDL"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "network": {
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ }
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "useOnlineFailover": false,
+ "executeBackup": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "executedYmdt": "2023-12-31T15:00:00+09:00",
+ "lastQuery": "lastQuery-example"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "restoreType": "TIMESTAMP",
+ "binLog": {
+ "binLogFileName": "binLogFileName-example",
+ "binLogPosition": {
+ }
+ }
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDeletionProtection": false
+}
```
-#### 요청
+
-#### 응답
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2228,14 +2617,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSchemas": [
- {
- "dbSchemaId": "7c9a94b8-86c1-435d-8af2-82a5e9d53fd4",
- "dbSchemaName": "schema",
- "dbSchemaStatus": "STABLE",
- "createdYmdt": "2023-03-20T13:37:45+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2244,75 +2626,66 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
---
-### DB 스키마 생성하기
+### DB 인스턴스 정지하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-schemas
+POST /v3.0/db-instances/{dbInstanceId}/stop
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaName | Body | String | O | DB 스키마 이름 |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### DB 스키마 삭제하기
+
-```http
-DELETE /v3.0/db-instances/{dbInstanceId}/db-schemas/{dbSchemaId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaId | URL | UUID | O | DB 스키마의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2324,14 +2697,9 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "logFiles": [
- {
- "logFileName": "xtra_full.log-20230317",
- "logFileType": "BACKUP",
- "logFileSize": 4096,
- "createdYmdt": "2023-03-17T14:02:29+09:00"
- }
- ]
+ "storageType": "General SSD",
+ "storageSize": 1,
+ "storageStatus": "DELETED"
}
```
@@ -2340,35 +2708,25 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
---
-### 로그 파일 내보내기
+### 스토리지 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/log-files/export
+PUT /v3.0/db-instances/{dbInstanceId}/storage-info
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|--------|----|--------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| logFileNames | Body | Array | O | 로그 파일 이름 목록
```json
{
- "logFileNames": ["xtra_full.log-20230317"],
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "logs/backup"
+ "storageSize": 1
}
```
@@ -2377,9 +2735,26 @@ POST /v3.0/db-instances/{dbInstanceId}/log-files/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2443,16 +2810,16 @@ GET /v3.0/backups
"totalCounts": 1,
"backups": [
{
- "backupId": "0017f136-3e01-4530-94aa-20661afe6632",
- "backupName": "backup",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "142e6ccc-3bfb-4e1e-84f7-38861284fafd",
- "dbVersion": "MYSQL_V8028",
- "utilVersion": "8.0.28",
+ "backupId": "550e8400-e29b-41d4-a716-446655440000",
+ "backupName": "backupName-example",
+ "backupStatus": "BACKING_UP",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "utilVersion": "utilVersion-example",
"backupType": "AUTO",
- "backupSize": 4996786,
- "createdYmdt": "2023-02-21T00:35:00+09:00",
- "updatedYmdt": "2023-02-22T00:35:32+09:00"
+ "backupSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2463,6 +2830,45 @@ GET /v3.0/backups
---
+### 백업 삭제하기
+
+```http
+DELETE /v3.0/backups/{backupId}
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+
+#### 응답
+
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -2498,12 +2904,26 @@ POST /v3.0/backups/{backupId}/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-> [주의]
-> 수동 백업의 경우 백업이 수행된 DB 인스턴스가 존재하지 않으면, 백업을 오브젝트 스토리지로 내보낼 수 없습니다.
+
```json
-
{
- "dbInstanceName": "db-instance-restore",
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbPort": 10000,
- "parameterGroupId": "132d383c-38e3-468a-a826-5e9a8fff15d0",
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -2566,10 +2992,14 @@ POST /v3.0/backups/{backupId}/restore
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR1",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
+ "backupWndBgnTime": "backupWndBgnTime-example",
"backupWndDuration": "HALF_AN_HOUR"
}
]
@@ -2582,31 +3012,26 @@ POST /v3.0/backups/{backupId}/restore
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### 백업 삭제하기
+
-```http
-DELETE /v3.0/backups/{backupId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------|-----|------|----|---------|
-| backupId | URL | UUID | O | 백업의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2655,12 +3080,12 @@ GET /v3.0/db-security-groups
},
"dbSecurityGroups": [
{
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
"progressStatus": "NONE",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2022-02-19T19:18:13+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2671,42 +3096,59 @@ GET /v3.0/db-security-groups
---
-### DB 보안 그룹 상세 보기
+### DB 보안 그룹 생성하기
```http
-GET /v3.0/db-security-groups/{dbSecurityGroupId}
+POST /v3.0/db-security-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름
+
+```json
+{
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example",
+ "rules": [
+ {
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "description": "description-example"
+ }
+ ]
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|---------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
+
@@ -2718,30 +3160,7 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSecurityGroup": {
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "progressStatus": "NONE",
- "rules": [
- {
- "ruleId": "17c88ef6-95f1-4678-84f9-fee1b22e250d",
- "description": "description",
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
- ],
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2750,131 +3169,159 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
---
-### DB 보안 그룹 생성하기
+### DB 보안 그룹 삭제하기
```http
-POST /v3.0/db-security-groups
+DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | DB 보안 그룹에 대한 추가 정보 |
-| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
-| rules.description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| rules.direction | Body | Enum | O | 통신 방향
-
-```json
-{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "rules": [
- {
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0"
- }
- ]
-}
-```
+이 API는 요청 본문을 요구하지 않습니다.
-
```json
{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSecurityGroup": {
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
+ "progressStatus": "NONE",
+ "rules": [
+ {
+ "ruleId": "550e8400-e29b-41d4-a716-446655440000",
+ "description": "description-example",
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 1,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
}
```
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example"
}
```
@@ -2885,7 +3332,8 @@ DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2902,20 +3350,17 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| direction | Body | Enum | O | 통신 방향
@@ -2925,11 +3370,12 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "PORT",
- "minPort": 10000,
- "maxPort": 10000
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2938,9 +3384,26 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2976,9 +3436,12 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "DB_PORT"
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2987,32 +3450,26 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
----
-
-### DB 보안 그룹 규칙 삭제하기
+
-```http
-DELETE /v3.0/db-security-groups/{dbSecurityGroupId}/rules
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-------|-------|----|---------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| ruleIds | Query | Array | O | DB 보안 그룹 규칙의 식별자 목록 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -3057,13 +3510,13 @@ GET /v3.0/parameter-groups
},
"parameterGroups": [
{
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
"parameterGroupStatus": "STABLE",
- "createdYmdt": "2023-02-31T15:28:17+09:00",
- "updatedYmdt": "2023-02-31T15:28:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3072,44 +3525,41 @@ GET /v3.0/parameter-groups
+
+```json
+{
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036"
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|------------------|-----|------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
+
@@ -3121,91 +3571,130 @@ GET /v3.0/parameter-groups/{parameterGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "parameterGroupStatus": "STABLE",
- "parameters": [
- {
- "parameterId": "fa040b5e-f29f-46de-8f0d-bba4cb82887a",
- "parameterFileGroup": "client",
- "parameterName": "socket",
- "fileParameterName": "socket",
- "value": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "defaultValue": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "allowedValue": "",
- "updateType": "CONSTANT",
- "applyType": "BOTH"
- }
- ],
- "createdYmdt": "2023-03-13T11:02:28+09:00",
- "updatedYmdt": "2023-03-13T11:02:28+09:00"
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "parameterGroupName": "parameter-group",
- "dbVersion": "MYSQL_V8028"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "parameterGroupStatus": "STABLE",
+ "parameters": [
+ {
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterFileGroup": "CLIENT",
+ "parameterName": "parameterName-example",
+ "fileParameterName": "fileParameterName-example",
+ "value": "value-example",
+ "defaultValue": "defaultValue-example",
+ "allowedValue": "allowedValue-example",
+ "updateType": "VARIABLE",
+ "applyType": "BOTH"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
```json
{
- "parameterGroupName": "parameter-group-copy",
- "description": "copy"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3214,32 +3703,31 @@ POST /v3.0/parameter-groups/{parameterGroupId}/copy
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------|------|------|--------------|
-| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 파라미터 그룹 수정하기
+### 파라미터 그룹 복사하기
```http
-PUT /v3.0/parameter-groups/{parameterGroupId}
+POST /v3.0/parameter-groups/{parameterGroupId}/copy
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------|------|--------|----|----------------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| parameterGroupName | Body | String | X | 파라미터 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| parameterGroupName | Body | String | O | 파라미터 그룹을 식별할 수 있는 이름
```json
{
- "parameterGroupName": "parameter-group"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3248,7 +3736,9 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
@@ -3259,7 +3749,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3276,12 +3767,12 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------------|------|--------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
-| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
-| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
+| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
+| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
@@ -3290,8 +3781,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
{
"modifiedParameters": [
{
- "parameterId": "3abac558-7274-44e1-9f4a-f100f53f67ba",
- "value": "0"
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "value": "value-example"
}
]
}
@@ -3304,39 +3795,49 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
이 API는 응답 본문을 반환하지 않습니다.
-
+---
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
-}
+### 파라미터 그룹 재설정하기
+
+```http
+PUT /v3.0/parameter-groups/{parameterGroupId}/reset
```
-
@@ -3347,7 +3848,15 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/reset
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "userGroups": [
+ {
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
}
```
@@ -3356,23 +3865,39 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/reset
---
-### 파라미터 그룹 삭제하기
+### 사용자 그룹 생성하기
```http
-DELETE /v3.0/parameter-groups/{parameterGroupId}
+POST /v3.0/user-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupName | Body | String | O | 사용자 그룹을 식별할 수 있는 이름 |
+| memberIds | Body | Array | O | 프로젝트 멤버의 식별자 목록 |
+| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 포함 여부
+
+```json
+{
+ "userGroupName": "userGroupName-example",
+ "memberIds": [],
+ "selectAllYN": false
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|------------------|-----|------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
+
@@ -3383,7 +3908,8 @@ DELETE /v3.0/parameter-groups/{parameterGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3392,51 +3918,23 @@ DELETE /v3.0/parameter-groups/{parameterGroupId}
---
-## 사용자 그룹
-
-### 사용자 그룹 목록 보기
+### 사용자 그룹 삭제하기
```http
-GET /v3.0/user-groups
+DELETE /v3.0/user-groups/{userGroupId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------|------|----------|-----------------------------------|
-| userGroups | Body | Array | 사용자 그룹 목록 |
-| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
-| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
-| userGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| userGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupId | URL | UUID | O | |
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "userGroups": [
- {
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team",
- "createdYmdt": "2023-02-23T10:07:54+09:00",
- "updatedYmdt": "2023-02-26T01:15:50+09:00"
- }
- ]
-}
-```
+#### 응답
-
@@ -3476,65 +3974,21 @@ GET /v3.0/user-groups/{userGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team",
- "userGroupTypeCode": "INDIVIDUAL_MEMBER",
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example",
+ "userGroupTypeCode": "ENTIRE",
"members": [
{
- "memberId": "1321e759-2ef3-4b85-9921-b13e918b24b5"
+ "memberId": "550e8400-e29b-41d4-a716-446655440000"
}
],
- "createdYmdt": "2023-02-23T10:07:54+09:00",
- "updatedYmdt": "2023-02-26T01:15:50+09:00"
-}
-```
-
-
-
-```json
-{
- "userGroupName": "dev-team",
- "memberIds": [
- "1321e759-2ef3-4b85-9921-b13e918b24b5"
- ]
-}
-```
-
-```json
-{
- "userGroupName": "dev-team",
- "selectAllYN":true
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
-
```json
{
- "userGroupName": "dev-team",
- "memberIds": [
- "1321e759-2ef3-4b85-9921-b13e918b24b5",
- "f9064b09-2b15-442e-a4b0-3a5a2754555e"
- ]
+ "userGroupName": "userGroupName-example",
+ "memberIds": [],
+ "selectAllYN": false
}
```
@@ -3573,39 +4025,32 @@ PUT /v3.0/user-groups/{userGroupId}
이 API는 응답 본문을 반환하지 않습니다.
-
-
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
-}
-```
-
-
@@ -3616,7 +4061,18 @@ DELETE /v3.0/user-groups/{userGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "notificationGroups": [
+ {
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "notificationGroupName": "notificationGroupName-example",
+ "notifyEmail": false,
+ "notifySms": false,
+ "isEnabled": false,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
}
```
@@ -3625,30 +4081,45 @@ DELETE /v3.0/user-groups/{userGroupId}
---
-## 알림 그룹
-
-### 알림 그룹 목록 보기
+### 알림 그룹 생성하기
```http
-GET /v3.0/notification-groups
+POST /v3.0/notification-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupName | Body | String | O | 알림 그룹을 식별할 수 있는 이름
+
+```json
+{
+ "notificationGroupName": "notificationGroupName",
+ "notifyEmail": true,
+ "notifySms": true,
+ "isEnabled": true,
+ "dbInstanceIds": [],
+ "userGroupIds": []
+}
+```
+
+
@@ -3660,17 +4131,7 @@ GET /v3.0/notification-groups
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "notificationGroups": [
- {
- "notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
- "notificationGroupName": "dev-team-noti",
- "notifyEmail": true,
- "notifySms": false,
- "isEnabled": true,
- "createdYmdt": "2023-02-20T13:34:13+09:00",
- "updatedYmdt": "2023-02-20T13:34:13+09:00"
- }
- ]
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3679,6 +4140,26 @@ GET /v3.0/notification-groups
---
+### 알림 그룹 삭제하기
+
+```http
+DELETE /v3.0/notification-groups/{notificationGroupId}
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
+
+#### 응답
+
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
### 알림 그룹 상세 보기
```http
@@ -3689,27 +4170,27 @@ GET /v3.0/notification-groups/{notificationGroupId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|-----|------|----|------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------------|------|----------|-----------------------------------|
-| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
-| notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | 이메일 알림 여부 |
-| notifySms | Body | Boolean | SMS 알림 여부 |
-| isEnabled | Body | Boolean | 활성화 여부 |
-| dbInstances | Body | Array | 감시 대상 DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| userGroups | Body | Array | 사용자 그룹 목록 |
-| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
-| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
+| notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
+| notifyEmail | Body | Boolean | 이메일 알림 여부 |
+| notifySms | Body | Boolean | SMS 알림 여부 |
+| isEnabled | Body | Boolean | 활성화 여부 |
+| dbInstances | Body | Array | 감시 대상 DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
+| userGroups | Body | Array | 사용자 그룹 목록 |
+| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
+| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
@@ -3721,25 +4202,25 @@ GET /v3.0/notification-groups/{notificationGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
- "notificationGroupName": "dev-team-noti",
- "notifyEmail": true,
+ "notificationGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "notificationGroupName": "notificationGroupName-example",
+ "notifyEmail": false,
"notifySms": false,
- "isEnabled": true,
+ "isEnabled": false,
"dbInstances": [
{
- "dbInstanceId": "ed5cb985-526f-4c54-9ae0-40288593de65",
- "dbInstanceName": "database"
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example"
}
],
"userGroups": [
{
- "userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
- "userGroupName": "dev-team"
+ "userGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "userGroupName": "userGroupName-example"
}
],
- "createdYmdt": "2023-02-20T13:34:13+09:00",
- "updatedYmdt": "2023-02-20T13:34:13+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -3748,37 +4229,35 @@ GET /v3.0/notification-groups/{notificationGroupId}
---
-### 알림 그룹 생성하기
+### 알림 그룹 수정하기
```http
-POST /v3.0/notification-groups
+PUT /v3.0/notification-groups/{notificationGroupId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|-----------------------------|
-| notificationGroupName | Body | String | O | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | X | 이메일 알림 여부
```json
{
- "notificationGroupName": "dev-team-noti",
+ "notificationGroupName": "notificationGroupName-example",
"notifyEmail": false,
- "isEnable": true,
- "dbInstanceIds": [
- "ed5cb985-526f-4c54-9ae0-40288593de65"
- ],
- "userGroupIds": [
- "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0"
- ]
+ "notifySms": false,
+ "isEnabled": false,
+ "dbInstanceIds": [],
+ "userGroupIds": []
}
```
@@ -3787,49 +4266,45 @@ POST /v3.0/notification-groups
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|---------------------|------|------|------------|
-| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 알림 그룹 수정하기
+## 모니터링
+
+### 통계 정보 조회
```http
-PUT /v3.0/notification-groups/{notificationGroupId}
+GET /v3.0/metric-statistics
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|-----------------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
-| notificationGroupName | Body | String | X | 알림 그룹을 식별할 수 있는 이름 |
-| notifyEmail | Body | Boolean | X | 이메일 알림 여부 |
-| notifySms | Body | Boolean | X | SMS 알림 여부 |
-| isEnabled | Body | Boolean | X | 활성화 여부 |
-| dbInstanceIds | Body | Array | X | 감시 대상 DB 인스턴스의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+이 API는 요청 본문을 요구하지 않습니다.
-
+#### 응답
-```json
-{
- "notifyEmail": true,
- "dbInstanceIds": [
- "ed5cb985-526f-4c54-9ae0-40288593de65",
- "d51b7da0-682f-47ff-b588-b739f6adc740"
- ]
-}
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
+### Metric 목록 보기
+
+```http
+GET /v3.0/metrics
```
-
@@ -3840,7 +4315,13 @@ PUT /v3.0/notification-groups/{notificationGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "metrics": [
+ {
+ "measureName": "measureName-example",
+ "unit": "unit-example"
+ }
+ ]
}
```
@@ -3849,23 +4330,38 @@ PUT /v3.0/notification-groups/{notificationGroupId}
---
-### 알림 그룹 삭제하기
+## 이벤트
+
+### 이벤트 카테고리
+
+이벤트는 카테고리로 분류할 수 있으며 아래와 같습니다.
+
+| 이벤트 카테고리 | 설명 |
+|-------------|---------|
+| ALL | 전체 |
+| BACKUP | 백업 |
+| DB_INSTANCE | DB 인스턴스 |
+| JOB | 작업 |
+| TENANT | 테넌트 |
+| MONITORING | 모니터링 |
+
+### 구독 가능한 이벤트 코드 목록 보기
```http
-DELETE /v3.0/notification-groups/{notificationGroupId}
+GET /v3.0/event-codes
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|-----|------|----|------------|
-| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
-
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| eventCodes | Body | Array | 이벤트 코드 목록 |
+| eventCodes.eventCode | Body | Enum | 이벤트 코드 |
+| eventCodes.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
@@ -3876,7 +4372,13 @@ DELETE /v3.0/notification-groups/{notificationGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "eventCodes": [
+ {
+ "eventCode": "ENUM_VALUE",
+ "eventCategoryType": "ALL"
+ }
+ ]
}
```
@@ -3885,12 +4387,10 @@ DELETE /v3.0/notification-groups/{notificationGroupId}
---
-## 모니터링
-
-### Metric 목록 보기
+### 이벤트 목록 조회
```http
-GET /v3.0/metrics
+GET /v3.0/events
```
#### 요청
@@ -3899,11 +4399,18 @@ GET /v3.0/metrics
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|---------------------|------|--------|-----------|
-| metrics | Body | Array | Metric 목록 |
-| metrics.measureName | Body | Enum | 조회 지표 유형 |
-| metrics.unit | Body | String | 측정값 단위 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 이벤트 목록 수 |
+| events | Body | Array | 이벤트 목록 |
+| events.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
@@ -3915,10 +4422,20 @@ GET /v3.0/metrics
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "metrics": [
+ "totalCounts": 1,
+ "events": [
{
- "measureName": "CPU_USAGE",
- "unit": "%"
+ "eventCategoryType": "ALL",
+ "eventCode": "ENUM_VALUE",
+ "sourceId": "sourceId-example",
+ "sourceName": "sourceName-example",
+ "messages": [
+ {
+ "langCode": "KO",
+ "message": "message-example"
+ }
+ ],
+ "eventYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3929,56 +4446,65 @@ GET /v3.0/metrics
---
-### 통계 정보 조회
+## 이벤트 구독
+
+### 이벤트 구독 목록 조회
```http
-GET /v3.0/metric-statistics
+GET /v3.0/event-subscriptions
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-------|----------|----|-----------------------------------|
-| dbInstanceId | Query | UUID | O | DB 인스턴스의 식별자 |
-| measureNames | Query | Array | O | 조회 지표 목록
```json
{
- "metricStatistics": [
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "totalCounts": 1,
+ "eventSubscriptions": [
{
- "measureName": "MYSQL_STATUS",
- "unit": "",
- "values": [
- [
- 1679298540,
- "1"
- ],
- [
- 1679298600,
- "1"
- ],
- [
- 1679298660,
- "1"
- ]
- ]
+ "eventSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
+ {
+ "sourceId": "sourceId-example",
+ "eventCategoryType": "ALL"
+ }
+ ],
+ "userGroupIds": [],
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3989,56 +4515,56 @@ GET /v3.0/metric-statistics
---
-## 이벤트
-
-### 이벤트 카테고리
-
-이벤트는 카테고리로 분류할 수 있으며 아래와 같습니다.
-
-| 이벤트 카테고리 | 설명 |
-|-------------|---------|
-| ALL | 전체 |
-| BACKUP | 백업 |
-| DB_INSTANCE | DB 인스턴스 |
-| JOB | 작업 |
-| TENANT | 테넌트 |
-| MONITORING | 모니터링 |
-
-### 이벤트 목록 조회
+### 이벤트 구독 생성하기
```http
-GET /v3.0/events
+POST /v3.0/event-subscriptions
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
+
+```json
+{
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
+ {
+ "sourceId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL"
+ }
+ ],
+ "userGroupIds": []
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-------|----------|----|--------------------------------------------------------------------------------------------------------------------------------------|
-| page | Query | Number | O | 조회할 목록의 페이지
@@ -4050,34 +4576,7 @@ GET /v3.0/events
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "totalCounts": 28,
- "events": [
- {
- "eventCategoryType": "INSTANCE",
- "eventCode": "INSTC_02_01",
- "sourceId": "76f00947-356e-4a20-8922-428368cc45ed",
- "sourceName": "db-instance",
- "messages": [
- {
- "langCode": "EN",
- "message": "DB instance started"
- },
- {
- "langCode": "JA",
- "message": "DBインスタンスの起動"
- },
- {
- "langCode": "KO",
- "message": "DB 인스턴스 시작"
- },
- {
- "langCode": "ZH",
- "message": "DB instance started"
- }
- ],
- "eventYmdt": "2023-03-20T16:31:59+09:00"
- }
- ]
+ "eventSubscriptionId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -4086,44 +4585,75 @@ GET /v3.0/events
---
-### 구독 가능한 이벤트 코드 목록 보기
+### 이벤트 구독 삭제하기
```http
-GET /v3.0/event-codes
+DELETE /v3.0/event-subscriptions/{eventSubscriptionId}
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventSubscriptionId | URL | UUID | O | |
+
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|-------|-------------|
-| eventCodes | Body | Array | 이벤트 코드 목록 |
-| eventCodes.eventCode | Body | Enum | 이벤트 코드 |
-| eventCodes.eventCategoryType | Body | Enum | 이벤트 카테고리 유형 |
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
+### 이벤트 구독 수정하기
+
+```http
+PUT /v3.0/event-subscriptions/{eventSubscriptionId}
+```
+
+#### 요청
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| eventSubscriptionId | URL | UUID | O | |
+| eventCategoryType | Body | Enum | X | 이벤트 카테고리 유형
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "eventCodes": [
+ "eventCategoryType": "ALL",
+ "eventSubscriptionName": "eventSubscriptionName-example",
+ "enabled": false,
+ "notifyEmail": false,
+ "notifySms": false,
+ "eventCodes": [],
+ "sources": [
{
- "eventCode": "INSTC_05_01",
- "eventCategoryType": "INSTANCE"
+ "sourceId": "550e8400-e29b-41d4-a716-446655440000",
+ "eventCategoryType": "ALL"
}
- ]
+ ],
+ "userGroupIds": []
}
```
@@ -110,31 +122,26 @@ GET /v3.0/project/regions
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "regions": [
- {
- "regionCode": "KR1",
- "isEnabled": true
- },
- {
- "regionCode": "KR2",
- "isEnabled": true
- },
+ "members": [
{
- "regionCode": "JP1",
- "isEnabled": true
+ "memberId": "550e8400-e29b-41d4-a716-446655440000",
+ "memberName": "memberName-example",
+ "emailAddress": "emailAddress-example",
+ "phoneNumber": "phoneNumber-example"
}
]
}
```
+
@@ -161,12 +166,10 @@ GET /v3.0/project/members
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "members": [
+ "regions": [
{
- "memberId": "1b1d3627-507a-49ea-8cb7-c86dfa9caa58",
- "memberName": "홍길동",
- "emailAddress": "gildong.hong@nhn.com",
- "phoneNumber": "+821012345678"
+ "regionCode": "KR4",
+ "isEnabled": false
}
]
}
@@ -191,13 +194,13 @@ GET /v3.0/db-flavors
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------|------|--------|-----------------|
-| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
-| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
-| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
-| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
+| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
+| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
+| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
@@ -211,9 +214,9 @@ GET /v3.0/db-flavors
},
"dbFlavors": [
{
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbFlavorName": "m2.c1m2",
- "ram": 2048,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbFlavorName": "dbFlavorName-example",
+ "ram": 1,
"vcpus": 1
}
]
@@ -239,14 +242,14 @@ GET /v3.0/network/subnets
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------|------|---------|------------------|
-| subnets | Body | Array | 서브넷 목록 |
-| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
-| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
-| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
-| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
-| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| subnets | Body | Array | 서브넷 목록 |
+| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
+| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
+| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
+| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
+| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
@@ -260,11 +263,11 @@ GET /v3.0/network/subnets
},
"subnets": [
{
- "subnetId": "1b2a9b23-0725-4b92-8c78-35db66b8ad9f",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/24",
- "usingGateway": true,
- "availableIpCount": 240
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example",
+ "usingGateway": false,
+ "availableIpCount": 1
}
]
}
@@ -289,11 +292,11 @@ GET /v3.0/db-versions
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|---------|-----------------------|
-| dbVersions | Body | Array | DB 엔진 목록 |
-| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
-| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbVersions | Body | Array | DB 엔진 목록 |
+| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
+| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
| dbVersions.restorableFromObs | Body | Boolean | 오브젝트 스토리지로부터 복원 가능 여부 |
@@ -349,10 +352,7 @@ GET /v3.0/storage-types
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageTypes": [
- "General SSD",
- "General HDD"
- ]
+ "storageTypes": []
}
```
@@ -361,7 +361,7 @@ GET /v3.0/storage-types
---
-### 데이터 스토리지 목록 보기
+### 스토리지 목록 보기
```http
GET /v3.0/storages
@@ -373,9 +373,9 @@ GET /v3.0/storages
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------|------|-------|-------------|
-| storages | Body | Array | 데이터 스토리지 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storages | Body | Array | 스토리지 목록 |
@@ -387,10 +387,7 @@ GET /v3.0/storages
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storages": [
- "General SSD",
- "General HDD"
- ]
+ "storages": []
}
```
@@ -428,21 +425,21 @@ GET /v3.0/jobs/{jobId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------|-----|------|----|---------|
-| jobId | URL | UUID | O | 작업의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| jobId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------------------|------|----------|-----------------------------------|
-| jobId | Body | UUID | 작업의 식별자 |
-| jobStatus | Body | Enum | 작업의 현재 상태 |
-| resourceRelations | Body | Array | 연관 리소스 목록 |
-| resourceRelations.resourceType | Body | Enum | 연관 리소스 유형 |
-| resourceRelations.resourceId | Body | UUID | 연관 리소스의 식별자 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+| jobStatus | Body | Enum | 작업의 현재 상태
@@ -454,16 +451,16 @@ GET /v3.0/jobs/{jobId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "jobId": "0ddb042c-5af6-43fb-a914-f4dd0540eb7c",
- "jobStatus": "RUNNING",
+ "jobId": "550e8400-e29b-41d4-a716-446655440000",
+ "jobStatus": "DELETED",
"resourceRelations": [
{
- "resourceType": "DB_INSTANCE",
- "resourceId": "56b39dcf-65eb-47ec-9d4f-09f160ba2266"
+ "resourceType": "resourceType-example",
+ "resourceId": "resourceId-example"
}
],
- "createdYmdt": "2023-02-22T20:47:12+09:00",
- "updatedYmdt": "2023-02-22T20:49:46+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -486,13 +483,13 @@ GET /v3.0/db-instance-groups
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------------|------|----------|--------------------------------------------------------------------------|
-| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
-| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -506,10 +503,10 @@ GET /v3.0/db-instance-groups
},
"dbInstanceGroups": [
{
- "dbInstanceGroupId": "05de0746-89fd-49c8-94f9-9c5b1df97009",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
- "createdYmdt": "2023-02-13T17:35:20+09:00",
- "updatedYmdt": "2023-02-13T17:35:20+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -530,22 +527,22 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|-----------------|
-| dbInstanceGroupId | URL | UUID | O | DB 인스턴스 그룹의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceGroupId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
@@ -557,17 +554,17 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbInstanceGroupId": "36617a8e-0df8-4b16-b6ea-6306019e95da",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
"replicationType": "STANDALONE",
"dbInstances": [
{
- "dbInstanceId": "6d2db0ef-fe9b-4ed4-97b1-d97fcb4cf1b8",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE"
+ "dbInstanceStatus": "BEFORE_CREATE"
}
],
- "createdYmdt": "2023-03-03T17:38:14+09:00",
- "updatedYmdt": "2023-03-03T17:38:14+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
@@ -600,8 +597,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `BACKING_UP` | 백업 중 |
| `CANCELING` | 취소 중 |
| `CREATING` | 생성 중 |
-| `CREATING_SCHEMA` | DB 스키마 생성 중 |
-| `CREATING_USER` | 사용자 생성 중 |
+| `CREATING_SCHEMA` | DB 스키마 생성 중 |
+| `CREATING_USER` | 사용자 생성 중 |
| `DELETING` | 삭제 중 |
| `DELETING_SCHEMA` | DB 스키마 삭제 중 |
| `DELETING_USER` | 사용자 삭제 중 |
@@ -620,8 +617,8 @@ GET /v3.0/db-instance-groups/{dbInstanceGroupId}
| `STARTING` | 시작 중 |
| `STOPPING` | 정지 중 |
| `SYNCING_SCHEMA` | DB 스키마 동기화 중 |
-| `SYNCING_USER` | 사용자 동기화 중 |
-| `UPDATING_USER` | 사용자 수정 중 |
+| `SYNCING_USER` | 사용자 동기화 중 |
+| `UPDATING_USER` | 사용자 수정 중 |
### DB 인스턴스 목록 보기
@@ -635,20 +632,20 @@ GET /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstances | Body | Array | DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
-| dbInstances.dbPort | Body | Number | DB 포트 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
@@ -662,17 +659,17 @@ GET /v3.0/db-instances
},
"dbInstances": [
{
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
"dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
+ "dbInstanceStatus": "BEFORE_CREATE",
"progressStatus": "NONE",
- "createdYmdt": "2023-01-23T12:03:13+09:00",
- "updatedYmdt": "2023-02-02T17:20:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -683,83 +680,6 @@ GET /v3.0/db-instances
---
-### DB 인스턴스 상세 보기
-
-```http
-GET /v3.0/db-instances/{dbInstanceId}
-```
-
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------|------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
-| dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
-| description | Body | String | DB 인스턴스에 대한 추가 정보 |
-| dbVersion | Body | Enum | DB 엔진 유형 |
-| dbPort | Body | Number | DB 포트 |
-| dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
-
-```json
-{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
- "dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
- "dbInstanceName": "db-instance",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbInstanceType": "MASTER",
- "dbInstanceStatus": "AVAILABLE",
- "progressStatus": "NONE",
- "dbFlavorId": "e9ed4ef6-78d7-46fa-ace9-32481e97f3b7",
- "parameterGroupId": "b03e8b13-de27-4d04-a488-ff5689589372",
- "dbSecurityGroupIds": ["01908c35-d2c9-4852-baf0-17f06ec42c03"],
- "notificationGroupIds": ["83a62a33-ddbf-4a04-8653-e54463d5b1ac"],
- "useDeletionProtection": false,
- "supportAuthenticationPlugin": true,
- "needToApplyParameterGroup": false,
- "needMigration": false,
- "supportDbVersionUpgrade": true,
- "createdYmdt": "2022-11-23T12:03:13+09:00",
- "updatedYmdt": "2022-12-02T17:20:17+09:00"
-}
-```
-
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbVersion": "MYSQL_V8028",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
"userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE",
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -830,11 +756,15 @@ POST /v3.0/db-instances
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR4",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR"
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
}
]
}
@@ -846,45 +776,124 @@ POST /v3.0/db-instances
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "dbInstanceName": "db-instance2",
- "description": "description2",
- "dbPort": 10001,
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "dbVersion": "MYSQL_V8036",
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR4",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
"dbSecurityGroupIds": [],
- "executeBackup": true
+ "userGroupIds": [],
+ "useDeletionProtection": false
}
```
@@ -893,9 +902,7 @@ PUT /v3.0/db-instances/{dbInstanceId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
@@ -909,54 +916,15 @@ DELETE /v3.0/db-instances/{dbInstanceId}
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 재시작하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
@@ -967,108 +935,136 @@ POST /v3.0/db-instances/{dbInstanceId}/force-restart
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-POST /v3.0/db-instances/{dbInstanceId}/backup
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbInstanceName": "dbInstanceName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "dbPort": 1,
+ "dbInstanceType": "MASTER",
+ "dbInstanceStatus": "BEFORE_CREATE",
+ "progressStatus": "NONE",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "notificationGroupIds": [],
+ "useDeletionProtection": false,
+ "supportAuthenticationPlugin": false,
+ "needToApplyParameterGroup": false,
+ "needMigration": false,
+ "supportDbVersionUpgrade": false,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|-----------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| backupName | Body | String | O | 백업을 식별할 수 있는 이름 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbPort": 1,
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "useDummy": false,
+ "dbSecurityGroupIds": [],
+ "executeBackup": false,
+ "useOnlineFailover": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
}
```
@@ -1077,172 +1073,71 @@ POST /v3.0/db-instances/{dbInstanceId}/backup-to-object-storage
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### DB 인스턴스 복제하기
-
-```http
-POST /v3.0/db-instances/{dbInstanceId}/replicate
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자
```json
{
- "dbInstanceName": "db-instance-replicate",
- "description": "description",
- "dbPort": 11000,
- "network": {
- "availabilityZone": "kr-pub-a"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
},
- "storage": {
- "stroageSize": 100
- }
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
-```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info
+```json
+{
+ "backupName": "backupName"
+}
```
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- },
- "oldestRestorableYmdt": "2023-07-09T16:33:33+09:00",
- "latestRestorableYmdt": "2023-07-10T15:44:44+09:00",
- "restorableBackups": [
- {
- "backup": {
- "backupId": "145d889a-fe08-474f-8f58-bde576ff96a9",
- "backupName": "example-backup-name",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "dba1be25-9429-4589-9716-7fb6daad7cb9",
- "dbInstanceName": "original-db-instance-name",
- "dbVersion": "MYSQL_V8028",
- "backupType": "MANUAL",
- "backupSize": 8299904,
- "useBackupLock": true,
- "failoverCount": 0,
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 367916037,
- "createdYmdt": "2023-07-10T15:44:44+09:00",
- "updatedYmdt": "2023-07-10T15:46:07+09:00"
- },
- "restorableBinLogs": [
- "mysql-bin.000001"
- ]
- }
- ]
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1251,39 +1146,32 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info
---
-### 복원될 마지막 쿼리 조회
+### 백업 정보 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
+GET /v3.0/db-instances/{dbInstanceId}/backup-info
```
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-------|------|----|-----------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restoreType | Query | Enum | O | 복원 타입 종류
@@ -1295,8 +1183,17 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "executedYmdt": "2023-03-17T14:02:29+09:00",
- "lastQuery": "INSERT INTO `test`.`test`SET @1='0123'"
+ "backupPeriod": 1,
+ "ftwrlWaitTimeout": 1,
+ "backupRetryCount": 1,
+ "replicationRegion": "KR4",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
@@ -1305,303 +1202,100 @@ GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
---
-### 복원
+### 백업 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/restore
+PUT /v3.0/db-instances/{dbInstanceId}/backup-info
```
-#### 공통 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------------------------------------|------|---------|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| restore | Body | Object | O | 복원 정보 객체 |
-| restore.restoreType | Body | Enum | O | 복원 타입 종류
-
-```json
-{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "TIMESTAMP",
- "restoreYmdt": "2023-07-10T15:44:44+09:00"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
-}
-```
-
-
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BINLOG",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36",
- "binLogFileName": "mysql-bin.000001",
- "binLogPosition": 1234567
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 0,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR4",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "restoreType": "BACKUP",
- "backupId":"3ae7914f-9b42-4729-b125-87417b72cf36"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "dbInstanceName": "db-instance",
- "description": "description",
- "dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
- "dbPort": 10000,
- "dbVersion": "MYSQL_V8028",
- "dbUserName": "db-user",
- "dbPassword": "password",
- "parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
- "dbSecurityGroupIds": [
- "b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
- ],
- "userGroupIds": [],
- "network": {
- "subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
- "availabilityZone": "kr-pub-a"
- },
- "storage": {
- "storageType": "General SSD",
- "storageSize": 20
- },
- "restore": {
- "tenantId":"tenant-id",
- "username":"username",
- "password":"password",
- "targetContainer":"targetContainer",
- "objectPath":"objectPath"
- },
- "backup": {
- "backupPeriod": 1,
- "backupSchedules": [
- {
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
- }
- ]
- }
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -1610,30 +1304,9 @@ POST /v3.0/db-instances/restore-from-obs
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
-
----
-
-
-### DB 인스턴스 삭제 보호 설정 변경하기
-
-```http
-PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useDeletionProtection | Body | Boolean | O | 삭제 보호 여부 |
-
-#### 응답
-
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
@@ -1644,7 +1317,8 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1653,137 +1327,146 @@ PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
---
-### 고가용성 수정하기
+### 테스트 용 DB 이미지 메타 변경
```http
-PUT /v3.0/db-instances/{dbInstanceId}/high-availability
+PUT /v3.0/db-instances/{dbInstanceId}/change-image-meta
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|---------|----|------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| useHighAvailability | Body | Boolean | O | 고가용성 사용 여부 |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/pause
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSchemas": [
+ {
+ "dbSchemaId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSchemaName": "dbSchemaName-example",
+ "dbSchemaStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
-```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/split
+```json
+{
+ "dbSchemaName": "dbSchemaName-example"
+}
```
-#### 요청
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -1795,66 +1478,43 @@ GET /v3.0/db-instances/{dbInstanceId}/storage-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "storageType": "General SSD",
- "storageSize": 20,
- "storageStatus": "ATTACHED"
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1866,15 +1526,17 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "backupPeriod": 1,
- "ftwrlWaitTimeout": 1800,
- "backupRetryCount": 0,
- "replicationRegion": null,
- "useBackupLock": false,
- "backupSchedules": [
+ "dbUsers": [
{
- "backupWndBgnTime": "00:00:00",
- "backupWndDuration": "ONE_HOUR_AND_HALF"
+ "dbUserId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbUserName": "dbUserName-example",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "dbUserStatus": "STABLE",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
]
}
@@ -1883,42 +1545,37 @@ GET /v3.0/db-instances/{dbInstanceId}/backup-info
```json
{
- "backupPeriod": 5,
- "useBackupLock": true,
- "backupSchedules": [
- {
- "backupWndBgnTime": "01:00:00",
- "backupWndDuration": "TWO_HOURS"
- }
- ]
+ "dbUserName": "dbUserName",
+ "dbPassword": "dbPassword",
+ "host": "host-example",
+ "authorityType": "CUSTOM",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
}
```
@@ -1927,39 +1584,49 @@ PUT /v3.0/db-instances/{dbInstanceId}/backup-info
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -1971,19 +1638,7 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "availabilityZone": "kr-pub-a",
- "subnet": {
- "subnetId": "bd453789-34ae-416c-9f78-05b9e43a46be",
- "subnetName": "Default Network",
- "subnetCidr": "192.168.0.0/16"
- },
- "endPoints": [
- {
- "domain": "ea548a78-d85f-43b4-8ddf-c88d999b9905.internal.kr1.mysql.rds.nhncloudservice.com",
- "ipAddress": "192.168.0.2",
- "endPointType": "INTERNAL"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -1992,55 +1647,43 @@ GET /v3.0/db-instances/{dbInstanceId}/network-info
---
-### 네트워크 정보 수정하기
+### DB 사용자 수정하기
```http
-PUT /v3.0/db-instances/{dbInstanceId}/network-info
+PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|---------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserId | URL | UUID | O | |
+| dbPassword | Body | String | X | DB 사용자 계정 암호
-```http
-GET /v3.0/db-instances/{dbInstanceId}/db-users
+```json
+{
+ "dbPassword": "dbPassword",
+ "authorityType": "CUSTOM",
+ "authenticationPlugin": "NATIVE",
+ "tlsOption": "NONE"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+
@@ -2052,19 +1695,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbUsers": [
- {
- "dbUserId": "4b3d530b-fd02-4d59-a620-83d019a67bbb",
- "dbUserName": "db-user",
- "host": "%",
- "authorityType": "DDL",
- "dbUserStatus": "STABLE",
- "authenticationPlugin": "NATIVE",
- "tlsOption": "NONE",
- "createdYmdt": "2023-03-17T14:02:29+09:00",
- "updatedYmdt": "2023-03-17T14:02:31+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2073,38 +1704,25 @@ GET /v3.0/db-instances/{dbInstanceId}/db-users
---
-### DB 사용자 생성하기
+### DB 인스턴스 삭제 보호 설정 변경
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-users
+PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------------|------|--------|----|-------------------------------------------------------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbUserName | Body | String | O | DB 사용자 계정 이름
```json
{
- "dbUserName": "db-user",
- "dbPassword": "password",
- "host": "1.1.1.%",
- "authorityType": "CRUD",
- "authenticationPlugin": "NATIVE",
- "tlsOption": "NONE"
+ "useDeletionProtection": false
}
```
@@ -2113,99 +1731,881 @@ POST /v3.0/db-instances/{dbInstanceId}/db-users
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### DB 사용자 수정하기
+### DB 인스턴스 강제 재시작하기
+
+```http
+POST /v3.0/db-instances/{dbInstanceId}/force-restart
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+
+#### 응답
+
+이 API는 응답 본문을 반환하지 않습니다.
+
+---
+
+### 고가용성 수정하기
+
+```http
+PUT /v3.0/db-instances/{dbInstanceId}/high-availability
+```
+
+#### 요청
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| useHighAvailability | Body | Boolean | O | 고가용성 사용 여부 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
+
+```json
+{
+ "useHighAvailability": false,
+ "pingInterval": 1
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "logFiles": [
+ {
+ "logFileName": "logFileName-example",
+ "logFileType": "ERROR",
+ "logFileSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "logFileNames": [],
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "availabilityZone": "kr-pub-a",
+ "subnet": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "subnetName": "subnetName-example",
+ "subnetCidr": "subnetCidr-example"
+ },
+ "endPoints": [
+ {
+ "domain": "domain-example",
+ "ipAddress": "ipAddress-example",
+ "endPointType": "endPointType-example"
+ }
+ ]
+}
+```
+
+
+
+```json
+{
+ "usePublicAccess": false
+}
+```
+
+
```json
{
- "authorityType": "DDL"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
+ "network": {
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 0,
+ "replicationRegion": "KR4",
+ "useBackupLock": false,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ }
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "useOnlineFailover": false,
+ "executeBackup": false,
+ "waitReplicationDelay": false,
+ "useReadOnly": false
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "executedYmdt": "2023-12-31T15:00:00+09:00",
+ "lastQuery": "lastQuery-example"
+}
+```
+
+
+
+```json
+{
+ "dbInstanceName": "dbInstanceName",
+ "dbInstanceCandidateName": "dbInstanceCandidateName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "useHighAvailability": false,
+ "imageId": "550e8400-e29b-41d4-a716-446655440000",
+ "pingInterval": 3,
+ "storage": {
+ "storageType": "General SSD",
+ "storageSize": 20
+ },
+ "network": {
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
+ "availabilityZone": "kr-pub-a"
+ },
+ "backup": {
+ "backupPeriod": 0,
+ "ftwrlWaitTimeout": 1800,
+ "backupRetryCount": 0,
+ "replicationRegion": "KR4",
+ "useBackupLock": true,
+ "backupSchedules": [
+ {
+ "backupWndBgnTime": "backupWndBgnTime-example",
+ "backupWndDuration": "HALF_AN_HOUR"
+ }
+ ]
+ },
+ "restore": {
+ "restoreType": "TIMESTAMP",
+ "binLog": {
+ "binLogFileName": "binLogFileName-example",
+ "binLogPosition": {
+ }
+ }
+ },
+ "useDefaultNotification": false,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useDeletionProtection": false
+}
```
-#### 요청
+
-#### 응답
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2217,14 +2617,7 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSchemas": [
- {
- "dbSchemaId": "7c9a94b8-86c1-435d-8af2-82a5e9d53fd4",
- "dbSchemaName": "schema",
- "dbSchemaStatus": "STABLE",
- "createdYmdt": "2023-03-20T13:37:45+09:00"
- }
- ]
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2233,75 +2626,66 @@ GET /v3.0/db-instances/{dbInstanceId}/db-schemas
---
-### DB 스키마 생성하기
+### DB 인스턴스 정지하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/db-schemas
+POST /v3.0/db-instances/{dbInstanceId}/stop
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|------|--------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaName | Body | String | O | DB 스키마 이름 |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### DB 스키마 삭제하기
+
-```http
-DELETE /v3.0/db-instances/{dbInstanceId}/db-schemas/{dbSchemaId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| dbSchemaId | URL | UUID | O | DB 스키마의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2313,14 +2697,9 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "logFiles": [
- {
- "logFileName": "xtra_full.log-20230317",
- "logFileType": "BACKUP",
- "logFileSize": 4096,
- "createdYmdt": "2023-03-17T14:02:29+09:00"
- }
- ]
+ "storageType": "General SSD",
+ "storageSize": 1,
+ "storageStatus": "DELETED"
}
```
@@ -2329,35 +2708,25 @@ GET /v3.0/db-instances/{dbInstanceId}/log-files
---
-### 로그 파일 내보내기
+### 스토리지 정보 수정하기
```http
-POST /v3.0/db-instances/{dbInstanceId}/log-files/export
+PUT /v3.0/db-instances/{dbInstanceId}/storage-info
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-----------------|------|--------|----|--------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-| logFileNames | Body | Array | O | 로그 파일 이름 목록
```json
{
- "logFileNames": ["xtra_full.log-20230317"],
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "logs/backup"
+ "storageSize": 1
}
```
@@ -2366,9 +2735,26 @@ POST /v3.0/db-instances/{dbInstanceId}/log-files/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2432,16 +2810,16 @@ GET /v3.0/backups
"totalCounts": 1,
"backups": [
{
- "backupId": "0017f136-3e01-4530-94aa-20661afe6632",
- "backupName": "backup",
- "backupStatus": "COMPLETED",
- "dbInstanceId": "142e6ccc-3bfb-4e1e-84f7-38861284fafd",
- "dbVersion": "MYSQL_V8028",
- "utilVersion": "8.0.28",
+ "backupId": "550e8400-e29b-41d4-a716-446655440000",
+ "backupName": "backupName-example",
+ "backupStatus": "BACKING_UP",
+ "dbInstanceId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbVersion": "MYSQL_V8036",
+ "utilVersion": "utilVersion-example",
"backupType": "AUTO",
- "backupSize": 4996786,
- "createdYmdt": "2023-02-21T00:35:00+09:00",
- "updatedYmdt": "2023-02-22T00:35:32+09:00"
+ "backupSize": 1,
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2452,6 +2830,45 @@ GET /v3.0/backups
---
+### 백업 삭제하기
+
+```http
+DELETE /v3.0/backups/{backupId}
+```
+
+#### 요청
+
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+
+#### 응답
+
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
```json
{
- "tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
- "username": "gildong.hong@nhn.com",
- "password": "password",
- "targetContainer": "container",
- "objectPath": "backups/backup_file"
+ "tenantId": "tenantId-example",
+ "username": "username-example",
+ "password": "password-example",
+ "targetContainer": "targetContainer-example",
+ "objectPath": "objectPath-example"
}
```
@@ -2487,12 +2904,26 @@ POST /v3.0/backups/{backupId}/export
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
-> [주의]
-> 수동 백업의 경우 백업이 수행된 DB 인스턴스가 존재하지 않으면, 백업을 오브젝트 스토리지로 내보낼 수 없습니다.
+
```json
-
{
- "dbInstanceName": "db-instance-restore",
- "dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
- "dbPort": 10000,
- "parameterGroupId": "132d383c-38e3-468a-a826-5e9a8fff15d0",
+ "dbInstanceName": "dbInstanceName",
+ "description": "description-example",
+ "dbFlavorId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbPort": 1,
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupIds": [],
+ "userGroupIds": [],
+ "useHighAvailability": false,
+ "pingInterval": 3,
+ "useDefaultNotification": false,
+ "useDeletionProtection": false,
"network": {
- "subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
+ "subnetId": "550e8400-e29b-41d4-a716-446655440000",
+ "usePublicAccess": false,
"availabilityZone": "kr-pub-a"
},
"storage": {
@@ -2555,10 +2992,14 @@ POST /v3.0/backups/{backupId}/restore
"storageSize": 20
},
"backup": {
- "backupPeriod": 1,
+ "backupPeriod": 0,
+ "backupRetryCount": 0,
+ "ftwrlWaitTimeout": 1800,
+ "replicationRegion": "KR4",
+ "useBackupLock": true,
"backupSchedules": [
{
- "backupWndBgnTime": "00:00:00",
+ "backupWndBgnTime": "backupWndBgnTime-example",
"backupWndDuration": "HALF_AN_HOUR"
}
]
@@ -2571,31 +3012,26 @@ POST /v3.0/backups/{backupId}/restore
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
-### 백업 삭제하기
+
-```http
-DELETE /v3.0/backups/{backupId}
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------|-----|------|----|---------|
-| backupId | URL | UUID | O | 백업의 식별자 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -2644,12 +3080,12 @@ GET /v3.0/db-security-groups
},
"dbSecurityGroups": [
{
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
"progressStatus": "NONE",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2022-02-19T19:18:13+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -2660,42 +3096,59 @@ GET /v3.0/db-security-groups
---
-### DB 보안 그룹 상세 보기
+### DB 보안 그룹 생성하기
```http
-GET /v3.0/db-security-groups/{dbSecurityGroupId}
+POST /v3.0/db-security-groups
```
#### 요청
-이 API는 요청 본문을 요구하지 않습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름
+
+```json
+{
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example",
+ "rules": [
+ {
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "description": "description-example"
+ }
+ ]
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-----|------|----|---------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
+
@@ -2707,30 +3160,7 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "dbSecurityGroup": {
- "dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "progressStatus": "NONE",
- "rules": [
- {
- "ruleId": "17c88ef6-95f1-4678-84f9-fee1b22e250d",
- "description": "description",
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0",
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
- ],
- "createdYmdt": "2023-02-19T19:18:13+09:00",
- "updatedYmdt": "2023-02-19T19:18:13+09:00"
- }
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2739,131 +3169,159 @@ GET /v3.0/db-security-groups/{dbSecurityGroupId}
---
-### DB 보안 그룹 생성하기
+### DB 보안 그룹 삭제하기
```http
-POST /v3.0/db-security-groups
+DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | DB 보안 그룹에 대한 추가 정보 |
-| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
-| rules.description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| rules.direction | Body | Enum | O | 통신 방향
-
-```json
-{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description",
- "rules": [
- {
- "direction": "INGRESS",
- "etherType": "IPV4",
- "port": {
- "portType": "PORT_RANGE",
- "minPort": 10000,
- "maxPort": 10005
- },
- "cidr": "0.0.0.0/0"
- }
- ]
-}
-```
+이 API는 요청 본문을 요구하지 않습니다.
-
```json
{
- "dbSecurityGroupName": "dbSecurityGroup",
- "description": "description"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "dbSecurityGroup": {
+ "dbSecurityGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "dbSecurityGroupName": "dbSecurityGroupName-example",
+ "description": "description-example",
+ "progressStatus": "NONE",
+ "rules": [
+ {
+ "ruleId": "550e8400-e29b-41d4-a716-446655440000",
+ "description": "description-example",
+ "direction": "INGRESS",
+ "etherType": "IPV4",
+ "port": {
+ "portType": "ALL",
+ "minPort": 1,
+ "maxPort": 1
+ },
+ "cidr": "cidr-example",
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
+ }
}
```
```json
{
- "header": {
- "resultCode": 0,
- "resultMessage": "SUCCESS",
- "isSuccessful": true
- }
+ "dbSecurityGroupName": "dbSecurityGroupName",
+ "description": "description-example"
}
```
@@ -2874,7 +3332,8 @@ DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -2891,20 +3350,17 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|--------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
-| direction | Body | Enum | O | 통신 방향
@@ -2914,11 +3370,12 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "PORT",
- "minPort": 10000,
- "maxPort": 10000
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2927,9 +3384,26 @@ POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
+
+
+
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
+```
+
+
@@ -2965,9 +3436,12 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
- "portType": "DB_PORT"
+ "portType": "ALL",
+ "minPort": 3306,
+ "maxPort": 1
},
- "cidr": "0.0.0.0/0"
+ "cidr": "cidr-example",
+ "description": "description-example"
}
```
@@ -2976,32 +3450,26 @@ PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
----
-
-### DB 보안 그룹 규칙 삭제하기
+
-```http
-DELETE /v3.0/db-security-groups/{dbSecurityGroupId}/rules
+```json
+{
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "jobId": "550e8400-e29b-41d4-a716-446655440000"
+}
```
-#### 요청
-
-이 API는 요청 본문을 요구하지 않습니다.
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|-------|-------|----|---------------------|
-| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
-| ruleIds | Query | Array | O | DB 보안 그룹 규칙의 식별자 목록 |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+
@@ -3046,13 +3510,13 @@ GET /v3.0/parameter-groups
},
"parameterGroups": [
{
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
"parameterGroupStatus": "STABLE",
- "createdYmdt": "2023-02-31T15:28:17+09:00",
- "updatedYmdt": "2023-02-31T15:28:17+09:00"
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
]
}
@@ -3061,44 +3525,41 @@ GET /v3.0/parameter-groups
+
+```json
+{
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036"
+}
+```
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|------------------|-----|------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
+
@@ -3110,91 +3571,130 @@ GET /v3.0/parameter-groups/{parameterGroupId}
"resultMessage": "SUCCESS",
"isSuccessful": true
},
- "parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
- "parameterGroupName": "parameter-group",
- "description": null,
- "dbVersion": "MYSQL_V8028",
- "parameterGroupStatus": "STABLE",
- "parameters": [
- {
- "parameterId": "fa040b5e-f29f-46de-8f0d-bba4cb82887a",
- "parameterFileGroup": "client",
- "parameterName": "socket",
- "fileParameterName": "socket",
- "value": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "defaultValue": "/home/tcrds/db/mysql/tmp/mysql.sock",
- "allowedValue": "",
- "updateType": "CONSTANT",
- "applyType": "BOTH"
- }
- ],
- "createdYmdt": "2023-03-13T11:02:28+09:00",
- "updatedYmdt": "2023-03-13T11:02:28+09:00"
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
```json
{
- "parameterGroupName": "parameter-group",
- "dbVersion": "MYSQL_V8028"
+ "header": {
+ "resultCode": 0,
+ "resultMessage": "SUCCESS",
+ "isSuccessful": true
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterGroupName": "parameterGroupName-example",
+ "description": "description-example",
+ "dbVersion": "MYSQL_V8036",
+ "parameterGroupStatus": "STABLE",
+ "parameters": [
+ {
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "parameterFileGroup": "CLIENT",
+ "parameterName": "parameterName-example",
+ "fileParameterName": "fileParameterName-example",
+ "value": "value-example",
+ "defaultValue": "defaultValue-example",
+ "allowedValue": "allowedValue-example",
+ "updateType": "VARIABLE",
+ "applyType": "BOTH"
+ }
+ ],
+ "createdYmdt": "2023-12-31T15:00:00+09:00",
+ "updatedYmdt": "2023-12-31T15:00:00+09:00"
}
```
```json
{
- "parameterGroupName": "parameter-group-copy",
- "description": "copy"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3203,32 +3703,31 @@ POST /v3.0/parameter-groups/{parameterGroupId}/copy
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|------------------|------|------|--------------|
-| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 파라미터 그룹 수정하기
+### 파라미터 그룹 복사하기
```http
-PUT /v3.0/parameter-groups/{parameterGroupId}
+POST /v3.0/parameter-groups/{parameterGroupId}/copy
```
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------|------|--------|----|----------------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| parameterGroupName | Body | String | X | 파라미터 그룹을 식별할 수 있는 이름 |
-| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| parameterGroupName | Body | String | O | 파라미터 그룹을 식별할 수 있는 이름
```json
{
- "parameterGroupName": "parameter-group"
+ "parameterGroupName": "parameterGroupName",
+ "description": "description-example"
}
```
@@ -3237,7 +3736,9 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
@@ -3248,7 +3749,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
- }
+ },
+ "parameterGroupId": "550e8400-e29b-41d4-a716-446655440000"
}
```
@@ -3265,12 +3767,12 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
#### 요청
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------------------------|------|--------|----|--------------|
-| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
-| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
-| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
-| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| parameterGroupId | URL | UUID | O | |
+| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
+| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
+| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
@@ -3279,8 +3781,8 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
{
"modifiedParameters": [
{
- "parameterId": "3abac558-7274-44e1-9f4a-f100f53f67ba",
- "value": "0"
+ "parameterId": "550e8400-e29b-41d4-a716-446655440000",
+ "value": "value-example"
}
]
}
@@ -3293,39 +3795,49 @@ PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
이 API는 응답 본문을 반환하지 않습니다.
-예시
예시
예시
@@ -319,9 +311,9 @@ GET /v3.0/db-versions
},
"dbVersions": [
{
- "dbVersion": "MYSQL_V8028",
- "dbVersionName": "MySQL 8.0.28",
- "restorableFromObs": true
+ "dbVersion": "MYSQL_V8036",
+ "dbVersionName": "dbVersionName-example",
+ "restorableFromObs": false
}
]
}
@@ -334,7 +326,7 @@ GET /v3.0/db-versions
## 데이터 스토리지
-### 데이터 스토리지 타입 목록 보기
+### 스토리지 타입 목록 보기
```http
GET /v3.0/storage-types
@@ -346,9 +338,9 @@ GET /v3.0/storage-types
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|-------|----------------|
-| storageTypes | Body | Array | 데이터 스토리지 타입 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageTypes | Body | Array | 스토리지 타입 목록 |
예시
예시
- DELETED
- CANNOT_PROGRESS
- FAILED
- ERROR
- CANCELED
- INTERRUPTED
- COMPLETED
- RUNNING
- PREPARING
- READY
- CREATED
- FAIL_TO_READY
- REGISTERED
- FAIL_TO_REGISTER
- WAIT_TO_REGISTER |
+| resourceRelations | Body | Array | 연관 리소스 목록 |
+| resourceRelations.resourceType | Body | String | 연관 리소스 유형 |
+| resourceRelations.resourceId | Body | String | 연관 리소스의 식별자 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
+| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태 |
-| dbInstances.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstances.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstances | Body | Array | DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
+| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
+| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
+| dbInstances.dbPort | Body | Number | DB 포트 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbInstances.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstances.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| progressStatus | Body | Enum | DB 인스턴스의 현재 작업 진행 상태 |
-| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
-| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
-| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
-| supportAuthenticationPlugin | Body | Boolean | 인증 플러그인 지원 여부 |
-| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
-| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
-| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
-예시
-
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbUserName | Body | String | O | DB 사용자 계정명 |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- 기본값: `NATIVE`(미지원 시 `CACHING_SHA2`)
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| authenticationPlugin | Body | Enum | X | 인증 Plugin
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | TLS Option
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbVersion | Body | Enum | X | DB 엔진 유형 |
-| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
기본값: `false` |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | X | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.tenantId | Body | String | O | 백업이 저장된 오브젝트 스토리지의 테넌트 ID |
+| restore.username | Body | String | O | NHN Cloud 계정 혹은 IAM 멤버 ID |
+| restore.password | Body | String | O | 백업이 저장된 오브젝트 스토리지의 API 비밀번호 |
+| restore.targetContainer | Body | String | O | 백업이 저장된 오브젝트 스토리지의 컨테이너 |
+| restore.objectPath | Body | String | O | 컨테이너에 저장된 백업의 경로 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
예시
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-### DB 인스턴스 강제 재시작하기
-```http
-POST /v3.0/db-instances/{dbInstanceId}/force-restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
+| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
+| supportAuthenticationPlugin | Body | Boolean | 인증 plugin 지원 여부 |
+| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
+| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
+| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
-### DB 인스턴스 백업하기
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbPort | Body | Number | X | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbVersion | Body | Enum | X | DB 엔진 버전 코드 |
+| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
- 기본값: `false` |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
예시
- 기본값: 원본 DB 인스턴스 값 |
-| dbPort | Body | Number | X | DB 포트
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자
- 기본값: 원본 DB 인스턴스 값 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록
- 기본값: 원본 DB 인스턴스 값 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: 원본 DB 인스턴스 값 |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | X | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | X | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | X | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전
- 기본값: 원본 DB 인스턴스 값 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각
- 예시: `00:00:00`
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간
- 기본값: 원본 DB 인스턴스 값 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
----
-
-### 복원 정보 조회
+예시
+
- `AUTO`: 자동
- `MANUAL`: 수동 |
-| restorableBackups.backup.backupStatus | Body | Enum | 백업 상태
- `BACKING_UP`: 백업 중인 경우
- `COMPLETED`: 백업이 완료된 경우
- `DELETING`: 백업이 삭제 중인 경우
- `DELETED`: 백업이 삭제된 경우
- `ERROR`: 오류가 발생한 경우 |
-| restorableBackups.backup.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| restorableBackups.backup.dbInstanceName | Body | String | 원본 DB 인스턴스의 이름 |
-| restorableBackups.backup.dbVersion | Body | String | DB 엔진 유형 |
-| restorableBackups.backup.failoverCount | Body | Number | 장애 조치 횟수 |
-| restorableBackups.backup.binLogFileName | Body | String | 바이너리 로그 파일 이름 |
-| restorableBackups.backup.binLogPosition | Body | Number | 바이너리 로그 파일 위치 |
-| restorableBackups.backup.createdYmdt | Body | DateTime | 백업 생성 일시 |
-| restorableBackups.backup.updatedYmdt | Body | DateTime | 백업 갱신 일시 |
-| restorableBackups.restorableBinLogs | Body | Array | 해당 백업을 이용하여 복원 가능한 바이너리 로그 이름 목록 |
-
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- `TIMESTAMP`: 복원 가능한 시간 이내의 시간을 이용한 시점 복원 타입
- `BINLOG`: 복원 가능한 바이너리 로그 위치를 이용한 시점 복원 타입 |
-
-#### restoreType이 `TIMESTAMP`인 경우
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------|-------|----------|----|-------------------------------------------|
-| restoreYmdt | Query | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+#### 요청
-#### restoreType이 `BINLOG`인 경우
+이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------|-------|--------|----|--------------------|
-| backupId | Query | UUID | O | 복원에 사용할 백업의 식별자 |
-| binLogFileName | Query | String | O | 복원에 사용할 바이너리 로그 이름 |
-| binLogPosition | Query | Number | O | 복원에 사용할 바이너리 로그 위치 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|----------|--------------------------------------|
-| executedYmdt | Body | DateTime | 쿼리 수행 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| lastQuery | Body | String | 마지막 수행 쿼리 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| backupPeriod | Body | Number | 백업 보관 기간(일) |
+| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
+| backupRetryCount | Body | Number | 백업 재시도 횟수 |
+| replicationRegion | Body | Enum | 백업 복제 리전
- KR1: `한국(판교)` |
+| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration
- HALF_AN_HOUR
- ONE_HOUR
- ONE_HOUR_AND_HALF
- TWO_HOURS
- TWO_HOURS_AND_HALF
- THREE_HOURS |
예시
- `TIMESTAMP`: 복원 가능 시간 범위 내의 특정 시각으로 시점 복원
- `BINLOG`: 복원 가능한 바이너리 로그 위치를 지정하여 시점 복원
- `BACKUP`: 기존에 생성한 백업을 이용하여 스냅숏 복원 |
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
-| dbPort | Body | Number | O | DB 포트
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
기본값: `false` |
-
-#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|----------|----|------------------------------------------------------------------------------------------------|
-| restore.restoreYmdt | Body | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD)
복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능하다. |
-
-
-예시
-
- 최솟값: `0`
- 최댓값: `730` |
+| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
-
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| tenantId | Body | String | O | 백업이 저장될 오브젝트 스토리지의 테넌트 ID
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
- 최솟값: `1`
- 최댓값: `600` |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 고가용성 다시 시작하기
+### DB 스키마 목록 보기
```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/resume
+GET /v3.0/db-instances/{dbInstanceId}/db-schemas
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSchemas | Body | Array | DB 스키마 목록 |
+| dbSchemas.dbSchemaId | Body | UUID | DB 스키마의 식별자 |
+| dbSchemas.dbSchemaName | Body | String | DB 스키마 이름 |
+| dbSchemas.dbSchemaStatus | Body | Enum | DB 스키마의 현재 상태
- STABLE
- CREATING
- SYNCING
- DELETING
- DELETED |
+| dbSchemas.createdYmdt | Body | DateTime | 생성 일시 |
-### 고가용성 일시 중지하기
+예시
+
- 최대 길이: `64`
- 영문 시작, 영문/숫자/_ 허용, 1~64자, MySQL 예약어 불가 |
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 고가용성 분리하기
+예시
+예시
+
- `DETACHED`: 부착되지 않음
- `ATTACHED`: 부착됨
- `DELETED`: 삭제됨 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최솟값: 현재값
- 최댓값: `2048` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 백업 정보 보기
+### DB 사용자 목록 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/backup-info
+GET /v3.0/db-instances/{dbInstanceId}/db-users
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------------|------|---------|----------------|
-| backupPeriod | Body | Number | 백업 보관 기간(일) |
-| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
-| backupRetryCount | Body | Number | 백업 재시도 횟수 |
-| replicationRegion | Body | Enum | 백업 복제 리전 |
-| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
-| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbUsers | Body | Array | DB 사용자 목록 |
+| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
+| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
+| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
+| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- STABLE
- CREATING
- UPDATING
- SYNCING
- DELETING
- DELETED |
+| dbUsers.createdYmdt | Body | DateTime | 생성 일시 |
+| dbUsers.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbUsers.authenticationPlugin | Body | Enum | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| dbUsers.tlsOption | Body | Enum | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
- 최솟값: `0`
- 최댓값: `730` |
-| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
-| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
-| replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| host | Body | String | O | DB 사용자 계정의 호스트명
- 최대 길이: `45` |
+| authorityType | Body | Enum | O | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
-`EXTERNAL`: 외부 접속 도메인
-`INTERNAL`: 내부 접속 도메인
-`PUBLIC`: (Deprecated) 외부 접속 도메인
-`PRIVATE`: (Deprecated) 내부 접속 도메인 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `UPDATING`: 수정 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbUsers.authenticationPlugin | Body | Enum | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| dbUsers.tlsOption | Body | Enum | TLS Option
- NONE
- SSL
- X509 |
-| dbUsers.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbUsers.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `32` |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
-| host | Body | String | O | DB 사용자 계정의 호스트명
- 예시: `1.1.1.%` |
-| authorityType | Body | Enum | O | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- 기본값: `NATIVE`(미지원 시 `CACHING_SHA2`)
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 설정할 수 있습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserId | URL | UUID | O | |
+| dbPassword | Body | String | X | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| authorityType | Body | Enum | X | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
예시
+예시
+
- 최솟값: `1`
- 최댓값: `600` |
+
+예시
+예시
+예시
+예시
+예시
+예시
+
- ERROR
- BINLOG
- GENERAL
- SLOW_QUERY
- AUDIT
- BACKUP |
+| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
+| logFiles.createdYmdt | Body | DateTime | 생성 일시 |
+
+예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 회원 또는 IAM 멤버 ID |
+| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+
+예시
+예시
+예시
+
- 최소 길이: `4`
- 최대 길이: `256` |
-| authorityType | Body | Enum | X | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 수정할 수 있습니다.
-> `authenticationPlugin`의 값은 `dbPassword`와 동시에 수정을 해야 합니다.
+예시
+예시
예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | X | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | X | 데이터 스토리지 타입 |
+| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | X | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backup.backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+
+예시
+예시
+
- 기본값: `false` |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
+
+예시
+예시
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.restoreType | Body | Enum | O | 복원 타입
- TIMESTAMP: `복원 가능한 시간 이내의 시간을 이용한 시점 복원`
- BINLOG: `복원 가능한 바이너리 로그 위치를 이용한 시점 복원`
- BACKUP: `기존에 생성한 백업을 이용한 스냅숏 복원` |
+| restore.binLog.binLogFileName | Body | String | X | 복원에 사용할 바이너리 로그 이름 |
+| restore.binLog.binLogPosition | Body | Object | X | 복원에 사용할 바이너리 로그 위치 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+
+#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.restoreYmdt | Body | DateTime | X | DB 인스턴스 복원 일시 |
+
+복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능합니다.
+
+#### 바이너리 로그를 이용한 시점 복원 시 요청(restoreType이 `BINLOG`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+| restore.binLog | Body | Object | X | 복원에 사용할 바이너리 로그 정보 객체 |
+
+바이너리 로그를 이용한 시점 복원 시 기준 백업의 바이너리 로그 파일 및 위치를 기준으로 그 이후에 기록된 로그에 대해 복원이 가능합니다.
+
+#### 백업을 이용한 복원 시 요청(restoreType이 `BACKUP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+
+예시
+예시
+
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbSchemas.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
예시
+
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| logFiles | Body | Array | 로그 파일 목록 |
-| logFiles.logFileName | Body | String | 로그 파일 이름 |
-| logFiles.logFileType | Body | Enum | 로그 파일 타입 종류
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
-| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
-| logFiles.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageType | Body | Enum | 데이터 스토리지 타입 |
+| storageSize | Body | Number | 데이터 스토리지 크기(GB) |
+| storageStatus | Body | Enum | 데이터 스토리지의 현재 상태
- DELETED: `삭제됨`
- PENDING_DELETION: `삭제 유예됨`
- DELETION_RESERVED: `삭제 예약됨 (스냅샷 정리 대기)`
- DETACHED: `해제됨`
- ATTACHED: `할당됨` |
예시
- 최소 크기: `1` |
-| tenantId | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 테넌트 ID |
-| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
-| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
-| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
-| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최댓값: `2048` |
예시
예시
+
- 최솟값: `1` |
-| size | Query | Number | O | 조회할 목록의 페이지 크기
- 최솟값: `1`
- 최댓값: `100` |
-| backupType | Query | Enum | X | 백업 유형
- `AUTO`: 자동
- `MANUAL`: 수동
- 기본값: 전체 |
-| dbInstanceId | Query | UUID | X | 원본 DB 인스턴스의 식별자 |
-| dbVersion | Query | Enum | X | DB 엔진 유형 |
-
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|-----------------------------------|
-| totalCounts | Body | Number | 전체 백업 목록 수 |
-| backups | Body | Array | 백업 목록 |
-| backups.backupId | Body | UUID | 백업의 식별자 |
-| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
-| backups.backupStatus | Body | Enum | 백업의 현재 상태 |
-| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| backups.dbVersion | Body | Enum | DB 엔진 유형 |
-| backups.utilVersion | Body | String | 백업에 사용된 xtrabackup 유틸리티 버전 |
-| backups.backupType | Body | Enum | 백업 유형 |
-| backups.backupSize | Body | Number | 백업의 크기(Byte) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 백업 목록 수 |
+| backups | Body | Array | 백업 목록 |
+| backups.backupId | Body | UUID | 백업의 식별자 |
+| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
+| backups.backupStatus | Body | Enum | 백업의 현재 상태
- BACKING_UP: `백업 중 (스피너)`
- VERIFYING: `검증 중 (스피너)`
- COMPLETED: `사용 가능 (녹색 아이콘)`
- DELETING: `삭제 중 (스피너)`
- DELETED: `삭제 됨 (회색 아이콘)`
- ERROR: `에러 (적색 아이콘)` |
+| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
+| backups.dbVersion | Body | Enum | DB 엔진 유형 |
+| backups.utilVersion | Body | String | 유틸리티 버전 |
+| backups.backupType | Body | Enum | 백업 유형
- AUTO
- MANUAL |
+| backups.backupSize | Body | Number | 백업의 크기(Byte) |
+| backups.createdYmdt | Body | DateTime | 생성 일시 |
+| backups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
+| rules.direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| rules.etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| rules.port | Body | Object | O | 포트 객체 |
+| rules.port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| rules.cidr | Body | String | O | CIDR |
+| rules.description | Body | String | X | 보안 그룹 규칙에 대한 추가 정보 |
+
+예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.port | Body | Object | 포트 객체 |
-| rules.port.portType | Body | Enum | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다.
- `PORT`: 지정된 포트값으로 설정됩니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | 최소 포트 범위 |
-| rules.port.maxPort | Body | Number | 최대 포트 범위 |
-| rules.cidr | Body | String | 허용할 트래픽의 원격 소스 |
-| rules.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| rules.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-| rules.port | Body | Object | O | 포트 객체 |
-| rules.port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
-
-예시
-
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroup.rules | Body | Array | DB 보안 그룹 규칙 목록 |
+| dbSecurityGroup.rules.ruleId | Body | UUID | DB 보안 그룹 규칙의 식별자 |
+| dbSecurityGroup.rules.description | Body | String | DB 보안 그룹 규칙에 대한 추가 정보 |
+| dbSecurityGroup.rules.direction | Body | Enum | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| dbSecurityGroup.rules.etherType | Body | Enum | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| dbSecurityGroup.rules.port | Body | Object | 포트 객체 |
+| dbSecurityGroup.rules.port.portType | Body | Enum | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| dbSecurityGroup.rules.port.minPort | Body | Number | 최소 포트 범위 |
+| dbSecurityGroup.rules.port.maxPort | Body | Number | 최대 포트 범위 |
+| dbSecurityGroup.rules.cidr | Body | String | CIDR |
+| dbSecurityGroup.rules.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.rules.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbSecurityGroup.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| ruleId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameterGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroups | Body | Array | 파라미터 그룹 목록 |
+| parameterGroups.parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+| parameterGroups.parameterGroupName | Body | String | 파라미터 그룹을 식별할 수 있는 이름 |
+| parameterGroups.description | Body | String | 파라미터 그룹에 대한 추가 정보 |
+| parameterGroups.dbVersion | Body | Enum | DB 엔진 유형 |
+| parameterGroups.parameterGroupStatus | Body | Enum | 파라미터 그룹의 현재 상태
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameterGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+
+예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameters | Body | Array | 파라미터 목록 |
-| parameters.parameterId | Body | UUID | 파라미터 식별자 |
-| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- `CLIENT`: client
- `MYSQL`: mysql
- `MYSQLD`: mysqld |
-| parameters.parameterName | Body | String | 파라미터 이름 |
-| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
-| parameters.value | Body | String | 현재 설정된 값 |
-| parameters.defaultValue | Body | String | 기본값 |
-| parameters.allowedValue | Body | String | 허용된 값 |
-| parameters.updateType | Body | Enum | 수정 타입
- `VARIABLE`: 언제든 수정 가능
- `CONSTANT`: 수정 불가능
- `INIT_VARIABLE`: DB 인스턴스 생성 시에만 수정 가능 |
-| parameters.applyType | Body | Enum | 적용 타입
- `SESSION`: 세션 적용
- `FILE`: 설정 파일 적용(재시작 필요)
- `BOTH`: 전체(재시작 필요) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
예시
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameters | Body | Array | 파라미터 목록 |
+| parameters.parameterId | Body | UUID | 파라미터의 식별자 |
+| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- CLIENT
- MYSQL
- MYSQLD |
+| parameters.parameterName | Body | String | 파라미터 이름 |
+| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
+| parameters.value | Body | String | 현재 설정된 값 |
+| parameters.defaultValue | Body | String | 기본값 |
+| parameters.allowedValue | Body | String | 허용된 값 |
+| parameters.updateType | Body | Enum | 수정 타입
- VARIABLE
- CONSTANT
- INIT_VARIABLE |
+| parameters.applyType | Body | Enum | 적용 타입
- BOTH
- SESSION
- FILE |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
예시
예시
-예시
- 기본값: `false` |
+
+예시
+예시
예시
-
`ENTIRE`: 프로젝트 멤버 전체를 포함하는 사용자 그룹
`INDIVIDUAL_MEMBER`: 특정 프로젝트 멤버를 포함하는 사용자 그룹 |
-| members | Body | Array | 프로젝트 멤버 목록 |
-| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| userGroupId | Body | UUID | 사용자 그룹의 식별자 |
+| userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
+| userGroupTypeCode | Body | Enum | 사용자 그룹 종류
- ENTIRE
- INDIVIDUAL_MEMBER |
+| members | Body | Array | 프로젝트 멤버 목록 |
+| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
`selectAllYN`이 true인 경우 해당 필드 값은 무시됨 |
-| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 유무
true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
-
-예시
-
true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupId | URL | UUID | O | |
+| userGroupName | Body | String | O | 사용자 그룹을 식별할 수 있는 이름 |
+| memberIds | Body | Array | X | 프로젝트 멤버의 식별자 목록 |
+| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 포함 여부
- 기본값: `false` |
예시
예시
-예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| notifyEmail | Body | Boolean | X | 이메일 알림 여부
- 기본값: `true` |
+| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `true` |
+| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `true` |
+| dbInstanceIds | Body | Array | O | 감시 대상 DB 인스턴스의 식별자 목록 |
+| userGroupIds | Body | Array | O | 사용자 그룹의 식별자 목록 |
+
+예시
+예시
예시
- 기본값: `true` |
-| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `true` |
-| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `true` |
-| dbInstanceIds | Body | Array | O | 감시 대상 DB 인스턴스의 식별자 목록 |
-| userGroupIds | Body | Array | O | 사용자 그룹의 식별자 목록 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
+| notificationGroupName | Body | String | X | 알림 그룹을 식별할 수 있는 이름 |
+| notifyEmail | Body | Boolean | X | 이메일 알림 여부
- 기본값: `false` |
+| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `false` |
+| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `false` |
+| dbInstanceIds | Body | Array | X | 감시 대상 DB 인스턴스의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
예시
예시
-예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| events.eventCode | Body | Enum | 발생한 이벤트의 유형 |
+| events.sourceId | Body | String | 이벤트 소스의 식별자 |
+| events.sourceName | Body | String | 이벤트 소스를 식별할 수 있는 이름 |
+| events.messages | Body | Array | 이벤트 메세지 목록 |
+| events.messages.langCode | Body | Enum | 언어 코드
- KO
- EN
- JA
- ZH |
+| events.messages.message | Body | String | 이벤트 메세지 |
+| events.eventYmdt | Body | DateTime | 이벤트 발생 일시 |
예시
- 최소 크기: `1` |
-| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| interval | Query | Number | X | 조회 간격 |
+이 API는 요청 본문을 요구하지 않습니다.
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------------|------|-----------|----------|
-| metricStatistics | Body | Array | 통계 정보 목록 |
-| metricStatistics.measureName | Body | Enum | 측정 항목 유형 |
-| metricStatistics.unit | Body | String | 측정값 단위 |
-| metricStatistics.values | Body | Array | 측정값 목록 |
-| metricStatistics.values.timestamp | Body | Timestamp | 측정 시간 |
-| metricStatistics.values.value | Body | Object | 측정값 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 이벤트 구독 목록 수 |
+| eventSubscriptions | Body | Array | 이벤트 구독 목록 |
+| eventSubscriptions.eventSubscriptionId | Body | UUID | 이벤트 구독의 식별자 |
+| eventSubscriptions.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptions.eventSubscriptionName | Body | String | 이벤트 구독의 식별할 수 있는 이름 |
+| eventSubscriptions.enabled | Body | Boolean | 활성화 여부 |
+| eventSubscriptions.notifyEmail | Body | Boolean | 이메일 발송 여부 |
+| eventSubscriptions.notifySms | Body | Boolean | SMS 발송 여부 |
+| eventSubscriptions.eventCodes | Body | Array | 구독할 이벤트 코드 목록 |
+| eventSubscriptions.sources | Body | Array | 구독할 이벤트 소스 목록 |
+| eventSubscriptions.sources.sourceId | Body | String | 이벤트 소스의 식별자 |
+| eventSubscriptions.sources.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptions.userGroupIds | Body | Array | 이벤트 구독 중인 사용자 그룹의 식별자 목록 |
+| eventSubscriptions.createdYmdt | Body | DateTime | 생성 일시 |
예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptionName | Body | String | O | 이벤트 구독을 식별할 수 있는 이름 |
+| enabled | Body | Boolean | O | 활성화 여부 |
+| notifyEmail | Body | Boolean | O | 이메일 발송 여부 |
+| notifySms | Body | Boolean | O | SMS 발송 여부 |
+| eventCodes | Body | Array | O | 구독할 이벤트 코드 목록 |
+| sources | Body | Array | O | 구독할 이벤트 소스 목록 |
+| sources.sourceId | Body | UUID | O | 이벤트 소스의 식별자 |
+| sources.eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| userGroupIds | Body | Array | O | 이벤트 구독할 사용자 그룹의 식별자 목록 |
+
+예시
+
- 최솟값: `1` |
-| size | Query | Number | O | 조회할 목록의 페이지 크기
- 최솟값: `1`
- 최댓값: `100` |
-| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| eventCategoryType | Query | Enum | O | 조회할 이벤트 카테고리 유형
- `ALL`: 전체
- `INSTANCE`: DB 인스턴스
- `BACKUP`: 백업
- `DB_SECURITY_GROUP`: DB 보안 그룹
- `TENANT`: 테넌트 |
-| sourceId | Query | String | X | 이벤트가 발생한 대상 리소스의 식별자 |
-| keyword | Query | String | X | 이벤트 메시지에 포함된 문자열 검색어 |
-| ascendingOrder | Query | Enum | X | 이벤트 메시지 정렬 순서
- `ASC`: 오름차순
- `DESC`: 내림차순
- 기본값: `DESC` |
+예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptionName | Body | String | X | 이벤트 구독을 식별할 수 있는 이름 |
+| enabled | Body | Boolean | X | 활성화 여부 |
+| notifyEmail | Body | Boolean | X | 이메일 발송 여부 |
+| notifySms | Body | Boolean | X | SMS 발송 여부 |
+| eventCodes | Body | Array | X | 구독할 이벤트 코드 목록 |
+| sources | Body | Array | X | 구독할 이벤트 소스 목록 |
+| sources.sourceId | Body | UUID | O | 이벤트 소스의 식별자 |
+| sources.eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| userGroupIds | Body | Array | X | 이벤트 구독할 사용자 그룹의 식별자 목록 |
예시
- 성공: `0`
- 실패: `0`이 아닌 값 |
-| resultMessage | String | 결과 메시지 |
-| isSuccessful | Boolean | 성공 여부 |
-
-
+| 이름 | 형식 | 설명 |
+|-----|-----|-----|
+| resultCode | Number | 결과 코드
- 성공: `0`
- 실패: `0`이 아닌 값 |
+| resultMessage | String | 결과 메시지 |
+| isSuccessful | Boolean | 성공 여부 |
### DB 엔진 유형
-| DB 엔진 유형 | 생성 가능 여부 | OBS로부터 복원 가능 여부 | 인증 플러그인 지원 정보 |
-|--------------|----------|-----------------|--------|
-| MYSQL\_V5633 | X | X | NATIVE |
-| MYSQL\_V5715 | O | O | NATIVE |
-| MYSQL\_V5719 | O | O | NATIVE |
-| MYSQL\_V5726 | O | O | NATIVE |
-| MYSQL\_V5731 | X | X | NATIVE |
-| MYSQL\_V5733 | O | X | NATIVE, SHA256 |
-| MYSQL\_V5737 | O | O | NATIVE, SHA256 |
-| MYSQL\_V8018 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8023 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8028 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8032 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8033 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8034 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8035 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8036 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8040 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8041 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8042 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8043 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8044 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8045 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8405 | O | O | CACHING_SHA2 |
-| MYSQL_V8406 | O | O | CACHING_SHA2 |
-| MYSQL_V8407 | O | O | CACHING_SHA2 |
-| MYSQL_V8408 | O | O | CACHING_SHA2 |
+| DB 엔진 유형 | 생성 가능 여부 | OBS로부터 복원 가능 여부 | 인증 플러그인 지원 |
+|------------|----------|------------------|------------|
+| MYSQL_V5633 | X | X | NATIVE |
+| MYSQL_V5715 | O | O | NATIVE |
+| MYSQL_V5719 | O | O | NATIVE |
+| MYSQL_V5726 | O | O | NATIVE |
+| MYSQL_V5731 | X | X | NATIVE |
+| MYSQL_V5733 | O | X | NATIVE, SHA256 |
+| MYSQL_V5737 | O | O | NATIVE, SHA256 |
+| MYSQL_V8018 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8023 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8028 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8032 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8033 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8034 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8035 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8036 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8040 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8041 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8042 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8043 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8044 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8045 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8405 | O | O | CACHING_SHA2 |
+| MYSQL_V8406 | O | O | CACHING_SHA2 |
+| MYSQL_V8407 | O | O | CACHING_SHA2 |
+| MYSQL_V8408 | O | O | CACHING_SHA2 |
* ENUM 타입의 dbVersion 필드에 대해 해당 값을 사용할 수 있습니다.
* 버전에 따라 생성 또는 복원이 불가능한 경우가 있을 수 있습니다.
## 프로젝트 정보
-### 리전 목록 보기
+### 프로젝트 멤버 목록 보기
```http
-GET /v3.0/project/regions
+GET /v3.0/project/members
```
#### 요청
@@ -105,11 +104,13 @@ GET /v3.0/project/regions
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------|------|---------|----------------------------------------------------------------------------|
-| regions | Body | Array | 리전 목록 |
-| regions.regionCode | Body | Enum | 리전 코드
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| regions.isEnabled | Body | Boolean | 리전의 활성화 여부 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| members | Body | Array | 프로젝트 멤버 목록 |
+| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
+| members.memberName | Body | String | 프로젝트 멤버의 이름 |
+| members.emailAddress | Body | String | 프로젝트 멤버의 이메일 주소 |
+| members.phoneNumber | Body | String | 프로젝트 멤버의 전화번호 |
예시
- KR1: `한국(판교)` |
+| regions.isEnabled | Body | Boolean | 리전의 활성화 여부 |
예시
예시
예시
예시
@@ -319,9 +311,9 @@ GET /v3.0/db-versions
},
"dbVersions": [
{
- "dbVersion": "MYSQL_V8028",
- "dbVersionName": "MySQL 8.0.28",
- "restorableFromObs": true
+ "dbVersion": "MYSQL_V8036",
+ "dbVersionName": "dbVersionName-example",
+ "restorableFromObs": false
}
]
}
@@ -334,7 +326,7 @@ GET /v3.0/db-versions
## 데이터 스토리지
-### 데이터 스토리지 타입 목록 보기
+### 스토리지 타입 목록 보기
```http
GET /v3.0/storage-types
@@ -346,9 +338,9 @@ GET /v3.0/storage-types
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|-------|----------------|
-| storageTypes | Body | Array | 데이터 스토리지 타입 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageTypes | Body | Array | 스토리지 타입 목록 |
예시
예시
- DELETED
- CANNOT_PROGRESS
- FAILED
- ERROR
- CANCELED
- INTERRUPTED
- COMPLETED
- RUNNING
- PREPARING
- READY
- CREATED
- FAIL_TO_READY
- REGISTERED
- FAIL_TO_REGISTER
- WAIT_TO_REGISTER |
+| resourceRelations | Body | Array | 연관 리소스 목록 |
+| resourceRelations.resourceType | Body | String | 연관 리소스 유형 |
+| resourceRelations.resourceId | Body | String | 연관 리소스의 식별자 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
+| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태 |
-| dbInstances.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstances.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstances | Body | Array | DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
+| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
+| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
+| dbInstances.dbPort | Body | Number | DB 포트 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbInstances.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstances.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| progressStatus | Body | Enum | DB 인스턴스의 현재 작업 진행 상태 |
-| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
-| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
-| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
-| supportAuthenticationPlugin | Body | Boolean | 인증 플러그인 지원 여부 |
-| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
-| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
-| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
-예시
-
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbUserName | Body | String | O | DB 사용자 계정명 |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- 기본값: `NATIVE`(미지원 시 `CACHING_SHA2`)
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| authenticationPlugin | Body | Enum | X | 인증 Plugin
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | TLS Option
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbVersion | Body | Enum | X | DB 엔진 유형 |
-| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
기본값: `false` |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | X | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.tenantId | Body | String | O | 백업이 저장된 오브젝트 스토리지의 테넌트 ID |
+| restore.username | Body | String | O | NHN Cloud 계정 혹은 IAM 멤버 ID |
+| restore.password | Body | String | O | 백업이 저장된 오브젝트 스토리지의 API 비밀번호 |
+| restore.targetContainer | Body | String | O | 백업이 저장된 오브젝트 스토리지의 컨테이너 |
+| restore.objectPath | Body | String | O | 컨테이너에 저장된 백업의 경로 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
예시
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-### DB 인스턴스 강제 재시작하기
-```http
-POST /v3.0/db-instances/{dbInstanceId}/force-restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
+| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
+| supportAuthenticationPlugin | Body | Boolean | 인증 plugin 지원 여부 |
+| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
+| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
+| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
-### DB 인스턴스 백업하기
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbPort | Body | Number | X | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbVersion | Body | Enum | X | DB 엔진 버전 코드 |
+| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
- 기본값: `false` |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
예시
- 기본값: 원본 DB 인스턴스 값 |
-| dbPort | Body | Number | X | DB 포트
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자
- 기본값: 원본 DB 인스턴스 값 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록
- 기본값: 원본 DB 인스턴스 값 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: 원본 DB 인스턴스 값 |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | X | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | X | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | X | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전
- 기본값: 원본 DB 인스턴스 값 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각
- 예시: `00:00:00`
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간
- 기본값: 원본 DB 인스턴스 값 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
----
-
-### 복원 정보 조회
+예시
+
- `AUTO`: 자동
- `MANUAL`: 수동 |
-| restorableBackups.backup.backupStatus | Body | Enum | 백업 상태
- `BACKING_UP`: 백업 중인 경우
- `COMPLETED`: 백업이 완료된 경우
- `DELETING`: 백업이 삭제 중인 경우
- `DELETED`: 백업이 삭제된 경우
- `ERROR`: 오류가 발생한 경우 |
-| restorableBackups.backup.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| restorableBackups.backup.dbInstanceName | Body | String | 원본 DB 인스턴스의 이름 |
-| restorableBackups.backup.dbVersion | Body | String | DB 엔진 유형 |
-| restorableBackups.backup.failoverCount | Body | Number | 장애 조치 횟수 |
-| restorableBackups.backup.binLogFileName | Body | String | 바이너리 로그 파일 이름 |
-| restorableBackups.backup.binLogPosition | Body | Number | 바이너리 로그 파일 위치 |
-| restorableBackups.backup.createdYmdt | Body | DateTime | 백업 생성 일시 |
-| restorableBackups.backup.updatedYmdt | Body | DateTime | 백업 갱신 일시 |
-| restorableBackups.restorableBinLogs | Body | Array | 해당 백업을 이용하여 복원 가능한 바이너리 로그 이름 목록 |
-
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- `TIMESTAMP`: 복원 가능한 시간 이내의 시간을 이용한 시점 복원 타입
- `BINLOG`: 복원 가능한 바이너리 로그 위치를 이용한 시점 복원 타입 |
-
-#### restoreType이 `TIMESTAMP`인 경우
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------|-------|----------|----|-------------------------------------------|
-| restoreYmdt | Query | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+#### 요청
-#### restoreType이 `BINLOG`인 경우
+이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------|-------|--------|----|--------------------|
-| backupId | Query | UUID | O | 복원에 사용할 백업의 식별자 |
-| binLogFileName | Query | String | O | 복원에 사용할 바이너리 로그 이름 |
-| binLogPosition | Query | Number | O | 복원에 사용할 바이너리 로그 위치 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|----------|--------------------------------------|
-| executedYmdt | Body | DateTime | 쿼리 수행 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| lastQuery | Body | String | 마지막 수행 쿼리 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| backupPeriod | Body | Number | 백업 보관 기간(일) |
+| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
+| backupRetryCount | Body | Number | 백업 재시도 횟수 |
+| replicationRegion | Body | Enum | 백업 복제 리전
- KR1: `한국(판교)` |
+| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration
- HALF_AN_HOUR
- ONE_HOUR
- ONE_HOUR_AND_HALF
- TWO_HOURS
- TWO_HOURS_AND_HALF
- THREE_HOURS |
예시
- `TIMESTAMP`: 복원 가능 시간 범위 내의 특정 시각으로 시점 복원
- `BINLOG`: 복원 가능한 바이너리 로그 위치를 지정하여 시점 복원
- `BACKUP`: 기존에 생성한 백업을 이용하여 스냅숏 복원 |
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
-| dbPort | Body | Number | O | DB 포트
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
기본값: `false` |
-
-#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|----------|----|------------------------------------------------------------------------------------------------|
-| restore.restoreYmdt | Body | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD)
복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능하다. |
-
-
-예시
-
- 최솟값: `0`
- 최댓값: `730` |
+| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
-
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| tenantId | Body | String | O | 백업이 저장될 오브젝트 스토리지의 테넌트 ID
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
- 최솟값: `1`
- 최댓값: `600` |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 고가용성 다시 시작하기
+### DB 스키마 목록 보기
```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/resume
+GET /v3.0/db-instances/{dbInstanceId}/db-schemas
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSchemas | Body | Array | DB 스키마 목록 |
+| dbSchemas.dbSchemaId | Body | UUID | DB 스키마의 식별자 |
+| dbSchemas.dbSchemaName | Body | String | DB 스키마 이름 |
+| dbSchemas.dbSchemaStatus | Body | Enum | DB 스키마의 현재 상태
- STABLE
- CREATING
- SYNCING
- DELETING
- DELETED |
+| dbSchemas.createdYmdt | Body | DateTime | 생성 일시 |
-### 고가용성 일시 중지하기
+예시
+
- 최대 길이: `64`
- 영문 시작, 영문/숫자/_ 허용, 1~64자, MySQL 예약어 불가 |
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 고가용성 분리하기
+예시
+예시
+
- `DETACHED`: 부착되지 않음
- `ATTACHED`: 부착됨
- `DELETED`: 삭제됨 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최솟값: 현재값
- 최댓값: `2048` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-
-### 백업 정보 보기
+### DB 사용자 목록 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/backup-info
+GET /v3.0/db-instances/{dbInstanceId}/db-users
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------------|------|---------|----------------|
-| backupPeriod | Body | Number | 백업 보관 기간(일) |
-| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
-| backupRetryCount | Body | Number | 백업 재시도 횟수 |
-| replicationRegion | Body | Enum | 백업 복제 리전 |
-| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
-| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbUsers | Body | Array | DB 사용자 목록 |
+| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
+| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
+| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
+| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- STABLE
- CREATING
- UPDATING
- SYNCING
- DELETING
- DELETED |
+| dbUsers.createdYmdt | Body | DateTime | 생성 일시 |
+| dbUsers.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbUsers.authenticationPlugin | Body | Enum | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| dbUsers.tlsOption | Body | Enum | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
- 최솟값: `0`
- 최댓값: `730` |
-| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
-| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
-| replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| host | Body | String | O | DB 사용자 계정의 호스트명
- 최대 길이: `45` |
+| authorityType | Body | Enum | O | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
-`EXTERNAL`: 외부 접속 도메인
-`INTERNAL`: 내부 접속 도메인
-`PUBLIC`: (Deprecated) 외부 접속 도메인
-`PRIVATE`: (Deprecated) 내부 접속 도메인 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `UPDATING`: 수정 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbUsers.authenticationPlugin | Body | Enum | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| dbUsers.tlsOption | Body | Enum | TLS Option
- NONE
- SSL
- X509 |
-| dbUsers.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbUsers.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `32` |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
-| host | Body | String | O | DB 사용자 계정의 호스트명
- 예시: `1.1.1.%` |
-| authorityType | Body | Enum | O | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- 기본값: `NATIVE`(미지원 시 `CACHING_SHA2`)
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 설정할 수 있습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserId | URL | UUID | O | |
+| dbPassword | Body | String | X | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| authorityType | Body | Enum | X | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
예시
+예시
+
- 최솟값: `1`
- 최댓값: `600` |
+
+예시
+예시
+예시
+예시
+예시
+예시
+
- ERROR
- BINLOG
- GENERAL
- SLOW_QUERY
- AUDIT
- BACKUP |
+| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
+| logFiles.createdYmdt | Body | DateTime | 생성 일시 |
+
+예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 회원 또는 IAM 멤버 ID |
+| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+
+예시
+예시
+예시
+
- 최소 길이: `4`
- 최대 길이: `256` |
-| authorityType | Body | Enum | X | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 수정할 수 있습니다.
-> `authenticationPlugin`의 값은 `dbPassword`와 동시에 수정을 해야 합니다.
+예시
+예시
예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | X | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | X | 데이터 스토리지 타입 |
+| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | X | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backup.backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+
+예시
+예시
+
- 기본값: `false` |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
+
+예시
+예시
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.restoreType | Body | Enum | O | 복원 타입
- TIMESTAMP: `복원 가능한 시간 이내의 시간을 이용한 시점 복원`
- BINLOG: `복원 가능한 바이너리 로그 위치를 이용한 시점 복원`
- BACKUP: `기존에 생성한 백업을 이용한 스냅숏 복원` |
+| restore.binLog.binLogFileName | Body | String | X | 복원에 사용할 바이너리 로그 이름 |
+| restore.binLog.binLogPosition | Body | Object | X | 복원에 사용할 바이너리 로그 위치 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+
+#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.restoreYmdt | Body | DateTime | X | DB 인스턴스 복원 일시 |
+
+복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능합니다.
+
+#### 바이너리 로그를 이용한 시점 복원 시 요청(restoreType이 `BINLOG`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+| restore.binLog | Body | Object | X | 복원에 사용할 바이너리 로그 정보 객체 |
+
+바이너리 로그를 이용한 시점 복원 시 기준 백업의 바이너리 로그 파일 및 위치를 기준으로 그 이후에 기록된 로그에 대해 복원이 가능합니다.
+
+#### 백업을 이용한 복원 시 요청(restoreType이 `BACKUP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+
+예시
+예시
+
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbSchemas.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
예시
+
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| logFiles | Body | Array | 로그 파일 목록 |
-| logFiles.logFileName | Body | String | 로그 파일 이름 |
-| logFiles.logFileType | Body | Enum | 로그 파일 타입 종류
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
-| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
-| logFiles.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageType | Body | Enum | 데이터 스토리지 타입 |
+| storageSize | Body | Number | 데이터 스토리지 크기(GB) |
+| storageStatus | Body | Enum | 데이터 스토리지의 현재 상태
- DELETED: `삭제됨`
- PENDING_DELETION: `삭제 유예됨`
- DELETION_RESERVED: `삭제 예약됨 (스냅샷 정리 대기)`
- DETACHED: `해제됨`
- ATTACHED: `할당됨` |
예시
- 최소 크기: `1` |
-| tenantId | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 테넌트 ID |
-| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
-| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
-| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
-| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최댓값: `2048` |
예시
예시
+
- 최솟값: `1` |
-| size | Query | Number | O | 조회할 목록의 페이지 크기
- 최솟값: `1`
- 최댓값: `100` |
-| backupType | Query | Enum | X | 백업 유형
- `AUTO`: 자동
- `MANUAL`: 수동
- 기본값: 전체 |
-| dbInstanceId | Query | UUID | X | 원본 DB 인스턴스의 식별자 |
-| dbVersion | Query | Enum | X | DB 엔진 유형 |
-
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|-----------------------------------|
-| totalCounts | Body | Number | 전체 백업 목록 수 |
-| backups | Body | Array | 백업 목록 |
-| backups.backupId | Body | UUID | 백업의 식별자 |
-| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
-| backups.backupStatus | Body | Enum | 백업의 현재 상태 |
-| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| backups.dbVersion | Body | Enum | DB 엔진 유형 |
-| backups.utilVersion | Body | String | 백업에 사용된 xtrabackup 유틸리티 버전 |
-| backups.backupType | Body | Enum | 백업 유형 |
-| backups.backupSize | Body | Number | 백업의 크기(Byte) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 백업 목록 수 |
+| backups | Body | Array | 백업 목록 |
+| backups.backupId | Body | UUID | 백업의 식별자 |
+| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
+| backups.backupStatus | Body | Enum | 백업의 현재 상태
- BACKING_UP: `백업 중 (스피너)`
- VERIFYING: `검증 중 (스피너)`
- COMPLETED: `사용 가능 (녹색 아이콘)`
- DELETING: `삭제 중 (스피너)`
- DELETED: `삭제 됨 (회색 아이콘)`
- ERROR: `에러 (적색 아이콘)` |
+| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
+| backups.dbVersion | Body | Enum | DB 엔진 유형 |
+| backups.utilVersion | Body | String | 유틸리티 버전 |
+| backups.backupType | Body | Enum | 백업 유형
- AUTO
- MANUAL |
+| backups.backupSize | Body | Number | 백업의 크기(Byte) |
+| backups.createdYmdt | Body | DateTime | 생성 일시 |
+| backups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR1: `한국(판교)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
+| rules.direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| rules.etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| rules.port | Body | Object | O | 포트 객체 |
+| rules.port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| rules.cidr | Body | String | O | CIDR |
+| rules.description | Body | String | X | 보안 그룹 규칙에 대한 추가 정보 |
+
+예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.port | Body | Object | 포트 객체 |
-| rules.port.portType | Body | Enum | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다.
- `PORT`: 지정된 포트값으로 설정됩니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | 최소 포트 범위 |
-| rules.port.maxPort | Body | Number | 최대 포트 범위 |
-| rules.cidr | Body | String | 허용할 트래픽의 원격 소스 |
-| rules.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| rules.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-| rules.port | Body | Object | O | 포트 객체 |
-| rules.port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
-
-예시
-
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroup.rules | Body | Array | DB 보안 그룹 규칙 목록 |
+| dbSecurityGroup.rules.ruleId | Body | UUID | DB 보안 그룹 규칙의 식별자 |
+| dbSecurityGroup.rules.description | Body | String | DB 보안 그룹 규칙에 대한 추가 정보 |
+| dbSecurityGroup.rules.direction | Body | Enum | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| dbSecurityGroup.rules.etherType | Body | Enum | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| dbSecurityGroup.rules.port | Body | Object | 포트 객체 |
+| dbSecurityGroup.rules.port.portType | Body | Enum | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| dbSecurityGroup.rules.port.minPort | Body | Number | 최소 포트 범위 |
+| dbSecurityGroup.rules.port.maxPort | Body | Number | 최대 포트 범위 |
+| dbSecurityGroup.rules.cidr | Body | String | CIDR |
+| dbSecurityGroup.rules.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.rules.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbSecurityGroup.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| ruleId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameterGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroups | Body | Array | 파라미터 그룹 목록 |
+| parameterGroups.parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+| parameterGroups.parameterGroupName | Body | String | 파라미터 그룹을 식별할 수 있는 이름 |
+| parameterGroups.description | Body | String | 파라미터 그룹에 대한 추가 정보 |
+| parameterGroups.dbVersion | Body | Enum | DB 엔진 유형 |
+| parameterGroups.parameterGroupStatus | Body | Enum | 파라미터 그룹의 현재 상태
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameterGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+
+예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameters | Body | Array | 파라미터 목록 |
-| parameters.parameterId | Body | UUID | 파라미터 식별자 |
-| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- `CLIENT`: client
- `MYSQL`: mysql
- `MYSQLD`: mysqld |
-| parameters.parameterName | Body | String | 파라미터 이름 |
-| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
-| parameters.value | Body | String | 현재 설정된 값 |
-| parameters.defaultValue | Body | String | 기본값 |
-| parameters.allowedValue | Body | String | 허용된 값 |
-| parameters.updateType | Body | Enum | 수정 타입
- `VARIABLE`: 언제든 수정 가능
- `CONSTANT`: 수정 불가능
- `INIT_VARIABLE`: DB 인스턴스 생성 시에만 수정 가능 |
-| parameters.applyType | Body | Enum | 적용 타입
- `SESSION`: 세션 적용
- `FILE`: 설정 파일 적용(재시작 필요)
- `BOTH`: 전체(재시작 필요) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
예시
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameters | Body | Array | 파라미터 목록 |
+| parameters.parameterId | Body | UUID | 파라미터의 식별자 |
+| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- CLIENT
- MYSQL
- MYSQLD |
+| parameters.parameterName | Body | String | 파라미터 이름 |
+| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
+| parameters.value | Body | String | 현재 설정된 값 |
+| parameters.defaultValue | Body | String | 기본값 |
+| parameters.allowedValue | Body | String | 허용된 값 |
+| parameters.updateType | Body | Enum | 수정 타입
- VARIABLE
- CONSTANT
- INIT_VARIABLE |
+| parameters.applyType | Body | Enum | 적용 타입
- BOTH
- SESSION
- FILE |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
예시
예시
-예시
- 기본값: `false` |
+
+예시
+예시
예시
-
`ENTIRE`: 프로젝트 멤버 전체를 포함하는 사용자 그룹
`INDIVIDUAL_MEMBER`: 특정 프로젝트 멤버를 포함하는 사용자 그룹 |
-| members | Body | Array | 프로젝트 멤버 목록 |
-| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| userGroupId | Body | UUID | 사용자 그룹의 식별자 |
+| userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
+| userGroupTypeCode | Body | Enum | 사용자 그룹 종류
- ENTIRE
- INDIVIDUAL_MEMBER |
+| members | Body | Array | 프로젝트 멤버 목록 |
+| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
`selectAllYN`이 true인 경우 해당 필드 값은 무시됨 |
-| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 유무
true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
-
-예시
-
true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| userGroupId | URL | UUID | O | |
+| userGroupName | Body | String | O | 사용자 그룹을 식별할 수 있는 이름 |
+| memberIds | Body | Array | X | 프로젝트 멤버의 식별자 목록 |
+| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 포함 여부
- 기본값: `false` |
예시
예시
-예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| notifyEmail | Body | Boolean | X | 이메일 알림 여부
- 기본값: `true` |
+| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `true` |
+| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `true` |
+| dbInstanceIds | Body | Array | O | 감시 대상 DB 인스턴스의 식별자 목록 |
+| userGroupIds | Body | Array | O | 사용자 그룹의 식별자 목록 |
+
+예시
+예시
예시
- 기본값: `true` |
-| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `true` |
-| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `true` |
-| dbInstanceIds | Body | Array | O | 감시 대상 DB 인스턴스의 식별자 목록 |
-| userGroupIds | Body | Array | O | 사용자 그룹의 식별자 목록 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| notificationGroupId | URL | UUID | O | |
+| notificationGroupName | Body | String | X | 알림 그룹을 식별할 수 있는 이름 |
+| notifyEmail | Body | Boolean | X | 이메일 알림 여부
- 기본값: `false` |
+| notifySms | Body | Boolean | X | SMS 알림 여부
- 기본값: `false` |
+| isEnabled | Body | Boolean | X | 활성화 여부
- 기본값: `false` |
+| dbInstanceIds | Body | Array | X | 감시 대상 DB 인스턴스의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
예시
예시
-예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| events.eventCode | Body | Enum | 발생한 이벤트의 유형 |
+| events.sourceId | Body | String | 이벤트 소스의 식별자 |
+| events.sourceName | Body | String | 이벤트 소스를 식별할 수 있는 이름 |
+| events.messages | Body | Array | 이벤트 메세지 목록 |
+| events.messages.langCode | Body | Enum | 언어 코드
- KO
- EN
- JA
- ZH |
+| events.messages.message | Body | String | 이벤트 메세지 |
+| events.eventYmdt | Body | DateTime | 이벤트 발생 일시 |
예시
- 최소 크기: `1` |
-| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| interval | Query | Number | X | 조회 간격 |
+이 API는 요청 본문을 요구하지 않습니다.
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------------|------|-----------|----------|
-| metricStatistics | Body | Array | 통계 정보 목록 |
-| metricStatistics.measureName | Body | Enum | 측정 항목 유형 |
-| metricStatistics.unit | Body | String | 측정값 단위 |
-| metricStatistics.values | Body | Array | 측정값 목록 |
-| metricStatistics.values.timestamp | Body | Timestamp | 측정 시간 |
-| metricStatistics.values.value | Body | Object | 측정값 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 이벤트 구독 목록 수 |
+| eventSubscriptions | Body | Array | 이벤트 구독 목록 |
+| eventSubscriptions.eventSubscriptionId | Body | UUID | 이벤트 구독의 식별자 |
+| eventSubscriptions.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptions.eventSubscriptionName | Body | String | 이벤트 구독의 식별할 수 있는 이름 |
+| eventSubscriptions.enabled | Body | Boolean | 활성화 여부 |
+| eventSubscriptions.notifyEmail | Body | Boolean | 이메일 발송 여부 |
+| eventSubscriptions.notifySms | Body | Boolean | SMS 발송 여부 |
+| eventSubscriptions.eventCodes | Body | Array | 구독할 이벤트 코드 목록 |
+| eventSubscriptions.sources | Body | Array | 구독할 이벤트 소스 목록 |
+| eventSubscriptions.sources.sourceId | Body | String | 이벤트 소스의 식별자 |
+| eventSubscriptions.sources.eventCategoryType | Body | Enum | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptions.userGroupIds | Body | Array | 이벤트 구독 중인 사용자 그룹의 식별자 목록 |
+| eventSubscriptions.createdYmdt | Body | DateTime | 생성 일시 |
예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptionName | Body | String | O | 이벤트 구독을 식별할 수 있는 이름 |
+| enabled | Body | Boolean | O | 활성화 여부 |
+| notifyEmail | Body | Boolean | O | 이메일 발송 여부 |
+| notifySms | Body | Boolean | O | SMS 발송 여부 |
+| eventCodes | Body | Array | O | 구독할 이벤트 코드 목록 |
+| sources | Body | Array | O | 구독할 이벤트 소스 목록 |
+| sources.sourceId | Body | UUID | O | 이벤트 소스의 식별자 |
+| sources.eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| userGroupIds | Body | Array | O | 이벤트 구독할 사용자 그룹의 식별자 목록 |
+
+예시
+
- 최솟값: `1` |
-| size | Query | Number | O | 조회할 목록의 페이지 크기
- 최솟값: `1`
- 최댓값: `100` |
-| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| eventCategoryType | Query | Enum | O | 조회할 이벤트 카테고리 유형
- `ALL`: 전체
- `INSTANCE`: DB 인스턴스
- `BACKUP`: 백업
- `DB_SECURITY_GROUP`: DB 보안 그룹
- `TENANT`: 테넌트 |
-| sourceId | Query | String | X | 이벤트가 발생한 대상 리소스의 식별자 |
-| keyword | Query | String | X | 이벤트 메시지에 포함된 문자열 검색어 |
-| ascendingOrder | Query | Enum | X | 이벤트 메시지 정렬 순서
- `ASC`: 오름차순
- `DESC`: 내림차순
- 기본값: `DESC` |
+예시
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| eventSubscriptionName | Body | String | X | 이벤트 구독을 식별할 수 있는 이름 |
+| enabled | Body | Boolean | X | 활성화 여부 |
+| notifyEmail | Body | Boolean | X | 이메일 발송 여부 |
+| notifySms | Body | Boolean | X | SMS 발송 여부 |
+| eventCodes | Body | Array | X | 구독할 이벤트 코드 목록 |
+| sources | Body | Array | X | 구독할 이벤트 소스 목록 |
+| sources.sourceId | Body | UUID | O | 이벤트 소스의 식별자 |
+| sources.eventCategoryType | Body | Enum | O | 이벤트 카테고리 유형
- ALL
- INSTANCE
- DB_SECURITY_GROUP
- MONITORING
- JOB
- BACKUP
- TENANT |
+| userGroupIds | Body | Array | X | 이벤트 구독할 사용자 그룹의 식별자 목록 |
예시
- 성공: `0`
- 실패: `0`이 아닌 값 |
-| resultMessage | String | 결과 메시지 |
-| isSuccessful | Boolean | 성공 여부 |
-
-
-## DB 엔진 유형
-
-| DB 엔진 유형 | 생성 가능 여부 | OBS로부터 복원 가능 여부 | 인증 플러그인 지원 정보 |
-|--------------|----------|-----------------|--------|
-| MYSQL\_V5633 | X | X | NATIVE |
-| MYSQL\_V5715 | O | O | NATIVE |
-| MYSQL\_V5719 | O | O | NATIVE |
-| MYSQL\_V5726 | O | O | NATIVE |
-| MYSQL\_V5731 | X | X | NATIVE |
-| MYSQL\_V5733 | O | X | NATIVE, SHA256 |
-| MYSQL\_V5737 | O | O | NATIVE, SHA256 |
-| MYSQL\_V8018 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8023 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8028 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8032 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8033 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL\_V8034 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8035 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8036 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8040 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8041 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8042 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8043 | O | O | NATIVE, CACHING_SHA2 |
-| MYSQL_V8405 | O | O | CACHING_SHA2 |
+| 이름 | 형식 | 설명 |
+|-----|-----|-----|
+| resultCode | Number | 결과 코드
- 성공: `0`
- 실패: `0`이 아닌 값 |
+| resultMessage | String | 결과 메시지 |
+| isSuccessful | Boolean | 성공 여부 |
+### DB 엔진 유형
+
+| DB 엔진 유형 | 생성 가능 여부 | OBS로부터 복원 가능 여부 | 인증 플러그인 지원 |
+|------------|----------|------------------|------------|
+| MYSQL_V5633 | X | X | NATIVE |
+| MYSQL_V5715 | O | O | NATIVE |
+| MYSQL_V5719 | O | O | NATIVE |
+| MYSQL_V5726 | O | O | NATIVE |
+| MYSQL_V5731 | X | X | NATIVE |
+| MYSQL_V5733 | O | X | NATIVE, SHA256 |
+| MYSQL_V5737 | O | O | NATIVE, SHA256 |
+| MYSQL_V8018 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8023 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8028 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8032 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8033 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8034 | X | X | NATIVE, CACHING_SHA2 |
+| MYSQL_V8035 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8036 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8040 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8041 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8042 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8043 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8044 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8045 | O | O | NATIVE, CACHING_SHA2 |
+| MYSQL_V8405 | O | O | CACHING_SHA2 |
+| MYSQL_V8406 | O | O | CACHING_SHA2 |
+| MYSQL_V8407 | O | O | CACHING_SHA2 |
+| MYSQL_V8408 | O | O | CACHING_SHA2 |
* ENUM 타입의 dbVersion 필드에 대해 해당 값을 사용할 수 있습니다.
* 버전에 따라 생성 또는 복원이 불가능한 경우가 있을 수 있습니다.
## 프로젝트 정보
-### 리전 목록 보기
+### 프로젝트 멤버 목록 보기
```http
-GET /v3.0/project/regions
+GET /v3.0/project/members
```
#### 요청
@@ -94,11 +104,13 @@ GET /v3.0/project/regions
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------------|------|---------|----------------------------------------------------------------------------|
-| regions | Body | Array | 리전 목록 |
-| regions.regionCode | Body | Enum | 리전 코드
- `KR1`: 한국(판교) 리전
- `KR2`: 한국(평촌) 리전
- `JP1`: 일본(도쿄) 리전 |
-| regions.isEnabled | Body | Boolean | 리전의 활성화 여부 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| members | Body | Array | 프로젝트 멤버 목록 |
+| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
+| members.memberName | Body | String | 프로젝트 멤버의 이름 |
+| members.emailAddress | Body | String | 프로젝트 멤버의 이메일 주소 |
+| members.phoneNumber | Body | String | 프로젝트 멤버의 전화번호 |
예시
- KR4: `한국(대구)` |
+| regions.isEnabled | Body | Boolean | 리전의 활성화 여부 |
예시
예시
예시
예시
@@ -308,9 +311,9 @@ GET /v3.0/db-versions
},
"dbVersions": [
{
- "dbVersion": "MYSQL_V8028",
- "dbVersionName": "MySQL 8.0.28",
- "restorableFromObs": true
+ "dbVersion": "MYSQL_V8036",
+ "dbVersionName": "dbVersionName-example",
+ "restorableFromObs": false
}
]
}
@@ -323,7 +326,7 @@ GET /v3.0/db-versions
## 데이터 스토리지
-### 데이터 스토리지 타입 목록 보기
+### 스토리지 타입 목록 보기
```http
GET /v3.0/storage-types
@@ -335,9 +338,9 @@ GET /v3.0/storage-types
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|-------|----------------|
-| storageTypes | Body | Array | 데이터 스토리지 타입 목록 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageTypes | Body | Array | 스토리지 타입 목록 |
예시
예시
- DELETED
- CANNOT_PROGRESS
- FAILED
- ERROR
- CANCELED
- INTERRUPTED
- COMPLETED
- RUNNING
- PREPARING
- READY
- CREATED
- FAIL_TO_READY
- REGISTERED
- FAIL_TO_REGISTER
- WAIT_TO_REGISTER |
+| resourceRelations | Body | Array | 연관 리소스 목록 |
+| resourceRelations.resourceType | Body | String | 연관 리소스 유형 |
+| resourceRelations.resourceId | Body | String | 연관 리소스의 식별자 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
+| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `STANDALONE`: 단일
- `HIGH_AVAILABILITY`: 고가용성 |
-| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
-| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
-| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태
- STANDALONE: `고가용성 사용 안함`
- HIGH_AVAILABILITY: `고가용성 사용` |
+| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태 |
-| dbInstances.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbInstances.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbInstances | Body | Array | DB 인스턴스 목록 |
+| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
+| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
+| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
+| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
+| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
+| dbInstances.dbPort | Body | Number | DB 포트 |
+| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스 역할 타입
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbInstances.createdYmdt | Body | DateTime | 생성 일시 |
+| dbInstances.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- `MASTER`: 마스터
- `FAILED_MASTER`: 장애 조치된 마스터
- `CANDIDATE_MASTER`: 예비 마스터
- `READ_ONLY_SLAVE`: 읽기 복제본 |
-| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
-| progressStatus | Body | Enum | DB 인스턴스의 현재 작업 진행 상태 |
-| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
-| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
-| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
-| supportAuthenticationPlugin | Body | Boolean | 인증 플러그인 지원 여부 |
-| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
-| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
-| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
-예시
-
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbUserName | Body | String | O | DB 사용자 계정명 |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `16` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교)
- `KR2`: 한국(평촌)
- `JP1`: 일본(도쿄) |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| authenticationPlugin | Body | Enum | X | 인증 Plugin
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | TLS Option
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| dbVersion | Body | Enum | X | DB 엔진 유형 |
-| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
기본값: `false` |
-| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceName | Body | String | X | DB 인스턴스를 식별할 수 있는 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.tenantId | Body | String | O | 백업이 저장된 오브젝트 스토리지의 테넌트 ID |
+| restore.username | Body | String | O | NHN Cloud 계정 혹은 IAM 멤버 ID |
+| restore.password | Body | String | O | 백업이 저장된 오브젝트 스토리지의 API 비밀번호 |
+| restore.targetContainer | Body | String | O | 백업이 저장된 오브젝트 스토리지의 컨테이너 |
+| restore.objectPath | Body | String | O | 컨테이너에 저장된 백업의 경로 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
예시
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
-### DB 인스턴스 강제 재시작하기
-```http
-POST /v3.0/db-instances/{dbInstanceId}/force-restart
-```
-
-#### 요청
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------------|------|---------|----|---------------------------------------------------------------------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-이 API는 응답 본문을 반환하지 않습니다.
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- MASTER: `마스터`
- FAILED_MASTER: `장애 마스터`
- CANDIDATE_MASTER: `예비 마스터`
- READ_ONLY_SLAVE: `읽기 복제본` |
+| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태
- BEFORE_CREATE: `생성 이전 (회색)`
- AVAILABLE: `사용 가능 (녹색)`
- STORAGE_FULL: `용량 부족 (적색)`
- FAIL_TO_CREATE: `생성 실패 (적색)`
- FAIL_TO_CONNECT: `연결 실패 (적색)`
- REPLICATION_STOP: `복제 중단 (적색)`
- REPLICATION_DELAY: `복제 지연 (황색)`
- FAILOVER: `장애 조치 완료 (적색)`
- SHUTDOWN: `중지 됨 (회색)`
- DELETED: `삭제됨 (회색)` |
+| progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태
- NONE
- APPLYING_PARAMETER_GROUP
- BACKING_UP
- CANCELING
- CREATING
- CREATING_SCHEMA
- CREATING_USER
- DELETING
- DELETING_SCHEMA
- DELETING_USER
- EXPORTING_BACKUP
- FAILING_OVER
- MIGRATING
- MODIFYING
- PREPARING
- PROMOTING
- PROMOTING_FORCIBLY
- REBUILDING
- REPAIRING
- REPLICATING
- RESTARTING
- RESTARTING_FORCIBLY
- RESTORING
- STARTING
- STOPPING
- SYNCING_SCHEMA
- SYNCING_USER
- UPDATING_USER
- WAIT_MANUAL_CONTROL |
+| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
+| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
+| supportAuthenticationPlugin | Body | Boolean | 인증 plugin 지원 여부 |
+| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
+| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
+| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
----
-
-### DB 인스턴스 백업하기
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbPort | Body | Number | X | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbVersion | Body | Enum | X | DB 엔진 버전 코드 |
+| useDummy | Body | Boolean | X | 단일 DB 인스턴스의 DB 버전 업그레이드 시 더미 사용 여부
- 기본값: `false` |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
예시
- 기본값: 원본 DB 인스턴스 값 |
-| dbPort | Body | Number | X | DB 포트
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자
- 기본값: 원본 DB 인스턴스 값 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록
- 기본값: 원본 DB 인스턴스 값 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: 원본 DB 인스턴스 값 |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | X | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | X | 데이터 스토리지 타입
|
-| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | X | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: 원본 DB 인스턴스 값
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교)
- `KR2`: 한국(평촌)
- `JP1`: 일본(도쿄)
- 기본값: 원본 DB 인스턴스 값 |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각
- 예시: `00:00:00`
- 기본값: 원본 DB 인스턴스 값 |
-| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간
- 기본값: 원본 DB 인스턴스 값 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
-### 복원 정보 조회
+예시
+
|
-| restorableBackups.backup.backupStatus | Body | Enum | 백업 상태
|
-| restorableBackups.backup.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| restorableBackups.backup.dbInstanceName | Body | String | 원본 DB 인스턴스의 이름 |
-| restorableBackups.backup.dbVersion | Body | String | DB 엔진 유형 |
-| restorableBackups.backup.failoverCount | Body | Number | 장애 조치 횟수 |
-| restorableBackups.backup.binLogFileName | Body | String | 바이너리 로그 파일 이름 |
-| restorableBackups.backup.binLogPosition | Body | Number | 바이너리 로그 파일 위치 |
-| restorableBackups.backup.createdYmdt | Body | DateTime | 백업 생성 일시 |
-| restorableBackups.backup.updatedYmdt | Body | DateTime | 백업 갱신 일시 |
-| restorableBackups.restorableBinLogs | Body | Array | 해당 백업을 이용하여 복원 가능한 바이너리 로그 이름 목록 |
-
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
|
-
-#### restoreType이 `TIMESTAMP`인 경우
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|-------------|-------|----------|----|-------------------------------------------|
-| restoreYmdt | Query | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+#### 요청
-#### restoreType이 `BINLOG`인 경우
+이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|----------------|-------|--------|----|--------------------|
-| backupId | Query | UUID | O | 복원에 사용할 백업의 식별자 |
-| binLogFileName | Query | String | O | 복원에 사용할 바이너리 로그 이름 |
-| binLogPosition | Query | Number | O | 복원에 사용할 바이너리 로그 위치 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|--------------|------|----------|--------------------------------------|
-| executedYmdt | Body | DateTime | 쿼리 수행 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| lastQuery | Body | String | 마지막 수행 쿼리 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| backupPeriod | Body | Number | 백업 보관 기간(일) |
+| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
+| backupRetryCount | Body | Number | 백업 재시도 횟수 |
+| replicationRegion | Body | Enum | 백업 복제 리전
- KR4: `한국(대구)` |
+| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration
- HALF_AN_HOUR
- ONE_HOUR
- ONE_HOUR_AND_HALF
- TWO_HOURS
- TWO_HOURS_AND_HALF
- THREE_HOURS |
예시
|
-| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
-| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
-| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
-| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
-| dbPort | Body | Number | O | DB 포트
|
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
|
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
|
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
|
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
|
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
|
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
|
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
|
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
|
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
|
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
|
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
|
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
|
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
|
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
|
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
기본값: `false` |
-
-#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
-
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|---------------------|------|----------|----|------------------------------------------------------------------------------------------------|
-| restore.restoreYmdt | Body | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD)
복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능하다. |
-
-
-예시
-
- 최솟값: `0`
- 최댓값: `730` |
+| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
|
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
|
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
|
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
|
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
|
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
|
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
|
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
|
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
|
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
|
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
|
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
|
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
|
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
|
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
|
-
-
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| tenantId | Body | String | O | 백업이 저장될 오브젝트 스토리지의 테넌트 ID
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
- 최솟값: `1`
- 최댓값: `600` |
+이 API는 요청 본문을 요구하지 않습니다.
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
+이 API는 응답 본문을 반환하지 않습니다.
---
-### 고가용성 다시 시작하기
+### DB 스키마 목록 보기
```http
-POST /v3.0/db-instances/{dbInstanceId}/high-availability/resume
+GET /v3.0/db-instances/{dbInstanceId}/db-schemas
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
----
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSchemas | Body | Array | DB 스키마 목록 |
+| dbSchemas.dbSchemaId | Body | UUID | DB 스키마의 식별자 |
+| dbSchemas.dbSchemaName | Body | String | DB 스키마 이름 |
+| dbSchemas.dbSchemaStatus | Body | Enum | DB 스키마의 현재 상태
- STABLE
- CREATING
- SYNCING
- DELETING
- DELETED |
+| dbSchemas.createdYmdt | Body | DateTime | 생성 일시 |
-### 고가용성 일시 중지하기
+예시
+
- 최대 길이: `64`
- 영문 시작, 영문/숫자/_ 허용, 1~64자, MySQL 예약어 불가 |
----
-
-### 고가용성 분리하기
+예시
+예시
+
- `DETACHED`: 부착되지 않음
- `ATTACHED`: 부착됨
- `DELETED`: 삭제됨 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최솟값: 현재값
- 최댓값: `2048` |
-| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부
고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다.
- 기본값: `false` |
-
-#### 응답
-
-| 이름 | 종류 | 형식 | 설명 |
-|-------|------|------|-------------|
-| jobId | Body | UUID | 요청한 작업의 식별자 |
-
---
-### 백업 정보 보기
+### DB 사용자 목록 보기
```http
-GET /v3.0/db-instances/{dbInstanceId}/backup-info
+GET /v3.0/db-instances/{dbInstanceId}/db-users
```
#### 요청
이 API는 요청 본문을 요구하지 않습니다.
-| 이름 | 종류 | 형식 | 필수 | 설명 |
-|--------------|-----|------|----|--------------|
-| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|-----------------------------------|------|---------|----------------|
-| backupPeriod | Body | Number | 백업 보관 기간(일) |
-| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
-| backupRetryCount | Body | Number | 백업 재시도 횟수 |
-| replicationRegion | Body | Enum | 백업 복제 리전 |
-| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
-| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbUsers | Body | Array | DB 사용자 목록 |
+| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
+| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
+| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
+| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- STABLE
- CREATING
- UPDATING
- SYNCING
- DELETING
- DELETED |
+| dbUsers.createdYmdt | Body | DateTime | 생성 일시 |
+| dbUsers.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbUsers.authenticationPlugin | Body | Enum | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| dbUsers.tlsOption | Body | Enum | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
- 최솟값: `0`
- 최댓값: `730` |
-| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
-| backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
-| replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교)
- `KR2`: 한국(평촌)
- `JP1`: 일본(도쿄) |
-| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
-| backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
-| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| dbUserName | Body | String | O | DB 사용자 계정명
- 최소 길이: `1`
- 최대 길이: `32` |
+| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `256` |
+| host | Body | String | O | DB 사용자 계정의 호스트명
- 최대 길이: `45` |
+| authorityType | Body | Enum | O | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- 기본값: `NONE`
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
예시
예시
+
-`EXTERNAL`: 외부 접속 도메인
-`INTERNAL`: 내부 접속 도메인
-`PUBLIC`: (Deprecated) 외부 접속 도메인
-`PRIVATE`: (Deprecated) 내부 접속 도메인 |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `4`
- 최대 길이: `256` |
+| authorityType | Body | Enum | X | DB 사용자 권한 타입
- CUSTOM: `사용자 정의 권한`
- READ: `읽기 권한`
- CRUD: `CRUD 권한`
- DDL: `DDL 권한`
- ALL: `전체 권한` |
+| authenticationPlugin | Body | Enum | X | 사용자 인증 플러그인
- NATIVE: `mysql_native_password 인증`
- CACHING_SHA2: `caching_sha2_password 인증 (MySQL 전용)`
- SHA256: `sha256_password 인증 (MySQL 전용)` |
+| tlsOption | Body | Enum | X | 인증서 옵션
- NONE: `TLS 미사용`
- SSL: `SSL 인증`
- X509: `X509 인증서 인증` |
----
-
-### DB 사용자 목록 보기
+예시
+
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `UPDATING`: 수정 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbUsers.authenticationPlugin | Body | Enum | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| dbUsers.tlsOption | Body | Enum | TLS Option
- NONE
- SSL
- X509 |
-| dbUsers.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| dbUsers.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
- 최소 길이: `1`
- 최대 길이: `32` |
-| dbPassword | Body | String | O | DB 사용자 계정 암호
- 최소 길이: `4`
- 최대 길이: `16` |
-| host | Body | String | O | DB 사용자 계정의 호스트명
- 예시: `1.1.1.%` |
-| authorityType | Body | Enum | O | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
-
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 설정할 수 있습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| useDeletionProtection | Body | Boolean | O | 삭제 보호 여부 |
예시
- 최솟값: `1`
- 최댓값: `600` |
+
+예시
+예시
+예시
+예시
+예시
+예시
+
- ERROR
- BINLOG
- GENERAL
- SLOW_QUERY
- AUDIT
- BACKUP |
+| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
+| logFiles.createdYmdt | Body | DateTime | 생성 일시 |
+
+예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 회원 또는 IAM 멤버 ID |
+| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+
+예시
+예시
+예시
+
- 최소 길이: `4`
- 최대 길이: `16` |
-| authorityType | Body | Enum | X | DB 사용자 권한 타입
- `READ`: SELECT 쿼리 수행 가능한 권한
- `CRUD`: DML 쿼리 수행 가능한 권한
- `DDL`: DDL 쿼리 수행 가능한 권한
|
-| authenticationPlugin | Body | Enum | X | 인증 플러그인
- NATIVE: `mysql_native_password`
- SHA256: `sha256_password`
- CACHING_SHA2: `caching_sha2_password` |
-| tlsOption | Body | Enum | X | TLS Option
- NONE
- SSL
- X509 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
-> [주의]
-> DB 인스턴스의 `supportAuthenticationPlugin` 값이 true인 DB 인스턴스만 `authenticationPlugin`, `tlsOption`의 값을 수정할 수 있습니다.
-> `authenticationPlugin`의 값은 `dbPassword`와 동시에 수정을 해야 합니다.
+예시
+예시
예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | X | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | X | 데이터 스토리지 타입 |
+| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | X | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
+| backup.backupSchedules | Body | Array | X | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+
+예시
+예시
+
- 기본값: `false` |
+| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부
- 기본값: `false` |
+| waitReplicationDelay | Body | Boolean | X | 복제 지연 해소 대기
- 기본값: `false` |
+| useReadOnly | Body | Boolean | X | 쓰기 부하 차단
- 기본값: `false` |
+
+예시
+예시
+예시
+
- 최소 길이: `1`
- 최대 길이: `100` |
+| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | X | DB 포트 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| imageId | Body | UUID | X | 이미지의 식별자 |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 최솟값: `1`
- 최댓값: `600` |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
+| restore | Body | Object | O | 복원 정보 객체 |
+| restore.restoreType | Body | Enum | O | 복원 타입
- TIMESTAMP: `복원 가능한 시간 이내의 시간을 이용한 시점 복원`
- BINLOG: `복원 가능한 바이너리 로그 위치를 이용한 시점 복원`
- BACKUP: `기존에 생성한 백업을 이용한 스냅숏 복원` |
+| restore.binLog.binLogFileName | Body | String | X | 복원에 사용할 바이너리 로그 이름 |
+| restore.binLog.binLogPosition | Body | Object | X | 복원에 사용할 바이너리 로그 위치 |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+
+#### Timestamp를 이용한 시점 복원 시 요청(restoreType이 `TIMESTAMP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.restoreYmdt | Body | DateTime | X | DB 인스턴스 복원 일시 |
+
+복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능합니다.
+
+#### 바이너리 로그를 이용한 시점 복원 시 요청(restoreType이 `BINLOG`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+| restore.binLog | Body | Object | X | 복원에 사용할 바이너리 로그 정보 객체 |
+
+바이너리 로그를 이용한 시점 복원 시 기준 백업의 바이너리 로그 파일 및 위치를 기준으로 그 이후에 기록된 로그에 대해 복원이 가능합니다.
+
+#### 백업을 이용한 복원 시 요청(restoreType이 `BACKUP`인 경우)
+
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| restore.backupId | Body | UUID | X | 복원에 사용할 백업의 식별자 |
+
+예시
+예시
+
- `STABLE`: 생성됨
- `CREATING`: 생성 중
- `DELETING`: 삭제 중
- `DELETED`: 삭제됨 |
-| dbSchemas.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| jobId | Body | UUID | 작업의 식별자 |
예시
예시
+
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| logFiles | Body | Array | 로그 파일 목록 |
-| logFiles.logFileName | Body | String | 로그 파일 이름 |
-| logFiles.logFileType | Body | Enum | 로그 파일 타입 종류
- `ERROR`: error.log
- `BINLOG`: mysql-bin
- `GENERAL`: general.log
- `SLOW_QUERY`: slow_query.log
- `AUDIT`: server_audit.log
- `BACKUP`: xtra_full.log |
-| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
-| logFiles.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| storageType | Body | Enum | 데이터 스토리지 타입 |
+| storageSize | Body | Number | 데이터 스토리지 크기(GB) |
+| storageStatus | Body | Enum | 데이터 스토리지의 현재 상태
- DELETED: `삭제됨`
- PENDING_DELETION: `삭제 유예됨`
- DELETION_RESERVED: `삭제 예약됨 (스냅샷 정리 대기)`
- DETACHED: `해제됨`
- ATTACHED: `할당됨` |
예시
- 최소 크기: `1` |
-| tenantId | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 테넌트 ID |
-| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
-| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
-| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
-| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbInstanceId | URL | UUID | O | |
+| storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최댓값: `2048` |
예시
예시
+
- 최솟값: `1` |
-| size | Query | Number | O | 조회할 목록의 페이지 크기
- 최솟값: `1`
- 최댓값: `100` |
-| backupType | Query | Enum | X | 백업 유형
- `AUTO`: 자동
- `MANUAL`: 수동
- 기본값: 전체 |
-| dbInstanceId | Query | UUID | X | 원본 DB 인스턴스의 식별자 |
-| dbVersion | Query | Enum | X | DB 엔진 유형 |
-
#### 응답
-| 이름 | 종류 | 형식 | 설명 |
-|----------------------|------|----------|-----------------------------------|
-| totalCounts | Body | Number | 전체 백업 목록 수 |
-| backups | Body | Array | 백업 목록 |
-| backups.backupId | Body | UUID | 백업의 식별자 |
-| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
-| backups.backupStatus | Body | Enum | 백업의 현재 상태 |
-| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
-| backups.dbVersion | Body | Enum | DB 엔진 유형 |
-| backups.utilVersion | Body | String | 백업에 사용된 xtrabackup 유틸리티 버전 |
-| backups.backupType | Body | Enum | 백업 유형 |
-| backups.backupSize | Body | Number | 백업의 크기(Byte) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| totalCounts | Body | Number | 전체 백업 목록 수 |
+| backups | Body | Array | 백업 목록 |
+| backups.backupId | Body | UUID | 백업의 식별자 |
+| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
+| backups.backupStatus | Body | Enum | 백업의 현재 상태
- BACKING_UP: `백업 중 (스피너)`
- VERIFYING: `검증 중 (스피너)`
- COMPLETED: `사용 가능 (녹색 아이콘)`
- DELETING: `삭제 중 (스피너)`
- DELETED: `삭제 됨 (회색 아이콘)`
- ERROR: `에러 (적색 아이콘)` |
+| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
+| backups.dbVersion | Body | Enum | DB 엔진 유형 |
+| backups.utilVersion | Body | String | 유틸리티 버전 |
+| backups.backupType | Body | Enum | 백업 유형
- AUTO
- MANUAL |
+| backups.backupSize | Body | Number | 백업의 크기(Byte) |
+| backups.createdYmdt | Body | DateTime | 생성 일시 |
+| backups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
예시
+
- 최소 길이: `32`
- 최대 길이: `32` |
+| username | Body | String | O | NHN Cloud 계정 혹은 IAM 회원 ID |
+| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
+| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
+| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
예시
예시
+
- 최솟값: `3306`
- 최댓값: `43306` |
-| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
-| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 ||network|Body|Object|O|네트워크 정보 객체|
-| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
-| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
-| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
-| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
-| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
-| network | Body | Object | O | 네트워크 정보 객체 |
-| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
-| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
-| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역
- 예시: `kr-pub-a` |
-| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
-| storage.storageType | Body | Enum | O | 데이터 스토리지 타입
- 예시: `General SSD` |
-| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20`
- 최댓값: `2048` |
-| backup | Body | Object | O | 백업 정보 객체 |
-| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
-| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 기본값: `1800`
- 최솟값: `0`
- 최댓값: `21600` |
-| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 기본값: `0`
- 최솟값: `0`
- 최댓값: `10` |
-| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- `KR1`: 한국(판교)
- `KR2`: 한국(평촌)
- `JP1`: 일본(도쿄) |
-| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
-| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
-| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각
- 예시: `00:00:00` |
-| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다.
- `HALF_AN_HOUR`: 30분
- `ONE_HOUR`: 1시간
- `ONE_HOUR_AND_HALF`: 1시간 30분
- `TWO_HOURS`: 2시간
- `TWO_HOURS_AND_HALF`: 2시간 30분
- `THREE_HOURS`: 3시간 |
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| backupId | URL | UUID | O | |
+| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 이름
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 인스턴스에 대한 추가 정보
- 최대 길이: `100` |
+| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
+| dbPort | Body | Number | O | DB 포트
- 최솟값: 3306, 최댓값: 43306 |
+| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
+| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
+| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
+| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부
- 기본값: `false` |
+| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초)
- 기본값: `3`
- 최솟값: `1`
- 최댓값: `600` |
+| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부
- 기본값: `false` |
+| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부
- 기본값: `false` |
+| network | Body | Object | O | 네트워크 정보 객체 |
+| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
+| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부
- 기본값: `false` |
+| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 |
+| storage | Body | Object | O | 스토리지 정보 객체 |
+| storage.storageType | Body | Enum | O | 스토리지 타입 |
+| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB)
- 최솟값: `20` |
+| backup | Body | Object | O | 백업 정보 객체 |
+| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일)
- 최솟값: `0`
- 최댓값: `730` |
+| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수
- 최솟값: `0`
- 최댓값: `10` |
+| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초)
- 최솟값: `0`
- 최댓값: `21600` |
+| backup.replicationRegion | Body | Enum | X | 백업 복제 리전
- KR4: `한국(대구)` |
+| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부
- 기본값: `true` |
+| backup.backupSchedules | Body | Array | O | 백업 스케쥴 목록 |
+| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 |
+| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration
- HALF_AN_HOUR: `30분`
- ONE_HOUR: `1시간`
- ONE_HOUR_AND_HALF: `1시간 30분`
- TWO_HOURS: `2시간`
- TWO_HOURS_AND_HALF: `2시간 30분`
- THREE_HOURS: `3시간` |
예시
예시
+
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
+| rules.direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| rules.etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| rules.port | Body | Object | O | 포트 객체 |
+| rules.port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| rules.cidr | Body | String | O | CIDR |
+| rules.description | Body | String | X | 보안 그룹 규칙에 대한 추가 정보 |
+
+예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.port | Body | Object | 포트 객체 |
-| rules.port.portType | Body | Enum | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다.
- `PORT`: 지정된 포트값으로 설정됩니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | 최소 포트 범위 |
-| rules.port.maxPort | Body | Number | 최대 포트 범위 |
-| rules.cidr | Body | String | 허용할 트래픽의 원격 소스 |
-| rules.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| rules.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| rules.etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| rules.cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-| rules.port | Body | Object | O | 포트 객체 |
-| rules.port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| rules.port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| rules.port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
-
-예시
-
- NONE: `없음`
- CREATING_RULE: `규칙 생성중`
- UPDATING_RULE: `규칙 수정중`
- DELETING_RULE: `규칙 삭제중`
- APPLYING_DEFAULT_RULE: `기본 규칙 적용중` |
+| dbSecurityGroup.rules | Body | Array | DB 보안 그룹 규칙 목록 |
+| dbSecurityGroup.rules.ruleId | Body | UUID | DB 보안 그룹 규칙의 식별자 |
+| dbSecurityGroup.rules.description | Body | String | DB 보안 그룹 규칙에 대한 추가 정보 |
+| dbSecurityGroup.rules.direction | Body | Enum | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| dbSecurityGroup.rules.etherType | Body | Enum | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| dbSecurityGroup.rules.port | Body | Object | 포트 객체 |
+| dbSecurityGroup.rules.port.portType | Body | Enum | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| dbSecurityGroup.rules.port.minPort | Body | Number | 최소 포트 범위 |
+| dbSecurityGroup.rules.port.maxPort | Body | Number | 최대 포트 범위 |
+| dbSecurityGroup.rules.cidr | Body | String | CIDR |
+| dbSecurityGroup.rules.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.rules.updatedYmdt | Body | DateTime | 수정 일시 |
+| dbSecurityGroup.createdYmdt | Body | DateTime | 생성 일시 |
+| dbSecurityGroup.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | DB 보안 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `INGRESS`: 수신
- `EGRESS`: 송신 |
-| etherType | Body | Enum | O | Ether 타입
- `IPV4`: IPv4
- `IPV6`: IPv6 |
-| port | Body | Object | O | 포트 객체 |
-| port.portType | Body | Enum | O | 포트 타입
- `DB_PORT`: 각 DB 인스턴스 포트값으로 설정됩니다. `minPort`값과 `maxPort`값을 필요로 하지 않습니다.
- `PORT`: 지정된 포트값으로 설정됩니다. `minPort`값과 `maxPort`값이 같아야 합니다.
- `PORT_RANGE`: 지정된 포트 범위로 설정됩니다. |
-| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: 1 |
-| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: 65535 |
-| cidr | Body | String | O | 허용할 트래픽의 원격 소스
- 예시: `1.1.1.1/32` |
-
-> [주의]
-> DB 포트는 송신 방향으로 설정할 수 없습니다.
+| 이름 | 종류 | 형식 | 필수 | 설명 |
+|-----|-----|-----|-----|-----|
+| dbSecurityGroupId | URL | UUID | O | |
+| ruleId | URL | UUID | O | |
+| direction | Body | Enum | O | 통신 방향
- INGRESS: `수신`
- EGRESS: `송신` |
+| etherType | Body | Enum | O | Ether 타입
- IPV4: `IPv4 형식`
- IPV6: `IPv6 형식` |
+| port | Body | Object | O | 포트 객체 |
+| port.portType | Body | Enum | O | 포트 타입
- ALL: `포트 범위 전체 (사용자 콘솔에서는 사용하지 않음)`
- PORT: `특정 포트`
- DB_PORT: `DB 수신 포트`
- PORT_RANGE: `포트 범위` |
+| port.minPort | Body | Number | X | 최소 포트 범위
- 최솟값: `3306` |
+| port.maxPort | Body | Number | X | 최대 포트 범위
- 최댓값: `65535` |
+| cidr | Body | String | O | CIDR |
+| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보
- 최대 길이: `200` |
예시
예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameterGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroups | Body | Array | 파라미터 그룹 목록 |
+| parameterGroups.parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
+| parameterGroups.parameterGroupName | Body | String | 파라미터 그룹을 식별할 수 있는 이름 |
+| parameterGroups.description | Body | String | 파라미터 그룹에 대한 추가 정보 |
+| parameterGroups.dbVersion | Body | Enum | DB 엔진 유형 |
+| parameterGroups.parameterGroupStatus | Body | Enum | 파라미터 그룹의 현재 상태
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameterGroups.createdYmdt | Body | DateTime | 생성 일시 |
+| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
+| dbVersion | Body | Enum | O | DB 엔진 유형 |
+
+예시
+
- `STABLE`: 적용 완료
- `NEED_TO_APPLY`: 적용 필요 |
-| parameters | Body | Array | 파라미터 목록 |
-| parameters.parameterId | Body | UUID | 파라미터 식별자 |
-| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- `CLIENT`: client
- `MYSQL`: mysql
- `MYSQLD`: mysqld |
-| parameters.parameterName | Body | String | 파라미터 이름 |
-| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
-| parameters.value | Body | String | 현재 설정된 값 |
-| parameters.defaultValue | Body | String | 기본값 |
-| parameters.allowedValue | Body | String | 허용된 값 |
-| parameters.updateType | Body | Enum | 수정 타입
- `VARIABLE`: 언제든 수정 가능
- `CONSTANT`: 수정 불가능
- `INIT_VARIABLE`: DB 인스턴스 생성 시에만 수정 가능 |
-| parameters.applyType | Body | Enum | 적용 타입
- `SESSION`: 세션 적용
- `FILE`: 설정 파일 적용(재시작 필요)
- `BOTH`: 전체(재시작 필요) |
-| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
-| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
+| 이름 | 종류 | 형식 | 설명 |
+|-----|-----|-----|-----|
+| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
예시
- STABLE: `적용 완료`
- NEED_TO_APPLY: `적용 필요`
- DELETED: `삭제됨` |
+| parameters | Body | Array | 파라미터 목록 |
+| parameters.parameterId | Body | UUID | 파라미터의 식별자 |
+| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입
- CLIENT
- MYSQL
- MYSQLD |
+| parameters.parameterName | Body | String | 파라미터 이름 |
+| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
+| parameters.value | Body | String | 현재 설정된 값 |
+| parameters.defaultValue | Body | String | 기본값 |
+| parameters.allowedValue | Body | String | 허용된 값 |
+| parameters.updateType | Body | Enum | 수정 타입
- VARIABLE
- CONSTANT
- INIT_VARIABLE |
+| parameters.applyType | Body | Enum | 적용 타입
- BOTH
- SESSION
- FILE |
+| createdYmdt | Body | DateTime | 생성 일시 |
+| updatedYmdt | Body | DateTime | 수정 일시 |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
- 최소 길이: `1`
- 최대 길이: `100` |
+| description | Body | String | X | 파라미터 그룹에 대한 추가 정보
- 최대 길이: `100` |
예시
예시
예시