Documentation
¶
Index ¶
- Constants
- Variables
- type DefaultProvider
- func (p *DefaultProvider) Create(ctx context.Context, nodeClass *v1alpha1.GCENodeClass, ...) (*Instance, error)
- func (p *DefaultProvider) CreateTags(ctx context.Context, providerID string, tags map[string]string) error
- func (p *DefaultProvider) Delete(ctx context.Context, providerID string) error
- func (p *DefaultProvider) Get(ctx context.Context, providerID string) (*Instance, error)
- func (p *DefaultProvider) List(ctx context.Context) ([]*Instance, error)
- type Instance
- type Provider
Constants ¶
View Source
const ( // Ref: https://cloud.google.com/compute/docs/instances/instance-lifecycle#instance-states // PROVISIONING, STAGING, RUNNING, PENDING_STOP, STOPPING, STOPPED, TERMINATED, REPAIRING, SUSPENDING, SUSPENDED InstanceStatusProvisioning = "PROVISIONING" InstanceStatusStaging = "STAGING" InstanceStatusRunning = "RUNNING" InstanceStatusPendingStop = "PENDING_STOP" InstanceStatusStopping = "STOPPING" InstanceStatusStopped = "STOPPED" InstanceStatusTerminated = "TERMINATED" InstanceStatusRepairing = "REPAIRING" InstanceStatusSuspending = "SUSPENDING" InstanceStatusSuspended = "SUSPENDED" )
Variables ¶
View Source
var InsufficientCapacityErrorCodes = sets.NewString(
"ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"ZONE_RESOURCE_POOL_EXHAUSTED",
"IP_SPACE_EXHAUSTED_WITH_DETAILS",
"IP_SPACE_EXHAUSTED",
)
Functions ¶
This section is empty.
Types ¶
type DefaultProvider ¶
type DefaultProvider struct {
// contains filtered or unexported fields
}
func (*DefaultProvider) Create ¶
func (p *DefaultProvider) Create(ctx context.Context, nodeClass *v1alpha1.GCENodeClass, nodeClaim *karpv1.NodeClaim, instanceTypes []*cloudprovider.InstanceType) (*Instance, error)
func (*DefaultProvider) CreateTags ¶
func (*DefaultProvider) Delete ¶
func (p *DefaultProvider) Delete(ctx context.Context, providerID string) error
type Instance ¶
type Instance struct {
CapacityReservationID string `json:"capacityReservationId"`
CapacityType string `json:"capacityType"`
CreationTime time.Time `json:"creationTime"`
ImageID string `json:"imageId"`
InstanceID string `json:"instanceId"`
InstanceTemplate string `json:"instanceTemplate"`
Labels map[string]string `json:"labels"`
Location string `json:"location"`
Name string `json:"name"`
ProjectID string `json:"projectId"`
Status string `json:"status"`
Tags map[string]string `json:"tags"`
Type string `json:"type"`
}
Instance is an internal data structure for GCE instances
type Provider ¶
type Provider interface {
Create(context.Context, *v1alpha1.GCENodeClass, *karpv1.NodeClaim, []*cloudprovider.InstanceType) (*Instance, error)
Get(context.Context, string) (*Instance, error)
List(context.Context) ([]*Instance, error)
Delete(context.Context, string) error
CreateTags(context.Context, string, map[string]string) error
}
func NewProvider ¶
Click to show internal directories.
Click to hide internal directories.