# README
Deploystack GCloud Package
# Functions
NewClient initiates a new gcloud Client.
NewContactData returns a properly initialized ContactData.
NewLabeledValue takes a string and converts it to a LabeledValue.
NewLabeledValues takes a slice of strings and returns a list of LabeledValues.
# Constants
CloudBilling is the service name for enabling CloudBilling.
CloudBuild is the service name for enabling Cloud Build.
CloudFunctions is the service name for enabling Cloud Functions.
CloudResourceManager is the service name for enabling CloudResourceManager this is ultimately about manipulating projects.
CloudScheduler is the service name for enabling Cloud Scheduler.
Compute is the service name for enabling Compute Engine.
Domains is the service name for enabling Cloud Domains.
IAM is the service name for enabling Cloud IAM.
Run is the service name for enabling Cloud Run.
SecretManager is the service name for enabling Cloud Secret Manager.
ServiceUsage is the service name for manipulating and enabling services.
Storage is the service name for enabling Cloud Storage.
Vault is the service name for enabling Cloud Vault.
# Variables
DefaultDiskSize is the default size for making disks for Compute Engine.
DefaultDiskType is the default style of disk.
DefaultImageFamily is the default project for images used in compute calls.
DefaultImageProject is the default project for images used in compute calls.
DefaultInstanceType is the default machine type of compute engine.
DefaultMachineFamily is the default compute machine type used in compute calls.
DefaultMachineType is the default compute machine type used in compute calls.
DefaultRegion is the default compute region used in compute calls.
DefaultZone is the default zone used in compute calls.
DiskProjects are the list of projects for disk images for Compute Engine.
ErrorBillingInvalidAccount is the error you get if you pass in a bad Billing Account ID.
ErrorBillingNoPermission is the error you get if the user lacks billing related permissions.
ErrorDomainUntenable is returned when a domain isn't available for registration, but is also not owned by the user.
ErrorDomainUserDeny is returned when an user declines the choice to purchase.
ErrorProjectAlreadyExists is an error when you try and create a project That already exists.
ErrorProjectCreateTooLong is an error when you try to create a project wuth more than 30 characters.
ErrorProjectCreateTooShort is an error when you try to create a project wuth less than 6 characters.
ErrorProjectDidNotFinish is an error we cannot confirm that project completion actually occurred.
ErrorProjectInvalidCharacters is an error when you try and pass bad characters into a CreateProjectCall.
ErrorProjectRequired communicates that am empty project string has been passed.
ErrorServiceNotExistOrNotAllowed occurs when the user running this code doesn't have permission to enable the service in the project or it's a nonexistent service name.
HTTPServerTags are the instance tags to open up the instance to be a http server.
# Structs
Client is the tool that will handle all of the communication between gcloud and the various product areas.
ContactData represents the structure that we need for Registrar Contact Data.
DomainRegistrarContact represents the data required to register a domain with a public registrar.
LabeledValue is a struct that contains a label/value pair.
PostalAddress represents the mail address in a DomainRegistrarContact.
ProjectWithBilling is a project with it's billing status.
# Type aliases
LabeledValues is collection of LabledValue structs.
Service is an enum that makes it easy to reference Google Cloud Services.