API Object - service_tunnel
- Updated on Oct 31, 2023
Service Tunnel Metadata
type Metadata struct {
Name string `json:"name,omitempty"`
FriendlyName string `json:"friendly_name,omitempty"`
Description string `json:"description,omitempty"`
Autorun bool `json:"autorun"`
Tags Tags `json:"tags"`
}
Service Tunnel Spec
type Spec struct {
// PeerAccessTiers (mandatory) specifies the Access Tiers that comprise this service tunnel.
PeerAccessTiers []PeerAccessTier `json:"peer_access_tiers"`
// NameResolution (optional) specifies the DNS resolver address(es) to be set on the device.
// If NameResolution is specified, all DNS requests will be resolved at the specified resolver address(es)
// If NameResolution is not specified, DNS requests will be resolved at the Access Tier; on desktop
// devices only DNS requests for `PublicDomains` and `PrivateDomains` are intercepted and resolved
// at the Access Tier - other domains are resolved using the desktop device's default network resolver
NameResolution NameResolutionInfo `json:"name_resolution,omitempty"`
}
type Tags
type Tags struct {
Icon *string `json:"icon,omitempty"`
DescriptionLink *string `json:"description_link,omitempty"`
}
type PeerAccessTier
type PeerAccessTier struct {
Cluster string `json:"cluster"`
// AccessTiers (mandatory) is a list of access tiers in a cluster - the Access Tiers must have
// non-overlapping CIDR ranges
// For Global Edge deployments, set the value to ["*"] to indicate all Access Tiers in the cluster
AccessTiers []string `json:"access_tiers"`
// Connectors (optional) (use for Global Edge deployments) - the Connectors must have
// non-overlapping CIDR ranges
Connectors []string `json:"connectors,omitempty"`
// List of CIDRs to include or exclude from the tunnel
PublicCIDRs *IncludeExclude `json:"public_cidrs,omitempty"`
// List of domains to include or exclude from the tunnel
// Routes will be dynamically inserted on the device when the domain is resolved to an IP
PublicDomains *IncludeExclude `json:"public_domains,omitempty"`
// List of Application IDs to include or exclude from the tunnels
// Each Application ID corresponds to a list of domains as defined via the Public Resources section
// Routes will be dynamically inserted on the device when these domains are resolved to an IP
Applications *IncludeExclude `json:"applications,omitempty"`
}
type IncludeExclude
type IncludeExclude struct {
Include []string `json:"include"`
Exclude []string `json:"exclude"`
}
type NameResolutionInfo
type NameResolutionInfo struct {
NameServers []string `json:"name_servers"`
}