Direct Connect

Overview

SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.

본 가이드는 Direct Connect 서비스에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다. API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.

Version

VersionStatusSupported Until
1.0CURRENT-

OpenAPI URL

https://direct-connect.{region}.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

1 - APIs

1.1 - Create Direct Connect

1.1.1 - 1.0

post /v1/direct-connects

Description

Direct Connect를 생성한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

DirectConnectCreateRequest

Responses

HTTP CodeDescriptionSchema
202AcceptedDirectConnectShowResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/direct-connects

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Request body

{
    "bandwidth": "",
    "description": "",
    "firewall_enabled": false,
    "firewall_loggable": false,
    "name": "",
    "tags": [],
    "vpc_id": ""
}

Example HTTP response

Response 202

{
    "direct_connect": {
        "account_id": "",
        "bandwidth": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "firewall_id": "",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "",
        "state": "CREATING",
        "vpc_id": "",
        "vpc_name": ""
    }
}

1.2 - Create Routing Rule

1.2.1 - 1.0

post /v1/direct-connects/{direct_connect_id}/routing-rules

Description

Routing Rule을 생성한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone
bodybody
required

RoutingRuleCreateRequest

Responses

HTTP CodeDescriptionSchema
202AcceptedRoutingRuleShowResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}/routing-rules

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Request body

{
    "description": "",
    "destination_cidr": "",
    "destination_resource_id": "",
    "destination_type": "VPC"
}

Example HTTP response

Response 202

{
    "routing_rule": {
        "account_id": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "destination_cidr": "",
        "destination_resource_id": "",
        "destination_resource_name": "",
        "destination_type": "VPC",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "owner_id": "",
        "owner_type": "INTERNET_GATEWAY",
        "state": "CREATING"
    }
}

1.3 - Delete Direct Connect

1.3.1 - 1.0

delete /v1/direct-connects/{direct_connect_id}

Description

Direct Connect를 삭제한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
202AcceptedNone
400Bad RequestNone
403ForbiddenNone
404Not FoundNone
409ConflictNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Example HTTP response

Response 202

1.4 - Delete Routing Rule

1.4.1 - 1.0

delete /v1/direct-connects/{direct_connect_id}/routing-rules/{routing_rule_id}

Description

Routing Rule을 삭제한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone
pathrouting_rule_id
required
Routing Rule ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
202AcceptedNone
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}/routing-rules/{routing_rule_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Example HTTP response

Response 202

1.5 - List Direct Connects

1.5.1 - 1.0

get /v1/direct-connects

Description

Direct Connect 목록을 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querywith_count
optional
with count
Example : true
any of [string, null]None
querylimit
optional
한도
Example : 20
any of [integer, null]None
querymarker
optional
마커
Example : 607e0938521643b5b4b266f343fae693
any of [string, null]None
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
queryid
optional
Direct Connect ID
Example :
string
queryname
optional
Direct Connect명
Example :
string
querystate
optional
상태
Example :
enum (CREATING, ACTIVE, EDITING, DELETING, DELETED, ERROR)
queryvpc_id
optional
VPC ID
Example :
string
queryvpc_name
optional
VPC 명
Example :
string

Responses

HTTP CodeDescriptionSchema
200OKDirectConnectListResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/direct-connects

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Example HTTP response

Response 200

{
    "count": 20,
    "direct_connects": [
        {
            "account_id": "",
            "bandwidth": "",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "description": "",
            "firewall_id": "",
            "id": "",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "name": "",
            "state": "CREATING",
            "vpc_id": "",
            "vpc_name": ""
        }
    ],
    "links": [
        {
            "href": "http://scp.samsungsdscloud.com/v1/notices",
            "rel": "self"
        }
    ]
}

1.6 - List Routing Rules

1.6.1 - 1.0

get /v1/direct-connects/{direct_connect_id}/routing-rules

Description

Routing Rule 목록을 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone
querywith_count
optional
with count
Example : true
any of [string, null]None
querylimit
optional
한도
Example : 20
any of [integer, null]None
querymarker
optional
마커
Example : 607e0938521643b5b4b266f343fae693
any of [string, null]None
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
queryid
optional
Routing Rule ID
Example :
any of [string, null]None
querydestination_type
optional
목적지 타입
Example :
enum (VPC, ON_PREMISE)None
querydestination_cidr
optional
목적지 CIDR
Example :
any of [string, null]None
querystate
optional
상태
Example :
enum (CREATING, ACTIVE, DELETING, DELETED, ERROR)None

Responses

HTTP CodeDescriptionSchema
200OKRoutingRuleListResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}/routing-rules

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Example HTTP response

Response 200

{
    "count": 20,
    "links": [
        {
            "href": "http://scp.samsungsdscloud.com/v1/notices",
            "rel": "self"
        }
    ],
    "routing_rules": [
        {
            "account_id": "",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "description": "",
            "destination_cidr": "",
            "destination_resource_id": "",
            "destination_resource_name": "",
            "destination_type": "VPC",
            "id": "",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "owner_id": "",
            "owner_type": "INTERNET_GATEWAY",
            "state": "CREATING"
        }
    ]
}

1.7 - Set Direct Connect

1.7.1 - 1.0

put /v1/direct-connects/{direct_connect_id}

Description

Direct Connect를 수정한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone
bodybody
required

DirectConnectSetRequest

Responses

HTTP CodeDescriptionSchema
200OKDirectConnectShowResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Request body

{
    "description": ""
}

Example HTTP response

Response 200

{
    "direct_connect": {
        "account_id": "",
        "bandwidth": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "firewall_id": "",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "",
        "state": "CREATING",
        "vpc_id": "",
        "vpc_name": ""
    }
}

1.8 - Show Direct Connect

1.8.1 - 1.0

get /v1/direct-connects/{direct_connect_id}

Description

Direct Connect를 상세조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathdirect_connect_id
required
Direct Connect ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
200OKDirectConnectShowResponse
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/direct-connects/{direct_connect_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = direct-connect 1.0"

Example HTTP response

Response 200

{
    "direct_connect": {
        "account_id": "",
        "bandwidth": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "firewall_id": "",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "",
        "state": "CREATING",
        "vpc_id": "",
        "vpc_name": ""
    }
}

2 - Models

2.1 - DirectConnect

NameDescriptionSchemaDefault
account_id
required
Account ID
Example :
string
bandwidth
required
포트용량
Example :
integer
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
description
optional
Direct Connect 설명
Example :
any of [string, null]
firewall_id
optional
Firewall ID
Example :
any of [string, null]
id
required
Direct Connect ID
Example :
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
Direct Connect명
Example :
Pattern : ^[a-zA-Z0-9-]*$
Minimum length : 3
Maximum length : 20
string
state
required
상태
Example : CREATING
enum (CREATING, ACTIVE, EDITING, DELETING, DELETED, ERROR)
vpc_id
required
VPC ID
Example :
string
vpc_name
required
VPC 명
Example :
string

2.2 - DirectConnectCreateRequest

NameDescriptionSchemaDefault
bandwidth
required
포트용량
Example :
integer
description
optional
Direct Connect 설명
Example :
Maximum length : 50
string
firewall_enabled
optional
Firewall 사용
Example : False
boolean
firewall_loggable
optional
방화벽 로깅 가능
Example : False
boolean
name
required
Direct Connect명
Example :
Pattern : ^[a-zA-Z0-9-]*$
Minimum length : 3
Maximum length : 20
string
tags
optional
태그 목록
array[Tag]
vpc_id
required
VPC ID
Example :
string

2.3 - DirectConnectListResponse

NameDescriptionSchemaDefault
count
optional
전체 개수
Example : 20
any of [integer, null]
direct_connects
required

array[DirectConnect]
links
optional
links
Example : [{'href': 'http://scp.samsungsdscloud.com/v1/notices', 'rel': 'self'}]
any of [array[object], null]

2.4 - DirectConnectSetRequest

NameDescriptionSchemaDefault
description
required
Direct Connect 설명
Example :
Maximum length : 50
string

2.5 - DirectConnectShowResponse

NameDescriptionSchemaDefault
direct_connect
required

DirectConnect

2.6 - RoutingRule

NameDescriptionSchemaDefault
account_id
required
Account ID
Example :
string
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
description
required
설명
Example :
string
destination_cidr
required
목적지 CIDR
Example :
string
destination_resource_id
required
목적지 자원 ID
Example :
any of [string, null]
destination_resource_name
optional
목적지 자원명
Example :
any of [string, null]
destination_type
required
목적지 타입
Example : VPC
enum (VPC, ON_PREMISE, INTERNET, TGW)
id
required
Routing Rule ID
Example :
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
owner_id
required
Routing Rule 소유자 ID
Example :
string
owner_type
required
Routing Rule 소유자 타입
Example : INTERNET_GATEWAY
enum (INTERNET_GATEWAY, GROUP_GATEWAY, DIRECT_CONNECT, SUBNET, PRIVATE_NAT, TRANSIT_GATEWAY, VPC_PEERING, SECURE_INTERNET_GATEWAY)
state
required
상태
Example : CREATING
enum (CREATING, ACTIVE, DELETING, DELETED, ERROR)

2.7 - RoutingRuleCreateRequest

NameDescriptionSchemaDefault
description
optional
설명
Example :
Maximum length : 50
string
destination_cidr
required
목적지 CIDR
Example :
string
destination_resource_id
optional
목적지 자원 ID
Example :
any of [string, null]
destination_type
required
목적지 타입
Example : VPC
enum (VPC, ON_PREMISE)

2.8 - RoutingRuleListResponse

NameDescriptionSchemaDefault
count
optional
전체 개수
Example : 20
any of [integer, null]
links
optional
links
Example : [{'href': 'http://scp.samsungsdscloud.com/v1/notices', 'rel': 'self'}]
any of [array[object], null]
routing_rules
required

array[RoutingRule]

2.9 - RoutingRuleShowResponse

NameDescriptionSchemaDefault
routing_rule
required

RoutingRule

2.10 - Tag

NameDescriptionSchemaDefault
key
required
tag key
Example :
string
value
required
tag value
Example :
string