atscfg

package
v5.1.3+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2021 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 1 more Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TopologyCacheTierFirst   = TopologyCacheTier("first")
	TopologyCacheTierInner   = TopologyCacheTier("inner")
	TopologyCacheTierLast    = TopologyCacheTier("last")
	TopologyCacheTierInvalid = TopologyCacheTier("")
)
View Source
const ATSDotRulesFileName = StorageFileName
View Source
const AstatsFileName = "astats.config"
View Source
const AstatsSeparator = "="
View Source
const CacheKeyParameterConfigFile = "cachekey.config"
View Source
const CacheURLParameterConfigFile = "cacheurl.config"
View Source
const CacheUrlPrefix = "cacheurl_"
View Source
const ChkconfigFileName = `chkconfig`
View Source
const ChkconfigParamConfigFile = `chkconfig`
View Source
const ConfigSuffix = ".config"
View Source
const ContentType12MFacts = ContentTypeTextASCII
View Source
const ContentTypeATSDotRules = ContentTypeTextASCII
View Source
const ContentTypeAstatsDotConfig = ContentTypeTextASCII
View Source
const ContentTypeBGFetchDotConfig = ContentTypeTextASCII
View Source
const ContentTypeCacheDotConfig = ContentTypeTextASCII
View Source
const ContentTypeCacheURLDotConfig = ContentTypeTextASCII
View Source
const ContentTypeChkconfig = ContentTypeTextASCII
View Source
const ContentTypeDropQStringDotConfig = ContentTypeTextASCII
View Source
const ContentTypeHeaderRewriteDotConfig = ContentTypeTextASCII
View Source
const ContentTypeHostingDotConfig = ContentTypeTextASCII
View Source
const ContentTypeIPAllowDotConfig = ContentTypeTextASCII
View Source
const ContentTypeLoggingDotConfig = ContentTypeTextASCII
View Source
const ContentTypeLoggingDotYAML = "application/yaml; charset=us-ascii" // Note YAML has no IANA standard mime type. This is one of several common usages, and is likely to be the standardized value. If you're reading this, please check IANA to see if YAML has been added, and change this to the IANA definition if so. Also note we include 'charset=us-ascii' because YAML is commonly UTF-8, but ATS is likely to be unable to handle UTF.
View Source
const ContentTypeLogsDotXML = `text/xml`
View Source
const ContentTypePackages = ContentTypeTextASCII
View Source
const ContentTypeParentDotConfig = ContentTypeTextASCII
View Source
const ContentTypePluginDotConfig = ContentTypeTextASCII
View Source
const ContentTypeRecordsDotConfig = ContentTypeTextASCII
View Source
const ContentTypeRegexRemapDotConfig = ContentTypeTextASCII
View Source
const ContentTypeRegexRevalidateDotConfig = ContentTypeTextASCII
View Source
const ContentTypeRemapDotConfig = ContentTypeTextASCII
View Source
const ContentTypeSSLMultiCertDotConfig = ContentTypeTextASCII
View Source
const ContentTypeServerUnknownConfig = ContentTypeTextASCII
View Source
const ContentTypeSetDSCPDotConfig = ContentTypeTextASCII
View Source
const ContentTypeStorageDotConfig = ContentTypeTextASCII
View Source
const ContentTypeSysctlDotConf = ContentTypeTextASCII
View Source
const ContentTypeTextASCII = `text/plain; charset=us-ascii`
View Source
const ContentTypeURISigningDotConfig = `application/json; charset=us-ascii`
View Source
const ContentTypeURLSig = ContentTypeTextASCII
View Source
const ContentTypeVolumeDotConfig = ContentTypeTextASCII
View Source
const DefaultATSVersion = "5" // TODO Emulates Perl; change to 6? ATC no longer officially supports ATS 5.
View Source
const DefaultCoalesceMaskLenV4 = 24
View Source
const DefaultCoalesceMaskLenV6 = 48
View Source
const DefaultCoalesceNumberV4 = 5
View Source
const DefaultCoalesceNumberV6 = 5
View Source
const DefaultMaxRevalDurationDays = 90
View Source
const DropQStringDotConfigFileName = "drop_qstring.config"
View Source
const DropQStringDotConfigParamName = "content"
View Source
const HeaderCommentDateFormat = "Mon Jan 2 15:04:05 MST 2006"

todo also unused

View Source
const HeaderRewriteFirstPrefix = HeaderRewritePrefix + "first_"
View Source
const HeaderRewriteInnerPrefix = HeaderRewritePrefix + "inner_"
View Source
const HeaderRewriteLastPrefix = HeaderRewritePrefix + "last_"
View Source
const HeaderRewriteMidPrefix = "hdr_rw_mid_"
View Source
const HeaderRewritePrefix = "hdr_rw_"
View Source
const HostingConfigFileName = `hosting.config`
View Source
const HostingConfigParamConfigFile = `storage.config`
View Source
const IPAllowConfigFileName = `ip_allow.config`
View Source
const InvalidID = -1
View Source
const JobKeywordPurge = "PURGE"
View Source
const LineComment12MFacts = LineCommentHash
View Source
const LineCommentATSDotRules = LineCommentHash
View Source
const LineCommentAstatsDotConfig = LineCommentHash
View Source
const LineCommentBGFetchDotConfig = LineCommentHash
View Source
const LineCommentCacheDotConfig = LineCommentHash
View Source
const LineCommentCacheURLDotConfig = LineCommentHash
View Source
const LineCommentChkconfig = LineCommentHash
View Source
const LineCommentDropQStringDotConfig = LineCommentHash
View Source
const LineCommentHash = "#"
View Source
const LineCommentHeaderRewriteDotConfig = LineCommentHash
View Source
const LineCommentHostingDotConfig = LineCommentHash
View Source
const LineCommentIPAllowDotConfig = LineCommentHash
View Source
const LineCommentLoggingDotConfig = LineCommentHash
View Source
const LineCommentLoggingDotYAML = LineCommentHash
View Source
const LineCommentLogsDotXML = `<!--`
View Source
const LineCommentPackages = ""
View Source
const LineCommentParentDotConfig = LineCommentHash
View Source
const LineCommentPluginDotConfig = LineCommentHash
View Source
const LineCommentRecordsDotConfig = LineCommentHash
View Source
const LineCommentRegexRemapDotConfig = LineCommentHash
View Source
const LineCommentRegexRevalidateDotConfig = LineCommentHash
View Source
const LineCommentRemapDotConfig = LineCommentHash
View Source
const LineCommentSSLMultiCertDotConfig = LineCommentHash
View Source
const LineCommentSetDSCPDotConfig = LineCommentHash
View Source
const LineCommentStorageDotConfig = LineCommentHash
View Source
const LineCommentSysctlDotConf = LineCommentHash
View Source
const LineCommentURISigningDotConfig = ""
View Source
const LineCommentURLSig = LineCommentHash
View Source
const LineCommentVolumeDotConfig = LineCommentHash
View Source
const LoggingFileName = "logging.config"
View Source
const LoggingYAMLFileName = "logging.yaml"
View Source
const LogsXMLFileName = "logs_xml.config"
View Source
const MaxLogObjects = 10
View Source
const MaxOriginConnectionsNoMax = 0 // 0 indicates no limit on origin connections
View Source
const PackagesFileName = `packages`
View Source
const PackagesParamConfigFile = `package`
View Source
const ParamCoalesceMaskLenV4 = "coalesce_masklen_v4"
View Source
const ParamCoalesceMaskLenV6 = "coalesce_masklen_v6"
View Source
const ParamCoalesceNumberV4 = "coalesce_number_v4"
View Source
const ParamCoalesceNumberV6 = "coalesce_number_v6"
View Source
const ParamDrivePrefix = "Drive_Prefix"
View Source
const ParamPurgeAllowIP = "purge_allow_ip"
View Source
const ParamRAMDrivePrefix = "RAM_Drive_Prefix"
View Source
const ParentConfigCacheParamNotAParent = "not_a_parent"
View Source
const ParentConfigCacheParamPort = "port"
View Source
const ParentConfigCacheParamRank = "rank"
View Source
const ParentConfigCacheParamUseIP = "use_ip_address"
View Source
const ParentConfigCacheParamWeight = "weight"
View Source
const ParentConfigDSParamDefaultMSOAlgorithm = "consistent_hash"
View Source
const ParentConfigDSParamDefaultMSOParentRetry = "both"
View Source
const ParentConfigDSParamDefaultMSOUnavailableServerRetryResponses = ""
View Source
const ParentConfigDSParamDefaultMaxSimpleRetries = "1"
View Source
const ParentConfigDSParamDefaultMaxUnavailableServerRetries = "1"
View Source
const ParentConfigFileName = "parent.config"
View Source
const ParentConfigParamAlgorithm = "algorithm"
View Source
const ParentConfigParamMSOAlgorithm = "mso.algorithm"
View Source
const ParentConfigParamMSOMaxSimpleRetries = "mso.max_simple_retries"
View Source
const ParentConfigParamMSOMaxUnavailableServerRetries = "mso.max_unavailable_server_retries"
View Source
const ParentConfigParamMSOParentRetry = "mso.parent_retry"
View Source
const ParentConfigParamMSOUnavailableServerRetryResponses = "mso.unavailable_server_retry_responses"
View Source
const ParentConfigParamMaxSimpleRetries = "max_simple_retries"
View Source
const ParentConfigParamMaxUnavailableServerRetries = "max_unavailable_server_retries"
View Source
const ParentConfigParamParentRetry = "parent_retry"
View Source
const ParentConfigParamQString = "qstring"
View Source
const ParentConfigParamQStringHandling = "psel.qstring_handling"
View Source
const ParentConfigParamSecondaryMode = "try_all_primaries_before_secondary"
View Source
const ParentConfigParamUnavailableServerRetryResponses = "unavailable_server_retry_responses"
View Source
const PluginFileName = "plugin.config"
View Source
const PluginSeparator = " "
View Source
const RecordsFileName = "records.config"
View Source
const RecordsSeparator = " "
View Source
const RegexRemapPrefix = "regex_remap_"
View Source
const RegexRevalidateFileName = "regex_revalidate.config"
View Source
const RegexRevalidateMaxRevalDurationDaysParamName = "maxRevalDurationDays"
View Source
const RegexRevalidateMinTTL = time.Hour
View Source
const RemapConfigRangeDirective = `__RANGE_DIRECTIVE__`
View Source
const RemapFile = "remap.config"
View Source
const SSLMultiCertConfigFileName = `ssl_multicert.config`
View Source
const ServerCacheDotConfigIncludeInactiveDSes = false
View Source
const ServerHostingDotConfigEdgeIncludeInactive = true
View Source
const ServerHostingDotConfigMidIncludeInactive = false
View Source
const ServiceCategoryHeader = "@CDN-SVC"

ServiceCategoryHeader is the internal service category header for logging the service category. Note this is internal, and will never be set in an HTTP Request or Response by ATS.

View Source
const StorageFileName = "storage.config"
View Source
const SysctlFileName = "sysctl.conf"
View Source
const SysctlSeparator = " = "
View Source
const VolumeFileName = StorageFileName

Variables

This section is empty.

Functions

func DeliveryServicesToSSLMultiCertDSes

func DeliveryServicesToSSLMultiCertDSes(dses []DeliveryService) (map[tc.DeliveryServiceName]sslMultiCertDS, []string)

deliveryServicesToSSLMultiCertDSes returns the "SSLMultiCertDS" map, and any warnings.

func FirstHeaderRewriteConfigFileName

func FirstHeaderRewriteConfigFileName(dsName string) string

func GetSSLMultiCertDotConfigCertAndKeyName

func GetSSLMultiCertDotConfigCertAndKeyName(dsName tc.DeliveryServiceName, ds sslMultiCertDS) (string, string)

GetSSLMultiCertDotConfigCertAndKeyName returns the cert file name and key file name for the given delivery service.

func GetSSLMultiCertDotConfigDeliveryServices

func GetSSLMultiCertDotConfigDeliveryServices(dses map[tc.DeliveryServiceName]sslMultiCertDS) map[tc.DeliveryServiceName]sslMultiCertDS

GetSSLMultiCertDotConfigDeliveryServices takes a list of delivery services, and returns the delivery services which will be inserted into the config by MakeSSLMultiCertDotConfig. This is public, so users can see which Delivery Services are used, without parsing the config file. For example, this is useful to determine which certificates are needed.

func InnerHeaderRewriteConfigFileName

func InnerHeaderRewriteConfigFileName(dsName string) string

func LastHeaderRewriteConfigFileName

func LastHeaderRewriteConfigFileName(dsName string) string

Types

type CacheGroupType

type CacheGroupType string

type Cfg

type Cfg struct {
	Text        string
	ContentType string
	LineComment string
	Warnings    []string
}

Cfg is the data and metadata for an ATS Config File.

This includes the text, the content type (which is necessary for HTTP, multipart, and other things), and the line comment syntax if any.

This is what is generated by the lib/go-atscfg library. Note it does not include the file name or path, which this library doesn't have enough information to return and is not part of generation. That information should be fetched from Traffic Ops, along with the data used to generate config files, or else generated from the machine. See CfgFile.

func Make12MFacts

func Make12MFacts(
	server *Server,
	hdrComment string,
) (Cfg, error)

func MakeAStatsDotConfig

func MakeAStatsDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeATSDotRules

func MakeATSDotRules(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeBGFetchDotConfig

func MakeBGFetchDotConfig(
	server *Server,
	hdrComment string,
) (Cfg, error)

func MakeCacheDotConfig

func MakeCacheDotConfig(
	server *Server,
	servers []Server,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	hdrComment string,
) (Cfg, error)

MakeCacheDotConfig makes the ATS cache.config config file.

func MakeCacheURLDotConfig

func MakeCacheURLDotConfig(
	fileName string,
	server *Server,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	hdrComment string,
) (Cfg, error)

func MakeChkconfig

func MakeChkconfig(
	serverParams []tc.Parameter,
) (Cfg, error)

MakeChkconfig returns the 'chkconfig' ATS config file endpoint. This is a JSON object, and should be served with an 'application/json' Content-Type.

func MakeDropQStringDotConfig

func MakeDropQStringDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeHeaderRewriteDotConfig

func MakeHeaderRewriteDotConfig(
	fileName string,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	server *Server,
	servers []Server,
	hdrComment string,
) (Cfg, error)

func MakeHeaderRewriteMidDotConfig

func MakeHeaderRewriteMidDotConfig(
	fileName string,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	server *Server,
	servers []Server,
	cacheGroups []tc.CacheGroupNullable,
	hdrComment string,
) (Cfg, error)

func MakeHostingDotConfig

func MakeHostingDotConfig(
	server *Server,
	servers []Server,
	serverParams []tc.Parameter,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	topologies []tc.Topology,
	hdrComment string,
) (Cfg, error)

func MakeIPAllowDotConfig

func MakeIPAllowDotConfig(
	serverParams []tc.Parameter,
	server *Server,
	servers []Server,
	cacheGroups []tc.CacheGroupNullable,
	topologies []tc.Topology,
	hdrComment string,
) (Cfg, error)

MakeIPAllowDotConfig creates the ip_allow.config ATS config file. The childServers is a list of servers which are children for this Mid-tier server. This should be empty for Edge servers. More specifically, it should be the list of edges whose cachegroup's parent_cachegroup or secondary_parent_cachegroup is the cachegroup of this Mid server.

func MakeLoggingDotConfig

func MakeLoggingDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrCommentTxt string,
) (Cfg, error)

MakeStorageDotConfig creates storage.config for a given ATS Profile. The paramData is the map of parameter names to values, for all parameters assigned to the given profile, with the config_file "storage.config".

func MakeLoggingDotYAML

func MakeLoggingDotYAML(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeLogsXMLDotConfig

func MakeLogsXMLDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrCommentTxt string,
) (Cfg, error)

func MakePackages

func MakePackages(
	serverParams []tc.Parameter,
) (Cfg, error)

MakePackages returns the 'packages' ATS config file endpoint. This is a JSON object, and should be served with an 'application/json' Content-Type.

func MakeParentDotConfig

func MakeParentDotConfig(
	dses []DeliveryService,
	server *Server,
	servers []Server,
	topologies []tc.Topology,
	tcServerParams []tc.Parameter,
	tcParentConfigParams []tc.Parameter,
	serverCapabilities map[int]map[ServerCapability]struct{},
	dsRequiredCapabilities map[int]map[ServerCapability]struct{},
	cacheGroupArr []tc.CacheGroupNullable,
	dss []tc.DeliveryServiceServer,
	cdn *tc.CDN,
	opt ParentConfigOpts,
) (Cfg, error)

func MakePluginDotConfig

func MakePluginDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeRecordsDotConfig

func MakeRecordsDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeRegexRemapDotConfig

func MakeRegexRemapDotConfig(
	fileName string,
	server *Server,
	deliveryServices []DeliveryService,
	hdrComment string,
) (Cfg, error)

func MakeRegexRevalidateDotConfig

func MakeRegexRevalidateDotConfig(
	server *Server,
	deliveryServices []DeliveryService,
	globalParams []tc.Parameter,
	jobs []tc.Job,
	hdrComment string,
) (Cfg, error)

func MakeRemapDotConfig

func MakeRemapDotConfig(
	server *Server,
	unfilteredDSes []DeliveryService,
	dss []tc.DeliveryServiceServer,
	dsRegexArr []tc.DeliveryServiceRegexes,
	serverParams []tc.Parameter,
	cdn *tc.CDN,
	cacheKeyParams []tc.Parameter,
	topologies []tc.Topology,
	cacheGroupArr []tc.CacheGroupNullable,
	serverCapabilities map[int]map[ServerCapability]struct{},
	dsRequiredCapabilities map[int]map[ServerCapability]struct{},
	hdrComment string,
) (Cfg, error)

func MakeSSLMultiCertDotConfig

func MakeSSLMultiCertDotConfig(
	server *Server,
	deliveryServices []DeliveryService,
	hdrComment string,
) (Cfg, error)

func MakeServerUnknown

func MakeServerUnknown(
	fileName string,
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeSetDSCPDotConfig

func MakeSetDSCPDotConfig(
	fileName string,
	server *Server,
	hdrComment string,
) (Cfg, error)

func MakeStorageDotConfig

func MakeStorageDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

MakeStorageDotConfig creates storage.config for a given ATS Profile. The paramData is the map of parameter names to values, for all parameters assigned to the given profile, with the config_file "storage.config".

func MakeSysCtlDotConf

func MakeSysCtlDotConf(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

func MakeTopologyHeaderRewriteDotConfig

func MakeTopologyHeaderRewriteDotConfig(
	fileName string,
	server *Server,
	servers []Server,
	deliveryServices []DeliveryService,
	topologies []tc.Topology,
	serverCapabilities map[int]map[ServerCapability]struct{},
	requiredCapabilities map[int]map[ServerCapability]struct{},
	hdrComment string,
) (Cfg, error)

func MakeURISigningConfig

func MakeURISigningConfig(
	fileName string,
	uriSigningKeys map[tc.DeliveryServiceName][]byte,
) (Cfg, error)

func MakeURLSigConfig

func MakeURLSigConfig(
	fileName string,
	server *Server,
	serverParams []tc.Parameter,
	allURLSigKeys map[tc.DeliveryServiceName]tc.URLSigKeys,
	hdrComment string,
) (Cfg, error)

func MakeVolumeDotConfig

func MakeVolumeDotConfig(
	server *Server,
	serverParams []tc.Parameter,
	hdrComment string,
) (Cfg, error)

MakeVolumeDotConfig creates volume.config for a given ATS Profile. The paramData is the map of parameter names to values, for all parameters assigned to the given profile, with the config_file "storage.config".

type CfgFile

type CfgFile struct {
	Name string
	Path string
	Cfg
}

CfgFile is all the information necessary to create an ATS config file, including the file name, path, data, and metadata. This is provided as a convenience and unified structure for users. The lib/go-atscfg library doesn't actually use or return this. See ATSConfigFileData.

type CfgMeta

type CfgMeta struct {
	Name string
	Path string
}

func MakeConfigFilesList

func MakeConfigFilesList(
	configDir string,
	server *Server,
	serverParams []tc.Parameter,
	deliveryServices []DeliveryService,
	deliveryServiceServers []tc.DeliveryServiceServer,
	globalParams []tc.Parameter,
	cacheGroupArr []tc.CacheGroupNullable,
	topologies []tc.Topology,
) ([]CfgMeta, []string, error)

MakeMetaObj returns the list of config files, any warnings, and any errors.

type DeliveryService

type DeliveryService tc.DeliveryServiceNullableV30

DeliveryService is a tc.DeliveryService for the latest lib/go-tc and traffic_ops/vx-client type. This allows atscfg to not have to change the type everywhere it's used, every time ATC changes the base type, but to only have to change it here, and the places where breaking symbol changes were made.

func OldToDeliveryServices

func OldToDeliveryServices(dses []tc.DeliveryServiceNullable) []DeliveryService

OldToDeliveryServices converts a slice of the old traffic_ops/client type to the local alias.

func ToDeliveryServices

func ToDeliveryServices(dses []tc.DeliveryServiceNullableV30) []DeliveryService

ToDeliveryServices converts a slice of the latest lib/go-tc and traffic_ops/vx-client type to the local alias.

type DeliveryServiceID

type DeliveryServiceID int

type OriginFQDN

type OriginFQDN string

type OriginHost

type OriginHost string

type ParentConfigOpts

type ParentConfigOpts struct {
	// AddComments is whether to add informative comments to the generated file, about what was generated and why.
	// Note this does not include the header comment, which is configured separately with HdrComment.
	// These comments are human-readable and not guarnateed to be consistent between versions. Automating anything based on them is strongly discouraged.
	AddComments bool

	// HdrComment is the header comment to include at the beginning of the file.
	// This should be the text desired, without comment syntax (like # or //). The file's comment syntax will be added.
	// To omit the header comment, pass the empty string.
	HdrComment string
}

ParentConfigOpts contains settings to configure parent.config generation options.

type ProfileID

type ProfileID int

type Server

type Server tc.ServerV30

Server is a tc.Server for the latest lib/go-tc and traffic_ops/vx-client type. This allows atscfg to not have to change the type everywhere it's used, every time ATC changes the base type, but to only have to change it here, and the places where breaking symbol changes were made.

func ToServers

func ToServers(servers []tc.ServerV30) []Server

ToServers converts a slice of the latest lib/go-tc and traffic_ops/vx-client type to the local alias.

type ServerCapability

type ServerCapability string

type ServerID

type ServerID int

type TopologyCacheTier

type TopologyCacheTier string

TopologyCacheTier is the position of a cache in the topology. Note this is the cache tier itself, notwithstanding MSO. So for an MSO service, Caches immediately before the origin are the TopologyCacheTierLast, even for MSO.

type TopologyName

type TopologyName string

type TopologyPlacement

type TopologyPlacement struct {
	// InTopology is whether the server is in the topology at all.
	InTopology bool
	// IsFirstCacheTier is whether the server is the first cache tier. Note if the server is the only tier, both IsFirstCacheTier and IsLastCacheTier may be true.
	IsFirstCacheTier bool
	// IsInnerCacheTier is whether the server is an inner cache tier. This will never be true if IsFirstCacheTier or IsLstCacheTier are true.
	IsInnerCacheTier bool
	// IsLastCacheTier is whether the server is the last cache tier. Note if the server is the only tier, both IsFirstCacheTier and IsLastCacheTier may be true.
	// Note this is distinct from IsLastTier, which will be false for the last cache tier of MSO.
	IsLastCacheTier bool
	// IsLastTier is whether the server is the last tier in the topology.
	// Note this is different than IsLastCacheTier for MSO vs non-MSO. For MSO, the last tier is the Origin. For non-MSO, the last tier is the last cache tier.
	IsLastTier bool
}

TopologyPlacement contains data about the placement of a server in a topology.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL