Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
214 changes: 10 additions & 204 deletions components/schemas/dns/records/DnsRecordTypes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,216 +3,22 @@ type: object
description: DNS record types the platform supports.
properties:
a:
type: object
description: A DNS A record
required:
- ip
properties:
ip:
type: string
description: The IPv4 address that the A record should map to.
$ref: types/DnsRecordA.yml
aaaa:
type: object
description: A DNS AAAA record
required:
- ip
properties:
ip:
type: string
description: The IPv6 address that the AAAA record should map to.
$ref: types/DnsRecordAaaa.yml
cname:
type: object
description: A DNS CNAME record
required:
- domain
properties:
domain:
type: string
description: The domain string the record resolves to.
$ref: types/DnsRecordCname.yml
ns:
type: object
description: A DNS NS record
required:
- domain
properties:
domain:
type: string
description: The domain of the nameserver for this record.
$ref: types/DnsRecordNs.yml
mx:
type: object
description: A DNS MX record
required:
- priority
- domain
properties:
priority:
type: integer
description: The priority setting for this mx record.
domain:
type: string
description: The domain this mx record points to.
$ref: types/DnsRecordMx.yml
txt:
type: object
description: A DNS TXT record.
required:
- value
properties:
value:
type: string
description: The value for this TXT record.
$ref: types/DnsRecordTxt.yml
alias:
type: object
description: A DNS ALIAS record.
required:
- domain
properties:
domain:
type: string
description: The domain string returned from the DNS server when this alias record is requested.
$ref: types/DnsRecordAlias.yml
srv:
type: object
description: A DNS SRV record.
required:
- weight
- priority
- port
- domain
properties:
weight:
type: integer
description: Teh weight configured for this record - breaks ties for priority.
priority:
type: integer
description: The priority for the record.
port:
type: integer
description: The port number for the service.
domain:
type: string
description: The domain for the record.
$ref: types/DnsRecordSrv.yml
caa:
type: object
description: A DNS CAA record.
required:
- tag
- value
properties:
tag:
type: string
description: The ASCII string that represents the identifier of the property represented by the record.
value:
type: string
description: The value associated with the tag.
$ref: types/DnsRecordCaa.yml
linked:
type: object
description: A LINKED record is a record special to Cycle. It represents a URL that points to a specific container or deployment of a container, however the IP address mapping in handled automatically by the platform.
allOf:
- type: object
required:
- features
- routing
properties:
routing:
type: object
description: Rules for routing traffic at the load balancer for this linked record.
properties:
http:
type:
- object
- "null"
properties:
match_path:
type:
- string
- "null"
description: >
If set, this record will configure the load balancer to only match for paths of this domain matching this string.

If the string starts with a /, it will be a literal prefix match (/test matches /test*). Otherwise, regex is used.
features:
type: object
description: Features associated with this record.
required:
- tls
- geodns
properties:
tls:
type: object
description: TLS properties of the record.
required:
- enable
properties:
enable:
type: boolean
description: A boolean, where true represents this record will be paired with a TLS certificate automatically maintained by the platform.
geodns:
type: object
description: Options for the GeoDNS LINKED record feature.
required:
- enable
properties:
enable:
type: boolean
description: If enabled, Cycle will attempt to match inbound requests to the closest load balancer geographically.
wildcard:
type:
- object
- "null"
required:
- resolve_sub_domains
properties:
resolve_sub_domains:
description: If enabled, subdomains will resolve for wildcard records. If disabled, only the primary domain will resolve.
default: false
type: boolean
- oneOf:
- type: object
properties:
container_id:
type: string
description: The ID of the container this record is related to.

- type: object
required:
- virtual_machine
properties:
virtual_machine:
type: object
required:
- id
- dmz
properties:
id:
$ref: ../../ID.yml
dmz:
type: boolean
description: |
If true, traffic to this domain will skip the load balancer and go directly to the virtual machine
via the gateway service.

- type: object
properties:
deployment:
type: object
description: Information about the deployment this record points to.
required:
- environment_id
- match
properties:
environment_id:
$ref: ../../ID.yml
description: The ID of the environment with the deployment tag mapping we want to reference.
match:
type: object
description: Describes which container and which tagged deployment this record should target.
required:
- container
properties:
container:
$ref: ../../Identifier.yml
description: The identifier of the container in the environment this record should point to.
tag:
description: The deployment tag that this record should point to. The tags are set on the root of an environment and map to a deployment version.
anyOf:
- $ref: ../../Identifier.yml
- type: "null"
$ref: types/DnsRecordLinked.yml
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordA.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordA
type: object
description: A DNS A record.
required:
- ip
properties:
ip:
type: string
description: The IPv4 address that the A record should map to.
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordAaaa.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordAaaa
type: object
description: A DNS AAAA record.
required:
- ip
properties:
ip:
type: string
description: The IPv6 address that the AAAA record should map to.
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordAlias.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordAlias
type: object
description: A DNS ALIAS record.
required:
- domain
properties:
domain:
type: string
description: The domain string returned from the DNS server when this alias record is requested.
13 changes: 13 additions & 0 deletions components/schemas/dns/records/types/DnsRecordCaa.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: DnsRecordCaa
type: object
description: A DNS CAA record.
required:
- tag
- value
properties:
tag:
type: string
description: The ASCII string that represents the identifier of the property represented by the record.
value:
type: string
description: The value associated with the tag.
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordCname.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordCname
type: object
description: A DNS CNAME record.
required:
- domain
properties:
domain:
type: string
description: The domain string the record resolves to.
55 changes: 55 additions & 0 deletions components/schemas/dns/records/types/DnsRecordLinked.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
title: DnsRecordLINKED
type: object
description: A LINKED record is a record special to Cycle. It represents a URL that points to a specific container or deployment of a container, however the IP address mapping is handled automatically by the platform.
allOf:
- type: object
required:
- features
- routing
properties:
routing:
$ref: linked/DnsRecordLinkedRouting.yml
features:
type: object
description: Features associated with this record.
required:
- tls
- geodns
properties:
tls:
type: object
description: TLS properties of the record.
required:
- enable
properties:
enable:
type: boolean
description: A boolean, where true represents this record will be paired with a TLS certificate automatically maintained by the platform.
geodns:
type: object
description: Options for the GeoDNS LINKED record feature.
required:
- enable
properties:
enable:
type: boolean
description: If enabled, Cycle will attempt to match inbound requests to the closest load balancer geographically.
wildcard:
type:
- object
- "null"
required:
- resolve_sub_domains
properties:
resolve_sub_domains:
description: If enabled, subdomains will resolve for wildcard records. If disabled, only the primary domain will resolve.
default: false
type: boolean
- oneOf:
- type: object
properties:
container_id:
type: string
description: The ID of the container this record is related to.
- $ref: linked/DnsRecordLinkedVirtualMachine.yml
- $ref: linked/DnsRecordLinkedDeployment.yml
13 changes: 13 additions & 0 deletions components/schemas/dns/records/types/DnsRecordMx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: DnsRecordMx
type: object
description: A DNS MX record.
required:
- priority
- domain
properties:
priority:
type: integer
description: The priority setting for this mx record.
domain:
type: string
description: The domain this mx record points to.
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordNs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordNs
type: object
description: A DNS NS record.
required:
- domain
properties:
domain:
type: string
description: The domain of the nameserver for this record.
21 changes: 21 additions & 0 deletions components/schemas/dns/records/types/DnsRecordSrv.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
title: DnsRecordSrv
type: object
description: A DNS SRV record.
required:
- weight
- priority
- port
- domain
properties:
weight:
type: integer
description: The weight configured for this record - breaks ties for priority.
priority:
type: integer
description: The priority for the record.
port:
type: integer
description: The port number for the service.
domain:
type: string
description: The domain for the record.
9 changes: 9 additions & 0 deletions components/schemas/dns/records/types/DnsRecordTxt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: DnsRecordTxt
type: object
description: A DNS TXT record.
required:
- value
properties:
value:
type: string
description: The value for this TXT record.
Loading
Loading