Documentation ¶
Index ¶
- Constants
- Variables
- func GetGitHubRunPrefix() string
- func GetNumVpnConnections(cloud1, cloud2 string) int
- func IsPermitListRuleTagInAddressSpace(permitListRuleTag string, addressSpaces []string) (bool, error)
- func MatchCloudProviders(cloud1, cloud2, target1, target2 string) bool
- type PeeringCloudInfo
Constants ¶
const ( GCP = "gcp" AZURE = "azure" IBM = "ibm" )
Cloud names TODO @seankimkdy: turn these into its own type and use enums
Variables ¶
var (
Log *log.Logger
)
Functions ¶
func GetGitHubRunPrefix ¶
func GetGitHubRunPrefix() string
Returns prefix with GitHub workflow run numbers for integration tests
func GetNumVpnConnections ¶
Returns the number of VPN connections needed between cloud1 and cloud2
func IsPermitListRuleTagInAddressSpace ¶
func IsPermitListRuleTagInAddressSpace(permitListRuleTag string, addressSpaces []string) (bool, error)
Checks if a Paraglider permit list rule tag (either an address or address space) is contained within an address space.
func MatchCloudProviders ¶
Checks if cloud1 and cloud2 match with target1 and target2 in any order
Types ¶
type PeeringCloudInfo ¶
func GetPermitListRulePeeringCloudInfo ¶
func GetPermitListRulePeeringCloudInfo(permitListRule *paragliderpb.PermitListRule, usedAddressSpaceMappings []*paragliderpb.AddressSpaceMapping) ([]*PeeringCloudInfo, error)
Retrieves the peering cloud info (name, namespace, deployment) for a given permit list rule Notes 1. this method may return duplicate PeeringCloudInfos, so it's the responsibility of the cloud plugin to gracefully handle duplicates 2. peeringCloudInfo[i] will be nil if the target is a public IP address, so make sure to check for that