# Functions
BuildGceCloudProvider builds CloudProvider implementation for GCE.
CreateGceManager constructs gceManager object.
GceRefFromProviderId creates InstanceConfig object from provider id which must be in format: gce://<project-id>/<zone>/<name> TODO(piosz): add better check whether the id is correct.
GenerateInstanceUrl generates url for instance.
GenerateMigUrl generates url for instance.
ParseInstanceUrl expects url in format: https://content.googleapis.com/compute/v1/projects/<project-id>/zones/<zone>/instances/<name>.
ParseMigUrl expects url in format: https://content.googleapis.com/compute/v1/projects/<project-id>/zones/<zone>/instanceGroups/<name>.
# Constants
ModeGCE means that the cluster is running on gce (or using the legacy gke setup).
ModeGKE means that the cluster is running.
ModeGKENAP means that the cluster is running on GKE with autoprovisioning enabled.
The 'GCE' cloud provider actually implements both the GCE and GKE providers.
The 'GCE' cloud provider actually implements both the GCE and GKE providers.
# Structs
GceCloudProvider implements CloudProvider interface.
GcePriceModel implements PriceModel interface for GCE.
GceRef contains s reference to some entity in GCE/GKE world.
Mig implements NodeGroup interface.
# Interfaces
GceManager handles gce communication and data caching.
# Type aliases
GcpCloudProviderMode allows to pass information whether the cluster is GCE or GKE.