POST
/
cdn
/
logs_uploader
/
policies
Create policy
curl --request POST \
  --url https://api.gcore.com/cdn/logs_uploader/policies \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "include_empty_logs": false,
  "include_shield_logs": false,
  "name": "Policy",
  "description": "<string>",
  "retry_interval_minutes": 60,
  "rotate_interval_minutes": 5,
  "rotate_threshold_mb": null,
  "rotate_threshold_lines": 0,
  "date_format": "<string>",
  "field_delimiter": "\"",
  "field_separator": " ",
  "fields": [
    "remote_addr",
    "-",
    "remote_user",
    "time_local",
    "request",
    "status",
    "body_bytes_sent",
    "http_referer",
    "http_user_agent",
    "bytes_sent",
    "hostname",
    "scheme",
    "host",
    "request_time",
    "upstream_response_time",
    "request_length",
    "http_range",
    "dc",
    "upstream_cache_status",
    "upstream_response_length",
    "upstream_addr",
    "gcdn_api_client_id",
    "gcdn_api_resource_id",
    "uid_got",
    "uid_set",
    "geoip2_country_code",
    "geoip2_city",
    "shield_type",
    "real_server_addr",
    "server_port",
    "upstream_status",
    "-",
    "upstream_connect_time",
    "upstream_header_time",
    "shard_addr",
    "geoip2_data_asnumber",
    "connection",
    "connection_requests",
    "http_traceparent",
    "http_x_forwarded_proto",
    "gcdn_internal_status_code",
    "ssl_cipher",
    "ssl_session_id",
    "ssl_session_reused",
    "sent_http_content_type",
    "real_tcpinfo_rtt",
    "server_country_code",
    "gcdn_tcpinfo_snd_cwnd",
    "gcdn_tcpinfo_total_retrans",
    "gcdn_rule_id"
  ],
  "file_name_template": "{{YYYY}}/{{MM}}/{{DD}}/{{HH}}/{{mm}}/{{ss}}/{{HOST}}_{{CNAME}}_access.log.gz",
  "format_type": "<string>",
  "tags": {}
}'
{
  "id": 123,
  "client_id": 123,
  "created": "2023-11-07T05:31:56Z",
  "updated": "2023-11-07T05:31:56Z",
  "include_empty_logs": true,
  "include_shield_logs": true,
  "name": "<string>",
  "description": "<string>",
  "retry_interval_minutes": 32,
  "rotate_interval_minutes": 32,
  "rotate_threshold_mb": 252,
  "rotate_threshold_lines": 5000,
  "date_format": "<string>",
  "field_delimiter": "<string>",
  "field_separator": "<string>",
  "fields": [
    "<string>"
  ],
  "file_name_template": "<string>",
  "format_type": "<string>",
  "tags": {},
  "related_uploader_configs": [
    123
  ]
}

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Body

application/json
include_empty_logs
boolean
default:false

Include empty logs in the upload.

include_shield_logs
boolean
default:false

Include logs from origin shielding in the upload.

name
string
default:Policy

Name of the policy.

Maximum length: 255
description
string

Description of the policy.

Maximum length: 255
retry_interval_minutes
integer
default:60

Interval in minutes to retry failed uploads.

Required range: 5 <= x <= 60
rotate_interval_minutes
integer
default:5

Interval in minutes to rotate logs.

Required range: 5 <= x <= 60
rotate_threshold_mb
integer | null

Threshold in MB to rotate logs.

Required range: 100 <= x <= 2147483647
rotate_threshold_lines
integer
default:0

Threshold in lines to rotate logs.

Required range: 0 <= x <= 10000
date_format
string

Date format for logs.

Maximum length: 255
field_delimiter
string
default:"

Field delimiter for logs.

Maximum length: 10
field_separator
string
default:

Field separator for logs.

Required string length: 1 - 10
fields
string[]

List of fields to include in logs.

file_name_template
string
default:{{YYYY}}/{{MM}}/{{DD}}/{{HH}}/{{mm}}/{{ss}}/{{HOST}}_{{CNAME}}_access.log.gz

Template for log file name.

Maximum length: 255
format_type
string

Format type for logs.

Maximum length: 255
tags
object

Tags allow for dynamic decoration of logs by adding predefined fields to the log format. These tags serve as customizable key-value pairs that can be included in log entries to enhance context and readability.

Response

Successful.

id
integer
client_id
integer

Client that owns the policy.

created
string<date-time>

Time when logs uploader policy was created.

updated
string<date-time>

Time when logs uploader policy was updated.

include_empty_logs
boolean

Include empty logs in the upload.

include_shield_logs
boolean

Include logs from origin shielding in the upload.

name
string

Name of the policy.

Maximum length: 255
description
string

Description of the policy.

Maximum length: 255
retry_interval_minutes
integer

Interval in minutes to retry failed uploads.

Required range: 5 <= x <= 60
rotate_interval_minutes
integer

Interval in minutes to rotate logs.

Required range: 5 <= x <= 60
rotate_threshold_mb
integer | null

Threshold in MB to rotate logs.

Required range: 5 <= x <= 500
rotate_threshold_lines
integer

Threshold in lines to rotate logs.

Required range: 0 <= x <= 10000
date_format
string

Date format for logs.

Maximum length: 255
field_delimiter
string

Field delimiter for logs.

Maximum length: 10
field_separator
string

Field separator for logs.

Required string length: 1 - 10
fields
string[]

List of fields to include in logs.

file_name_template
string

Template for log file name.

Maximum length: 255
format_type
string

Format type for logs.

Maximum length: 255
tags
object

Tags allow for dynamic decoration of logs by adding predefined fields to the log format. These tags serve as customizable key-value pairs that can be included in log entries to enhance context and readability.

List of logs uploader configs that use this policy.