#
# parent.config
#
# Documentation:
#    https://docs.trafficserver.apache.org/en/latest/admin-guide/files/parent.config.en.html
#
# The purpose of this file is to specify the parent proxy for
#   specific objects or sets of objects
#
# Each line consists of a set of tag value pairs.  The pairs
#   are in the format  <tag>=<value>
#
# Each line must include exactly one primary specifier
#
#   Primary destination specifiers are
#     dest_domain=
#     dest_host=
#     dest_ip=
#     url_regex=
#
#
# Lines may include any number of the secondary specifiers but
#    secondary specifiers may not be duplicated on the same line
#
#   Secondary specifiers are
#     port=
#     scheme=
#     prefix=
#     suffix=
#     method=
#     time=
#     src_ip=
#     internal={true,false}
#
# Available parent directives are:
#     parent=    (a semicolon separated list of parent proxies)
#     go_direct={true,false}
#     round_robin={strict,true,false}
#
# Note: for round_robin, strict means strict round_robin - parents are
#	tried one by one, true means round_robin based on client IP
#	addresses, false means no round_robin
#
# Each line must include a parent= directive or a go_direct=
#   directive.  If both appear, Traffic Server will directly
#   contact the origin server if all the listed parent proxies
#   are down
#
# Example
#
#  Alternate requests between proxy1 and proxy2
#
# dest_domain=.  parent="proxy1.example.com:8080; proxy2.example.com:8080"  round_robin=strict
#
#
