# Functions
AllProviders returns all the providers available.
EmptyRegionNameError is returned when an empty region name is found.
EmptyServiceNameError is returned when an empty service name is found.
GetDefaultRegionServicePairRedundancyCheck returns the default check Default check checks if region and service names are the same.
LatestPrefixFileNotFound is returned when there is no latest metadata file on the bucket.
NewProviderNetworkRanges returns a new instance of ProviderNetworkRanges.
NoBucketNameSpecified is returned when the script is invoked without a bucket name.
NoIPPrefixesError is returned when a service does not have any IP prefix crawled.
NoRegionNetworksError is returned when a provider does not have any region crawled.
NoServiceNetworksError is returned when a region does not have any service crawled.
NotEnoughIPPrefixesError is returned when a crawler did not crawl enough IP prefixes for a provider.
NumProvidersError is returned when the number of providers crawled does not match with the number of crawles spawned.
ProviderNameEmptyError is returned when an empty provider name is found.
RegionNetworksNotFound is returned when a region networks spec is not found.
RgnNetDetSliceRemove removes an element from a RegionNetworkDetail slice at the specified index.
RgnSvcPairSliceRemove removes an element from a RegionServicePair slice at the specified index.
ServiceNetworksNotFound is returned when a service networks spec is not found.
SetVerbose enables verbose mode.
SvcIPRangesSliceRemove removes an element from a ServiceIPRanges slice at the specified index.
ToProvider converts a string representation of a provider to Provider type.
Verbose returns if verbose options is set.
# Constants
ChecksumFileName is the name which contains the checksum of the network ranges file.
DefaultRegion is used when a vendor does not specify regions for the IP ranges provided.
DefaultService is used when a vendor does not specify service names for the IP ranges provider.
LatestPrefixFileName is the name of the file that contains the prefix of latest networks definitions.
MasterBucketPrefix is the top level prefix we use for all the uploads we do in this crawler.
MaxNumDefinitions is the maximum number of runs(outputted network definitions) we remember in the bucket specified in script.
NetworkFileName is the name of the network file we upload.
# Variables
Amazon is provider "enum" for Amazon AWS.
Azure is provider "enum" for Microsoft Azure Cloud.
Cloudflare is provider "enum" for Cloudflare.
Google is provider "enum" for Google Cloud.
Oracle is provider "enum" for Oracle Cloud Platform.
ProviderToURLs is a mapping from provider to its crawler endpoint.
# Structs
ExternalNetworkSources contains all the external networks for all providers.
ProviderNetworkRanges contains networks for all regions of a provider.
RegionNetworkDetail contains all the networks of services under a region.
RegionServicePair is a tuple of region and service names.
ServiceIPRanges contains all the IP ranges used by a specific service.
# Interfaces
NetworkCrawler defines an interface for the implementation of Provider specific network range crawlers.
# Type aliases
IsRedundantRegionServicePairFn is a predicate function to determine if a new region service pair should be added to output or not.
Provider is a string representing different external network providers.