Global CDN

Overview

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

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

Version

Not Before 기간이 도래하거나 만료된 Deprecated 버전은 더 이상 지원하지 않습니다. 최신 버전 사용을 권장합니다.

VersionStatusNot Before
1.0CURRENT-

OpenAPI URL

https://cdn.{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 Cdn Service

1.1.1 - 1.0

post /v1/cdns

Description

cdn 서비스 생성

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

CdnServiceCreateRequest

Responses

HTTP CodeDescriptionSchema
202AcceptedCdnServiceResponseResult
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/cdns

Request header

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

Request body

{
    "cache_expiry_time": "",
    "cache_key_hostname": "REQUEST_HOST_HEADER",
    "caching_option": "",
    "cdn_origin_hostname": "test.example.com",
    "cdn_origin_port": "",
    "cdn_origin_protocol": "",
    "cdn_service_domain_prefix": "global1",
    "cdn_service_origin_path": "/test/global/",
    "content_policy": "",
    "custom_forward_host_header": "",
    "description": "",
    "forward_host_header": "REQUEST_HOST_HEADER",
    "name": "test1",
    "origin_hostname_type": "DOMAIN",
    "query_string_ignored": "",
    "range_request_allowed": "",
    "request_custom_headers": "",
    "response_custom_headers": "",
    "tags": []
}

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.2 - Delete Cdn Service

1.2.1 - 1.0

delete /v1/cdns/{id}

Description

cdn 서비스 삭제

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone

Responses

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

Example HTTP request

Request path

/v1/cdns/{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 = cdn 1.0"

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.3 - Detail Cdn Service

1.3.1 - 1.0

get /v1/cdns/{id}

Description

cdn 서비스 상세

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone

Responses

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

Example HTTP request

Request path

/v1/cdns/{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 = cdn 1.0"

Example HTTP response

Response 200

{
    "cdn": {
        "account_id": "",
        "cache_expiry_time": "",
        "cache_key_hostname": "",
        "caching_option": "",
        "cdn_origin_hostname": "",
        "cdn_origin_port": "",
        "cdn_origin_protocol": "",
        "cdn_service_activation_state": "",
        "cdn_service_config_version": "",
        "cdn_service_domain": "",
        "cdn_service_origin_path": "",
        "cdn_service_state": "",
        "content_policy": "",
        "created_at": "",
        "created_by": "",
        "custom_forward_host_header": "",
        "description": "",
        "forward_host_header": "",
        "id": "",
        "modified_at": "",
        "modified_by": "",
        "name": "",
        "origin_hostname_type": "",
        "query_string_ignored": "",
        "range_request_allowed": "",
        "region": "",
        "request_custom_headers": "",
        "response_custom_headers": ""
    }
}

1.4 - List Cdn Service

1.4.1 - 1.0

get /v1/cdns

Description

cdn 서비스 목록

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querysize
optional
size
Example : 20
any of [integer, null]20
querypage
optional
page
Example : 0
any of [integer, null]0
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
querycreated_by
optional
생성자
Example :
any of [string, null]None
queryname
optional
cdn 서비스 이름
Example :
any of [string, null]None
querycdn_service_domain
optional
cdn 서비스 도메인
Example :
any of [string, null]None
querycdn_origin_hostname
optional
cdn 서비스 원본 호스트 네임
Example :
any of [string, null]None

Responses

HTTP CodeDescriptionSchema
200OKCdnServiceListResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/cdns

Request header

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

Example HTTP response

Response 200

{
    "cdn": [
        {
            "account_id": "",
            "cdn_origin_hostname": "",
            "cdn_service_domain": "",
            "cdn_service_state": "",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "description": "",
            "id": "",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "name": "",
            "region": ""
        }
    ],
    "count": 20,
    "page": 0,
    "size": 20,
    "sort": [
        "created_at:asc"
    ]
}

1.5 - Purge Cdn Service

1.5.1 - 1.0

post /v1/cdns/{id}/purge

Description

cdn 서비스 purge

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone
bodybody
required

CdnServicePurgeRequest

Responses

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

Example HTTP request

Request path

/v1/cdns/{id}/purge

Request header

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

Request body

{
    "custom_url": "/test/",
    "target_content": "",
    "target_url": ""
}

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.6 - Start Cdn Service

1.6.1 - 1.0

post /v1/cdns/{id}/start

Description

cdn 서비스 시작

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone

Responses

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

Example HTTP request

Request path

/v1/cdns/{id}/start

Request header

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

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.7 - Stop Cdn Service

1.7.1 - 1.0

post /v1/cdns/{id}/stop

Description

cdn 서비스 정지

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone

Responses

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

Example HTTP request

Request path

/v1/cdns/{id}/stop

Request header

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

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.8 - Update Cdn Service

1.8.1 - 1.0

put /v1/cdns/{id}

Description

cdn 서비스 업데이트

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone
bodybody
required

CdnServiceUpdateRequest

Responses

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

Example HTTP request

Request path

/v1/cdns/{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 = cdn 1.0"

Request body

{
    "cache_expiry_time": "",
    "cache_key_hostname": "REQUEST_HOST_HEADER",
    "caching_option": "",
    "cdn_origin_hostname": "test.example.com",
    "cdn_origin_port": "",
    "cdn_origin_protocol": "",
    "cdn_service_origin_path": "/test/global/",
    "content_policy": "",
    "custom_forward_host_header": "",
    "forward_host_header": "REQUEST_HOST_HEADER",
    "origin_hostname_type": "DOMAIN",
    "query_string_ignored": "",
    "range_request_allowed": "",
    "request_custom_headers": "",
    "response_custom_headers": ""
}

Example HTTP response

Response 202

{
    "cdn": {
        "account_id": "",
        "resource_id": "",
        "workflow_id": ""
    }
}

1.9 - Update Description of Cdn Service

1.9.1 - 1.0

put /v1/cdns/{id}/description

Description

cdn 서비스 설명 업데이트

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathid
required
cdn 서비스 ID
Example :
stringNone
bodybody
required

CdnServiceModifyDescriptionRequest

Responses

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

Example HTTP request

Request path

/v1/cdns/{id}/description

Request header

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

Request body

{
    "description": ""
}

Example HTTP response

Response 200

{
    "cdn": {
        "account_id": "",
        "cache_expiry_time": "",
        "cache_key_hostname": "",
        "caching_option": "",
        "cdn_origin_hostname": "",
        "cdn_origin_port": "",
        "cdn_origin_protocol": "",
        "cdn_service_activation_state": "",
        "cdn_service_config_version": "",
        "cdn_service_domain": "",
        "cdn_service_origin_path": "",
        "cdn_service_state": "",
        "content_policy": "",
        "created_at": "",
        "created_by": "",
        "custom_forward_host_header": "",
        "description": "",
        "forward_host_header": "",
        "id": "",
        "modified_at": "",
        "modified_by": "",
        "name": "",
        "origin_hostname_type": "",
        "query_string_ignored": "",
        "range_request_allowed": "",
        "region": "",
        "request_custom_headers": "",
        "response_custom_headers": ""
    }
}

2 - Models

2.1 - CdnServiceCreateRequest

NameDescriptionSchemaDefault
cache_expiry_time
required
캐시 만료 시간
Example :
Minimum : 3600
Maximum : 2592000
integer
cache_key_hostname
required
캐시 키 호스트네임
Example : REQUEST_HOST_HEADER
enum (REQUEST_HOST_HEADER, ORIGIN_HOSTNAME)
caching_option
required
캐싱 옵션
Example :
string
cdn_origin_hostname
required
cdn 서비스 원본 호스트 네임
Example : test.example.com
Pattern : ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Maximum length : 253
string
cdn_origin_port
required
cdn 서비스 원본 포트
Example :
Minimum : 1
Maximum : 65535
integer
cdn_origin_protocol
required
cdn 서비스 원본 프로토콜
Example :
string
cdn_service_domain_prefix
required
cdn 서비스 도메인 prefix
Example : global1
Pattern : ^[a-z0-9]*$
Minimum length : 4
Maximum length : 40
string
cdn_service_origin_path
optional
cdn 서비스 원본 경로
Example : /test/global/
Pattern : ^/$|^(/[a-zA-Z0-9-._]+)+/$
any of [string, null]
content_policy
required
컨텐츠 정책
Example :
string
custom_forward_host_header
optional
커스텀 포워드 호스트 헤더
Example :
any of [string, null]
description
optional
설명
Example :
any of [string, null]
forward_host_header
required
포워드 호스트 헤더
Example : REQUEST_HOST_HEADER
enum (REQUEST_HOST_HEADER, ORIGIN_HOSTNAME, CUSTOM)
name
required
cdn 서비스 이름
Example : test1
Pattern : ^[a-zA-Z0-9]*$
Minimum length : 3
Maximum length : 20
string
origin_hostname_type
required
원본 호스트네임 타입
Example : DOMAIN
enum (DOMAIN, IP)
query_string_ignored
required
쿼리 문자열 무시
Example :
boolean
range_request_allowed
required
범위 요청 허용
Example :
boolean
request_custom_headers
optional
요청 커스텀 헤더
Example :
object
response_custom_headers
optional
응답 커스텀 헤더
Example :
object
tags
optional
태그 목록
array[Tag]

2.2 - CdnServiceDetail

NameDescriptionSchemaDefault
account_id
required
Account ID
Example :
string
cache_expiry_time
required
캐시 만료 시간
Example :
integer
cache_key_hostname
required
캐시 키 호스트네임
Example :
string
caching_option
required
캐싱 옵션
Example :
string
cdn_origin_hostname
required
cdn 서비스 원본 호스트 네임
Example :
string
cdn_origin_port
required
cdn 서비스 원본 포트
Example :
integer
cdn_origin_protocol
required
cdn 서비스 원본 프로토콜
Example :
string
cdn_service_activation_state
required
cdn 서비스 활성화 상태
Example :
string
cdn_service_config_version
required
cdn 서비스 컨피그 버전
Example :
integer
cdn_service_domain
required
cdn 서비스 도메인
Example :
string
cdn_service_origin_path
required
cdn 서비스 원본 경로
Example :
string
cdn_service_state
required
cdn 서비스 상태
Example :
string
content_policy
required
컨텐츠 정책
Example :
string
created_at
required
생성 일시
Example :
string
created_by
required
생성자
Example :
string
custom_forward_host_header
required
커스텀 포워드 호스트 헤더
Example :
string
description
required
설명
Example :
string
forward_host_header
required
포워드 호스트 헤더
Example :
string
id
required
cdn 서비스 ID
Example :
string
modified_at
required
수정 일시
Example :
string
modified_by
required
수정자
Example :
string
name
required
cdn 서비스 이름
Example :
string
origin_hostname_type
required
원본 호스트네임 타입
Example :
string
query_string_ignored
required
쿼리 문자열 무시
Example :
boolean
range_request_allowed
required
범위 요청 허용
Example :
boolean
region
required
리전
Example :
string
request_custom_headers
required
요청 커스텀 헤더
Example :
object
response_custom_headers
required
응답 커스텀 헤더
Example :
object

2.3 - CdnServiceDetailResponse

NameDescriptionSchemaDefault
cdn
required

CdnServiceDetail

2.4 - CdnServiceListResponse

NameDescriptionSchemaDefault
cdn
required

array[CdnServiceResponse]
count
required
count
Example : 20
integer
page
required
page
Example : 0
integer
size
required
size
Example : 20
integer
sort
optional
sort
Example : ['created_at:asc']
any of [array[string], null]

2.5 - CdnServiceModifyDescriptionRequest

NameDescriptionSchemaDefault
description
required
설명
Example :
string

2.6 - CdnServicePurgeRequest

NameDescriptionSchemaDefault
custom_url
optional
커스텀 url
Example : /test/
Pattern : ^/[a-zA-Z0-9-._/]*$
any of [string, null]
target_content
required
타겟 컨텐츠
Example :
string
target_url
required
타겟 url
Example :
string

2.7 - CdnServiceResponse

NameDescriptionSchemaDefault
account_id
required
Account ID
Example :
string
cdn_origin_hostname
required
cdn 서비스 원본 호스트 네임
Example :
string
cdn_service_domain
required
cdn 서비스 도메인
Example :
string
cdn_service_state
required
cdn 서비스 상태
Example :
string
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
description
optional
설명
Example :
any of [string, null]
id
required
cdn 서비스 ID
Example :
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
cdn 서비스 이름
Example :
string
region
required
리전
Example :
string

2.8 - CdnServiceResponseResult

NameDescriptionSchemaDefault
cdn
required

CdnServiceResult

2.9 - CdnServiceResult

NameDescriptionSchemaDefault
account_id
required
Account ID
Example :
string
resource_id
required
리소스 id
Example :
string
workflow_id
required
워크플로우 id
Example :
string

2.10 - CdnServiceUpdateRequest

NameDescriptionSchemaDefault
cache_expiry_time
required
캐시 만료 시간
Example :
Minimum : 3600
Maximum : 2592000
integer
cache_key_hostname
required
캐시 키 호스트네임
Example : REQUEST_HOST_HEADER
enum (REQUEST_HOST_HEADER, ORIGIN_HOSTNAME)
caching_option
required
캐싱 옵션
Example :
string
cdn_origin_hostname
required
cdn 서비스 원본 호스트 네임
Example : test.example.com
Pattern : ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$|^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Maximum length : 253
string
cdn_origin_port
required
cdn 서비스 원본 포트
Example :
Minimum : 1
Maximum : 65535
integer
cdn_origin_protocol
required
cdn 서비스 원본 프로토콜
Example :
string
cdn_service_origin_path
optional
cdn 서비스 원본 경로
Example : /test/global/
Pattern : ^/$|^(/[a-zA-Z0-9-._]+)+/$
any of [string, null]
content_policy
required
컨텐츠 정책
Example :
string
custom_forward_host_header
optional
커스텀 포워드 호스트 헤더
Example :
any of [string, null]
forward_host_header
required
포워드 호스트 헤더
Example : REQUEST_HOST_HEADER
enum (REQUEST_HOST_HEADER, ORIGIN_HOSTNAME, CUSTOM)
origin_hostname_type
required
원본 호스트네임 타입
Example : DOMAIN
enum (DOMAIN, IP)
query_string_ignored
required
쿼리 문자열 무시
Example :
boolean
range_request_allowed
required
범위 요청 허용
Example :
boolean
request_custom_headers
optional
요청 커스텀 헤더
Example :
any of [object, null]
response_custom_headers
optional
응답 커스텀 헤더
Example :
any of [object, null]

2.11 - Tag

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