4.0.0 • Published 5 years ago

@datafire/turbinelabs v4.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@datafire/turbinelabs

Client library for Turbine Labs API

Installation and Usage

npm install --save @datafire/turbinelabs
let turbinelabs = require('@datafire/turbinelabs').create({
  api_key: ""
});

.then(data => {
  console.log(data);
});

Description

The Turbine Labs API provides CRUD operations for core object types, and is mostly RESTy. The easiest way to interact with the API is with tbnctl. If you want to make direct HTTP calls, however, you can obtain an access token using tbnctl, and then pass it in the Authorization header, prefixed by Token:

curl -H "Authorization: Token <access token>" https://api.turbinelabs.io/v1.0/cluster

Actions

admin.user.self.get

Request the user object for an authorized requesting account.

turbinelabs.admin.user.self.get(null, context)

Input

This action has no parameters

Output

admin.user.self.access_token.access_token_key.delete

Delete the specified access token.

turbinelabs.admin.user.self.access_token.access_token_key.delete({
  "access-token-key": "",
  "checksum": ""
}, context)

Input

  • input object
    • access-token-key required string: the key of the Access Token that should be deleted
    • checksum required string: the current checksum of the user to be modified

Output

Output schema unknown

admin.user.self.access_tokens.get

Lists Access Tokens that are configured for the authenticated user.

turbinelabs.admin.user.self.access_tokens.get(null, context)

Input

This action has no parameters

Output

admin.user.self.access_tokens.post

Creates a new Access Token and associates it with the authenticated user.

turbinelabs.admin.user.self.access_tokens.post({
  "description": {
    "description": ""
  }
}, context)

Input

Output

changelog.adhoc.get

Perform an adhoc query against the change log for your org. The filter is a JSON encoded FilterSum as defined in this file.

turbinelabs.changelog.adhoc.get({}, context)

Input

  • input object
    • filter string: Encoded FilterSums representing the query you would like to execute. See object definition for details.

Output

changelog.cluster_graph.clusterKey.get

Gets all changes to a cluster.

turbinelabs.changelog.cluster_graph.clusterKey.get({
  "clusterKey": ""
}, context)

Input

  • input object
    • clusterKey required string: the cluster key to see an audit log for
    • start number: The beginning of the window we want to see changes for; measured in
    • end number: The end of the window we want to see changes for; measured in
    • max_results number: Determines how many ChangeDescription object should be returned to
    • ref_id string: When paginating a Changelog request start on the entry that comes
    • direction string (values: before, after): If set to "before" then changes will be returned that occurred before

Output

changelog.domain_graph.domainKey.get

Gets all changes to a domain, the proxies that front the specified domain, routes within that domain, the shared rules of each route, the clusters connected via route or shared rules.

turbinelabs.changelog.domain_graph.domainKey.get({
  "domainKey": ""
}, context)

Input

  • input object
    • domainKey required string: the domain key to see an audit log for
    • start number: The beginning of the window we want to see changes for; measured in
    • end number: The end of the window we want to see changes for; measured in
    • max_results number: Determines how many ChangeDescription object should be returned to
    • ref_id string: When paginating a Changelog request start on the entry that comes
    • direction string (values: before, after): If set to "before" then changes will be returned that occurred before

Output

changelog.route_graph.routeKey.get

Gets all changes to a route, the domains associated with it, the shared rules it references, and the clusters connected to it.

turbinelabs.changelog.route_graph.routeKey.get({
  "routeKey": ""
}, context)

Input

  • input object
    • routeKey required string: the route key to see an audit log for
    • start number: The beginning of the window we want to see changes for; measured in
    • end number: The end of the window we want to see changes for; measured in
    • max_results number: Determines how many ChangeDescription object should be returned to
    • ref_id string: When paginating a Changelog request start on the entry that comes
    • direction string (values: before, after): If set to "before" then changes will be returned that occurred before

Output

changelog.shared_rules_graph.sharedRulesKey.get

Gets all changes associated with set of Shared Rules; the domains using it and the clusters referenced by it.

turbinelabs.changelog.shared_rules_graph.sharedRulesKey.get({
  "sharedRulesKey": ""
}, context)

Input

  • input object
    • sharedRulesKey required string: the shared rules key to see an audit log for
    • start number: The beginning of the window we want to see changes for; measured in
    • end number: The end of the window we want to see changes for; measured in
    • max_results number: Determines how many ChangeDescription object should be returned to
    • ref_id string: When paginating a Changelog request start on the entry that comes
    • direction string (values: before, after): If set to "before" then changes will be returned that occurred before

Output

changelog.zone.zoneKey.get

Retrieve all changes in the specified zone.

turbinelabs.changelog.zone.zoneKey.get({
  "zoneKey": ""
}, context)

Input

  • input object
    • zoneKey required string: the zone key to see an audit log for
    • start number: The beginning of the window we want to see changes for; measured in
    • end number: The end of the window we want to see changes for; measured in
    • max_results number: Determines how many ChangeDescription object should be returned to
    • ref_id string: When paginating a Changelog request start on the entry that comes
    • direction string (values: before, after): If set to "before" then changes will be returned that occurred before

Output

cluster.get

Get a list of clusters

turbinelabs.cluster.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of ClusterFilter objects. The filter is taken

Output

cluster.post

Create a new cluster

turbinelabs.cluster.post({
  "cluster": {
    "zone_key": "",
    "name": ""
  }
}, context)

Input

Output

cluster.clusterKey.delete

Delete an existing cluster

turbinelabs.cluster.clusterKey.delete({
  "clusterKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • clusterKey required string: the cluster key
    • checksum required string: the current checksum of the cluster to be deleted

Output

cluster.clusterKey.get

Get details for an existing cluster

turbinelabs.cluster.clusterKey.get({
  "clusterKey": ""
}, context)

Input

  • input object
    • clusterKey required string: the cluster key

Output

cluster.clusterKey.put

Modify an existing cluster

turbinelabs.cluster.clusterKey.put({
  "clusterKey": "",
  "cluster": null
}, context)

Input

  • input object
    • clusterKey required string: the cluster key
    • cluster required Cluster

Output

cluster.clusterKey.instances.post

Add a new instance to a cluster

turbinelabs.cluster.clusterKey.instances.post({
  "clusterKey": "",
  "instance": {}
}, context)

Input

  • input object
    • clusterKey required string: the cluster to add the instance to
    • instance required Instance

Output

cluster.clusterKey.instances.instanceIdentifier.delete

Remove an instance from a cluster

turbinelabs.cluster.clusterKey.instances.instanceIdentifier.delete({
  "checksum": "",
  "clusterKey": "",
  "instanceIdentifier": ""
}, context)

Input

  • input object
    • checksum required string: the current checksum of the instance to be deleted
    • clusterKey required string: the cluster to remove an instance from
    • instanceIdentifier required string: the instance to remove, identified as :

Output

domain.get

Get a list of domains

turbinelabs.domain.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of DomainFilter objects. The filter is taken

Output

domain.post

Create a new domain

turbinelabs.domain.post({
  "domain": {
    "zone_key": "",
    "name": "",
    "port": 0
  }
}, context)

Input

Output

domain.domainKey.delete

Delete an existing domain

turbinelabs.domain.domainKey.delete({
  "domainKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • domainKey required string: the domain key
    • checksum required string: the current checksum of the domain to be deleted

Output

domain.domainKey.get

Get details for a single domain

turbinelabs.domain.domainKey.get({
  "domainKey": ""
}, context)

Input

  • input object
    • domainKey required string: the domain key

Output

listener.get

Get a list of listeners

turbinelabs.listener.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of ListenerFilter objects. The filter is taken

Output

listener.post

Create a new listener

turbinelabs.listener.post({
  "listener": {
    "name": "",
    "port": 0,
    "protocol": ""
  }
}, context)

Input

Output

listener.listenerKey.delete

Delete existing listener

turbinelabs.listener.listenerKey.delete({
  "listenerKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • listenerKey required string: the listener key
    • checksum required string: the current checksum of the listener to be deleted

Output

listener.listenerKey.get

Get details for a single listener

turbinelabs.listener.listenerKey.get({
  "listenerKey": ""
}, context)

Input

  • input object
    • listenerKey required string: the listener key

Output

listener.listenerKey.put

Modify an existing listener

turbinelabs.listener.listenerKey.put({
  "listenerKey": "",
  "listener": null
}, context)

Input

  • input object
    • listenerKey required string: the listener key
    • listener required Listener

Output

proxy.get

Get a list of proxies

turbinelabs.proxy.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of ProxyFilter objects. The filter is taken

Output

proxy.post

Create a new proxy

turbinelabs.proxy.post({
  "proxy": {
    "zone_key": "",
    "name": ""
  }
}, context)

Input

Output

proxy.proxyKey.delete

Delete existing proxy

turbinelabs.proxy.proxyKey.delete({
  "proxyKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • proxyKey required string: the proxy key
    • checksum required string: the current checksum of the proxy to be deleted

Output

proxy.proxyKey.get

Get details for a single proxy

turbinelabs.proxy.proxyKey.get({
  "proxyKey": ""
}, context)

Input

  • input object
    • proxyKey required string: the proxy key

Output

route.get

Get a list of routes

turbinelabs.route.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of RouteFilter objects. The filter is taken

Output

route.post

Create a new route

turbinelabs.route.post({
  "route": {
    "domain_key": "",
    "zone_key": "",
    "path": "",
    "shared_rules_key": ""
  }
}, context)

Input

Output

route.routeKey.delete

Delete an existing route

turbinelabs.route.routeKey.delete({
  "routeKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • routeKey required string: the route key
    • checksum required string: the current checksum of the route to be deleted

Output

route.routeKey.get

Get details for an existing route

turbinelabs.route.routeKey.get({
  "routeKey": ""
}, context)

Input

  • input object
    • routeKey required string: the route key

Output

route.routeKey.put

Modify an existing route

turbinelabs.route.routeKey.put({
  "routeKey": "",
  "route": null
}, context)

Input

  • input object
    • routeKey required string: the route key
    • route required Route

Output

shared_rules.get

Get a list of shared_rules

turbinelabs.shared_rules.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of SharedRulesFilter objects. The filter is taken

Output

shared_rules.post

Create a new shared_rules object

turbinelabs.shared_rules.post({
  "shared_rules": {
    "zone_key": "",
    "default": {
      "light": []
    }
  }
}, context)

Input

Output

shared_rules.sharedRulesKey.delete

Delete an existing shared_rules object

turbinelabs.shared_rules.sharedRulesKey.delete({
  "sharedRulesKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • sharedRulesKey required string: the shared_rules key
    • checksum required string: the current checksum of the shared_rules to be deleted

Output

shared_rules.sharedRulesKey.get

Get details for an existing shared_rules object

turbinelabs.shared_rules.sharedRulesKey.get({
  "sharedRulesKey": ""
}, context)

Input

  • input object
    • sharedRulesKey required string: the shared_rules key

Output

shared_rules.sharedRulesKey.put

Modify an existing shared_rules object

turbinelabs.shared_rules.sharedRulesKey.put({
  "sharedRulesKey": "",
  "shared_rules": null
}, context)

Input

  • input object
    • sharedRulesKey required string: the shared_rules key
    • shared_rules required SharedRules

Output

zone.get

Get all zones. possibly with filters

turbinelabs.zone.get({}, context)

Input

  • input object
    • filters string: A JSON encoded array of ZoneFilter objects. The filter is taken

Output

zone.post

Create a new zone.

turbinelabs.zone.post({
  "zone": {
    "name": ""
  }
}, context)

Input

Output

zone.zoneKey.delete

Delete a zone.

turbinelabs.zone.zoneKey.delete({
  "zoneKey": "",
  "checksum": ""
}, context)

Input

  • input object
    • zoneKey required string: the zone key
    • checksum required string: the current checksum of the zone to be deleted

Output

zone.zoneKey.get

Get details for a single zone

turbinelabs.zone.zoneKey.get({
  "zoneKey": ""
}, context)

Input

  • input object
    • zoneKey required string: the zone key

Output

Definitions

AccessToken

  • AccessToken object
    • access_token_key required string
    • checksum required string
    • created_at required string: A timestamp that marks when a user was deleted. It is in the format
    • description required string
    • signed_token string: This will be set only when an AccessToken is initially created
    • user_key required string

AccessTokenDescription

  • AccessTokenDescription object
    • description required string

AllConstraints

CORSConfig

  • CORSConfig object: Experimental: Controls simple CORS responses for the associated domain.
    • allow_credentials boolean: Indicates whether the response to request can be exposed when the
    • allowed_headers array: Specifies what headers are allowed to be set when a request is made.
      • items string
    • allowed_methods required array: Indicates which HTTP request types may be used to call an endpoint.
      • items string
    • allowed_origins required array: Must contain a single element specifying the domain (origin) allowed
      • items string
    • exposed_headers array: Indicates which response headers may be accessed from the browser.
      • items string
    • max_age integer: Sets how long (in seconds) the response to a preflight request may be

CertKeyPathPair

  • CertKeyPathPair object: A key/cert pair that will be served when a domain terminates a SSL/TLS
    • certificate_path required string: Path to a certificate in the PEM format for the domain. If multiple
    • key_path required string: Path to a file with the secret key in the PEM format for the domain.

ChangeDescription

  • ChangeDescription object
    • actor_key string: The user who made the change.
    • at number: When the change took place in milliseconds since the Unix epoch.
    • comment string: A description of the change.
    • diffs array: A collection of attribute updates that compose this change.
    • txn string: A unique identifier for all this transaction. It is shared by all

ChangeEntry

  • ChangeEntry object
    • change_type string (values: addition, removal): Whether the value was added or removed to the object.
    • object_key string: An ID uniquely identifying the object being changed.
    • object_type string (values: org, user, zone, proxy, domain, route, shared_rules, cluster): The name of the object being being altered.
    • path string: A dot-separated / bracket-indexed path to the field changed on the object.
    • value string: The value that has been added or removed to the object at the attribute
    • zone_key string: The zone this object is located in.

CircuitBreakers

  • CircuitBreakers object: Provides limits on various parameters to protect clusters against sudden
    • max_connections integer: Maximum number of connections that will be established to all
    • max_pending_requests integer: Maximum number of requests that will be queued while waiting on a
    • max_requests integer: Maximum number of requests that can be outstanding to all instances in
    • max_retries integer: Maximum number of retries that can be outstanding to all instances in

Cluster

  • Cluster
    • circuit_breakers CircuitBreakers
    • health_checks HealthChecks
    • instances Instances
    • name required string
    • outlier_detection OutlierDetection
    • require_tls boolean: If set, requests to this collection of hosts will be made via HTTPS.
    • zone_key required string
    • checksum required string
    • cluster_key required string

ClusterConstraint

  • ClusterConstraint object
    • cluster_key string
    • constraint_key string
    • metadata Metadata
    • properties Metadata
    • response_data: When a request is served by a cluster selected by this constraint annotate
    • weight integer

ClusterConstraints

ClusterCreate

  • ClusterCreate object

ClusterFilter

  • ClusterFilter object
    • cluster_key string
    • name string
    • zone_key string

ClusterResult

CohortSeed

  • CohortSeed object
    • name string: The name of the cookie, the header field, or the query argument to
    • type string (values: header, cookie, query): Where a request's cohort seed will be drawn from.
    • use_zero_value_seed boolean: If true, requests with a seed source which resolves to an empty value

CookieDatum

  • CookieDatum object: This describes a cookie that should be set in response to a HTTP request.
    • domain string: Specifies the hosts to hich a cookie will be sent. Maps directly to a
    • expires_in_sec integer: This indicates how long a cookie will be valid, in seconds. If not set the
    • http_only boolean: If set the cookie value will not be accessible via Document.cookie. Maps
    • name string: The name of the cookie that will be attached to the response sent.
    • path string: Specifies the path a cookie will be associated with. Maps directly to
    • same_site string (values: Strict, Lax): Allows assertions how a cookie should behave wend making cross-site requests.
    • secure boolean: If set the cookie will only be sent on subsequent requests when accessing
    • value string: A literal value to send as the cookie value or a reference to
    • value_is_literal boolean: If true then the value attribute is treated as a literal and no attempt

Domain

  • Domain
    • aliases array: A set of alternate names that this Domain may be referenced by. May
      • items string
    • checksum string
    • cors_config CORSConfig
    • domain_key string
    • force_https boolean: If set to true, requests must use TLS. If a request is not using TLS, (as determined by
    • gzip_enabled boolean: Experimental: if set to true will enable gzip compression on data that passes trough this domain
    • name required string
    • port required integer
    • redirects array
    • ssl_config SSLConfig
    • zone_key required string
    • checksum required string
    • domain_key required string

DomainCreate

  • DomainCreate object
    • aliases array: A set of alternate names that this Domain may be referenced by. May
      • items string
    • checksum string
    • cors_config CORSConfig
    • domain_key string
    • force_https boolean: If set to true, requests must use TLS. If a request is not using TLS, (as determined by
    • gzip_enabled boolean: Experimental: if set to true will enable gzip compression on data that passes trough this domain
    • name required string
    • port required integer
    • redirects array
    • ssl_config SSLConfig
    • zone_key required string

DomainFilter

  • DomainFilter object
    • domain_key string
    • name string
    • proxy_keys array: matches Domains with a superset of the specified proxy_keys. A
      • items string
    • zone_key string

DomainResult

  • DomainResult object

Empty

  • Empty object

Error

  • Error object
    • code integer
    • fields string
    • message string

Filter

  • Filter object
    • absolute_match_only boolean: If set this will return ChangeEntry values with a path that matches
    • actor_key string: The user who made the change.
    • attribute_path string: A dot-separated / bracket-indexed path to the field changed on the
    • attribute_value string: The value that has been added or removed to the object at the attribute
    • change_txn string: A unique identifier for all this transaction. It is shared by all
    • change_type string (values: addition, removal): Whether the value was added or removed to the object.
    • exclude_empty_values boolean: If set this will exclude ChangeEntry records that save the addition
    • negative_match boolean: If set this filter will match the all ChangeEntry records that do
    • object_key string: An ID uniquely identifying the object being changed.
    • object_type string (values: org, user, zone, proxy, domain, route, shared_rules, cluster): The name of the object being being altered.
    • org_key string: The organization the objects being updated belong to.
    • time_range TimeRange
    • zone_key string: The zone this object is located in.

FilterProducts

  • FilterProducts object
    • and array: An array of changelog filters that will be joined via logical AND.

FilterSums

  • FilterSums object
    • or array: An array of changelog filters that will be joined via logical OR.

HTTPHealthCheck

  • HTTPHealthCheck object
    • host string: The value of the host header in the HTTP health check request.
    • path string: Specifies the HTTP path that will be requested during health
    • request_headers_to_add: Specifies a list of HTTP headers that should be added to each request
    • service_name string: An optional service name parameter which is used to validate

HeaderConstraint

  • HeaderConstraint object: Indicates that a request's headers should meet some requirement before being
    • case_sensitive boolean: If set, the header value check will be case sensitive.
    • invert boolean: If set, the header constraint will succeed if the match described faile.
    • name required string: The header that is being checked. This must match the regexp "^0-9a-zA-Z-+$".
    • value string: If set the header's value will be compared to this. The default is to

HeaderDatum

  • HeaderDatum object: This describes a HTTP header that should be attached to requests.
    • name string: The name of the header that will be attached to the response sent.
    • value string: A literal value to send as the header value or a reference to
    • value_is_literal boolean: If true then the value attribute is treated as a literal and no attempt

HealthCheck

  • HealthCheck object: Configures active health checking for every instance in a cluster.
    • health_checker required object: Defines the type of health checker to use. Only a single health
    • healthy_edge_interval_msec integer: Interval used for the first health check right after a host is marked
    • healthy_threshold required integer: The number of healthy health checks required before a host is marked
    • interval_jitter_msec integer: An optional jitter amount that is added to each interval value
    • interval_msec required integer: The interval between health checks. The first round of health checks
    • no_traffic_interval_msec integer: Interval used when a cluster has never had traffic routed to it. It
    • reuse_connection boolean: Whether or not to reuse health check connections between health checks.
    • timeout_msec required integer: The time to wait for a health check response. If the timeout is
    • unhealthy_edge_interval_msec integer: Interval used for the first health check right after a host is marked
    • unhealthy_interval_msec integer: Interval used for hosts that are marked as unhealthy. As soon as the
    • unhealthy_threshold required integer: The number of unhealthy health checks required before a host is

HealthChecks

Instance

  • Instance object
    • host string
    • metadata Metadata
    • port integer

InstanceResult

Instances

Listener

  • Listener
    • domain_keys array
      • items string
    • ip string: the interface this listener should bind to.
    • name required string
    • port required integer: the port this listener should bind to.
    • protocol required string (values: http, http2, http_auto, tcp): the protocol this listener will handle. http and http2 configure the listener to only
    • tracing_config TracingConfig
    • zone_key string
    • checksum required string
    • listener_key required string

ListenerCreate

  • ListenerCreate object
    • domain_keys array
      • items string
    • ip string: the interface this listener should bind to.
    • name required string
    • port required integer: the port this listener should bind to.
    • protocol required string (values: http, http2, http_auto, tcp): the protocol this listener will handle. http and http2 configure the listener to only
    • tracing_config TracingConfig
    • zone_key string

ListenerResult

Match

  • Match object: Represents a mapping of request attributes to constraints on a cluster
    • behavior string: Defines how a request attribute should be matched. If not specified,
    • from: The request attribute key and value to match. key must always be
      • key string
      • value string
    • kind string: Defines the attribute by which a request should be matched on. Valid
    • to: The constraints on a cluster that a matched request should map to. If
      • key string
      • value string

Matches

Metadata

Metadatum

  • Metadatum object
    • key string
    • value string

MultiAccessTokens

MultiClusterResult

  • MultiClusterResult object

MultiDomainResult

  • MultiDomainResult object

MultiListenerResult

  • MultiListenerResult object

MultiProxyResult

  • MultiProxyResult object

MultiRouteResult

  • MultiRouteResult object

MultiSharedRulesResult

  • MultiSharedRulesResult object

MultiZoneResult

  • MultiZoneResult object
    • result array

OutlierDetection

  • OutlierDetection object: A form of passive health checking that dynamically determines whether
    • base_ejection_time_msec integer: The base time that a host is ejected for. The real time is equal to
    • consecutive_5xx integer: The number of consecutive 5xx responses before a consecutive 5xx ejection
    • consecutive_gateway_failure integer: The number of consecutive gateway failures (502, 503, 504 status or
    • enforcing_consecutive_5xx integer: The % chance that a host will be actually ejected when an outlier status
    • enforcing_consecutive_gateway_failure integer: The % chance that a host will be actually ejected when an outlier status
    • enforcing_success_rate integer: The % chance that a host will be actually ejected when an outlier status
    • interval_msec integer: The time interval between ejection analysis sweeps. This can result in
    • max_ejection_percent integer: The maximum % of an upstream cluster that can be ejected due to
    • success_rate_minimum_hosts integer: The number of hosts in a cluster that must have enough request volume to
    • success_rate_request_volume integer: The minimum number of total requests that must be collected in one
    • success_rate_stdev_factor integer: This factor is used to determine the ejection threshold for success rate

PageDetails

  • PageDetails object
    • direction string (values: before, after): The direction walked from the ref_id when building this page.
    • has_more boolean: Whether or not there are more entries to be requested after this page.
    • ref_id string: The ID used as a reference when building this page.
    • total_entries integer: How many total entries would have been returned in the time window

PaginatedChangeDescriptions

PaginationDetails

Proxy

  • Proxy
    • domain_keys array
      • items string
    • listener_keys array
      • items string
    • name required string
    • zone_key required string
    • checksum required string
    • proxy_key required string

ProxyCreate

  • ProxyCreate object
    • domain_keys array
      • items string
    • listener_keys array
      • items string
    • name required string
    • zone_key required string

ProxyFilter

  • ProxyFilter object
    • domain_keys array: matches Proxies with a superset of the specified domain_keys. A
      • items string
    • name string
    • proxy_key string
    • zone_key string

ProxyResult

  • ProxyResult object

Redirect

  • Redirect object: Specifies how a URL within a domain should be rewritten when requested.
    • from required string: A regexp that will be matched against the URL (not including the host/port). May include capture groups for reference in "to."
    • header_constraints array
    • name required string: A unique (to this Domain) name for the Redirect. Must match the regexp "^0-9a-zA-Z-+$"
    • redirect_type required string (values: permanent, temporary): How this redirect should be presented via HTTP response code.
    • to required string: The new URL that will be constructed from the request. Capture groups from "from" may be referenced as "$<group number>" which begins at 1.

ResponseData

RetryPolicy

  • RetryPolicy object: Number of times to retry a request and how long to wait before timing out.
    • num_retries integer: Number of times to retry an upstream request. Note that the initial
    • per_try_timeout_msec integer: Time limit in milliseconds for a single attempt.
    • timeout_msec integer: Total time limit in milliseconds for all attempts (including the initial attempt)

Route

  • Route
    • checksum string
    • cohort_seed CohortSeed
    • domain_key required string
    • path required string
    • response_data: When a request is served by this Route annotate the response with the
    • retry_policy RetryPolicy
    • route_key string
    • rules array
    • shared_rules_key required string
    • zone_key required string
    • checksum required string
    • route_key required string

RouteCreate

  • RouteCreate object
    • checksum string
    • cohort_seed CohortSeed
    • domain_key required string
    • path required string
    • response_data: When a request is served by this Route annotate the response with the
    • retry_policy RetryPolicy
    • route_key string
    • rules array
    • shared_rules_key required string
    • zone_key required string

RouteFilter

  • RouteFilter object
    • domain_key string
    • path string
    • path_prefix string
    • route_key string
    • shared_rules_key string
    • zone_key string

RouteResult

  • RouteResult object

Rule

SSLConfig

  • SSLConfig object: Experimental: Specifies whether a domain should support SSL/TLS
    • cert_key_pairs required array: SSLConfig must have one cert_key_pairs entry specified.
    • cipher_filter string: An OpenSSL compatible filter string indicating the ciphers acceptable
    • protocols array: A list of acceptable SSL/TLS protocol. The default values are TLSv1,
      • items string

SharedRules

  • SharedRules
    • checksum string
    • cohort_seed CohortSeed
    • default required AllConstraints
    • properties Metadata
    • response_data: When a request is served by a Route that is part of this SharedRules
    • retry_policy RetryPolicy
    • rules array
    • shared_rules_key string
    • zone_key required string
    • checksum required string
    • shared_rules_key required string

SharedRulesCreate

  • SharedRulesCreate object

SharedRulesFilter

  • SharedRulesFilter object
    • name string
    • shared_rules_key string
    • zone_key string

SharedRulesResult

TCPHealthCheck

  • TCPHealthCheck object
    • receive array: An array of base64 encoded strings, each representing array of
      • items string
    • send string: Base64 encoded string representing an array of bytes to be

TimeRange

  • TimeRange object
    • end integer: The end of the window we want to see changes for; measured in
    • start integer: The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch.

TracingConfig

  • TracingConfig object: Configures tracing operations to be performed on the given listener
    • ingress boolean: Determines whether spans sent from this listener should be treated as ingress
    • request_headers_for_tags array: the headers specified here will be added to the generated spans as annotations
      • items string

User

  • User object
    • checksum required string
    • deleted_at string: A timestamp that marks when a user was deleted. It is in the format
    • login_email required string
    • user_key required string

Zone

  • Zone object
    • checksum required string
    • name required string
    • zone_key required string

ZoneCreate

  • ZoneCreate object
    • name required string

ZoneFilter

  • ZoneFilter object
    • name string
    • zone_key string

ZoneResult

  • ZoneResult object