Documentation ¶
Index ¶
- Constants
- type IngressRule
- type IngressRules
- func (r IngressRules) Diff(target IngressRules) (toOpen, toClose IngressRules)
- func (rules IngressRules) EqualTo(other IngressRules) bool
- func (rules IngressRules) RemoveCIDRsMatchingAddressType(removeAddrType network.AddressType) IngressRules
- func (rules IngressRules) Sort()
- func (rules IngressRules) UniqueRules() IngressRules
- func (rules IngressRules) Validate() error
- type WellKnownServiceType
Constants ¶
const ( // SSHRule is a rule for SSH connections. SSHRule = WellKnownServiceType("ssh") // JujuControllerRule is a rule for connections to the Juju controller. JujuControllerRule = WellKnownServiceType("juju-controller") // JujuApplicationOfferRule is a rule for connections to a Juju offer. JujuApplicationOfferRule = WellKnownServiceType("juju-application-offer") )
const AllNetworksIPV4CIDR = "0.0.0.0/0"
AllNetworksIPV4CIDR represents the zero address (quad-zero) CIDR for an IPV4 network.
const AllNetworksIPV6CIDR = "::/0"
AllNetworksIPV6CIDR represents the zero address (quad-zero) CIDR for an IPV6 network.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IngressRule ¶
type IngressRule struct { // The destination port range for the incoming traffic. PortRange network.PortRange // A set of CIDRs that describe the origin for incoming traffic. An // implicit 0.0.0.0/0 CIDR is assumed if no CIDRs are specified. SourceCIDRs set.Strings }
IngressRule represents a rule for allowing traffic from a set of source CIDRs to reach a particular port range.
func NewIngressRule ¶
func NewIngressRule(portRange network.PortRange, sourceCIDRs ...string) IngressRule
NewIngressRule creates a new IngressRule for allowing access to portRange from the list of sourceCIDRs. If no sourceCIDRs are specified, the rule will implicitly apply to all networks.
func (IngressRule) EqualTo ¶
func (r IngressRule) EqualTo(other IngressRule) bool
EqualTo returns true if this rule is equal to the provided rule.
func (IngressRule) LessThan ¶
func (r IngressRule) LessThan(other IngressRule) bool
LessThan compares two IngressRule instances for equality.
func (IngressRule) String ¶
func (r IngressRule) String() string
String is the string representation of IngressRule.
func (IngressRule) Validate ¶
func (r IngressRule) Validate() error
Validate ensures that the ingress rule contains valid source and destination parameters.
type IngressRules ¶
type IngressRules []IngressRule
IngressRules represents a collection of IngressRule instances.
func (IngressRules) Diff ¶
func (r IngressRules) Diff(target IngressRules) (toOpen, toClose IngressRules)
Diff returns a list of IngressRules to open and/or close so that this set of ingress rules matches the target.
func (IngressRules) EqualTo ¶
func (rules IngressRules) EqualTo(other IngressRules) bool
EqualTo returns true if this rule list is equal to the provided rule list.
func (IngressRules) RemoveCIDRsMatchingAddressType ¶
func (rules IngressRules) RemoveCIDRsMatchingAddressType(removeAddrType network.AddressType) IngressRules
RemoveCIDRsMatchingAddressType returns a new list of rules where any CIDR whose address type corresponds to the specified AddressType argument has been removed.
func (IngressRules) Sort ¶
func (rules IngressRules) Sort()
Sort the rule list by port range and then by source CIDRs.
func (IngressRules) UniqueRules ¶
func (rules IngressRules) UniqueRules() IngressRules
UniqueRules returns a copy of the ingress rule list after removing any duplicate entries.
func (IngressRules) Validate ¶
func (rules IngressRules) Validate() error
Validate the list of ingress rules
type WellKnownServiceType ¶
type WellKnownServiceType string
WellKnownService defines a service for which firewall rules may be applied.
func (WellKnownServiceType) Validate ¶
func (v WellKnownServiceType) Validate() error