v1

package
v1.1.73 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2024 License: Apache-2.0 Imports: 5 Imported by: 11

Documentation

Index

Constants

View Source
const (
	ResourceDeleting = "DELETING"
	Inactive         = "inactive"
	Active           = "active"
)
View Source
const (
	// APIServerTimeFormat - api-server time lacks the colon in timezone
	APIServerTimeFormat = "2006-01-02T15:04:05.000-0700"

	// APIServerTimeFormatAlt - api-server time with colon in timezone
	APIServerTimeFormatAlt = "2006-01-02T15:04:05.000-07:00"
)

Variables

This section is empty.

Functions

func GetPluralFromKind

func GetPluralFromKind(kind string) (p string, ok bool)

GetPluralFromKind

func GetResource

func GetResource(gv GroupKind) (r string, ok bool)

GetResource returns the resource name of a Kind

func GetScope

func GetScope(gv GroupKind) (k string, ok bool)

GetScope return the scope of a Kind

func RegisterGVK

func RegisterGVK(gvk GroupVersionKind, scopeKind, resource string)

RegisterGVK registers a GroupVersionKind with optional scope and mandatory resource

Types

type AuditMetadata

type AuditMetadata struct {
	// The creation time.
	CreateTimestamp Time `json:"createTimestamp,omitempty"`
	// Id of the user that created the entity.
	CreateUserID string `json:"createUserId,omitempty"`
	// The last modification time.
	ModifyTimestamp Time `json:"modifyTimestamp,omitempty"`
	// Id of the user that last modified the entity.
	ModifyUserID string `json:"modifyUserId,omitempty"`
}

AuditMetadata Read-only metadata for the record.

type Error

type Error struct {
	Status int                    `json:"status,omitempty"`
	Title  string                 `json:"title,omitempty"`
	Detail string                 `json:"detail,omitempty"`
	Meta   map[string]interface{} `json:"meta:,omitempty"`
}

Error an error in an ErrorResponse

type ErrorResponse

type ErrorResponse struct {
	Errors []Error `json:"errors,omitempty"`
}

ErrorResponse Detail for standard error responses.

type Event

type Event struct {
	ID      string
	Type    EventType
	Payload EventPayload
}

Event is an API Server event concerning a resource

type EventPayload

type EventPayload struct {
	GroupKind
	Scope      MetadataScope     `json:"scope"`
	Tags       []string          `json:"tags"`
	Attributes map[string]string `json:"attributes"`
	ID         string            `json:"id"`
	Name       string            `json:"name"`
	References []Reference       `json:"references"`
}

EventPayload -

type EventType

type EventType string

EventType -

const (
	// ResourceEntryCreatedEvent -
	ResourceEntryCreatedEvent EventType = "ResourceEntryCreatedEvent"
	// ResourceEntryDeletedEvent -
	ResourceEntryDeletedEvent EventType = "ResourceEntryDeletedEvent"
	// ResourceEntryUpdatedEvent -
	ResourceEntryUpdatedEvent EventType = "ResourceEntryUpdatedEvent"
)

type Finalizer

type Finalizer struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

Finalizer Finalizer on the API server resource.

type GroupKind

type GroupKind struct {
	// Defines the group from which the resource belongs to. The server infers this from the endpoint the client submits the request to.
	Group string `json:"group,omitempty"`
	// Defines the kind of the resource. The server infers this from the endpoint the client submits the request to.
	Kind string `json:"kind,omitempty"`
}

GroupKind the Group and Kind of the resource

type GroupVersionKind

type GroupVersionKind struct {
	GroupKind
	APIVersion string `json:"apiVersion,omitempty"`
}

GroupVersionKind - The group, version & kind of the resource

func GVKSet

func GVKSet() []GroupVersionKind

GVKSet -

type Interface

type Interface interface {
	Meta
	AsInstance() (*ResourceInstance, error)
	FromInstance(from *ResourceInstance) error
}

Interface describes API Server & catalog resources

type Meta

type Meta interface {
	GetName() string
	GetGroupVersionKind() GroupVersionKind
	GetMetadata() Metadata
	SetScopeName(string)
	GetAttributes() map[string]string
	SetAttributes(map[string]string)
	GetTags() []string
	SetTags([]string)
	GetSubResource(key string) interface{}
	SetSubResource(key string, resource interface{})
	GetReferenceByGVK(GroupVersionKind) Reference
}

Meta interface for API Server resource metadata

type Metadata

type Metadata struct {
	// Internal id of the resource.
	ID    string        `json:"id,omitempty"`
	Audit AuditMetadata `json:"audit,omitempty"`
	Scope MetadataScope `json:"scope,omitempty"`
	// Internal version of this object that can be used by clients to determine when objects have changed.
	ResourceVersion string      `json:"resourceVersion,omitempty"`
	References      []Reference `json:"references,omitempty"`
	// The URL to access the resource.
	SelfLink string `json:"selfLink,omitempty"`
	// Defines the state of the resource. If present, indicates if the resource is in Deleting state.
	State string `json:"state,omitempty"`
}

Metadata that all server resources have. Data is generated by the server.

type MetadataScope

type MetadataScope struct {
	// Internal id of the scope resource where the resource is defined.
	ID string `json:"id,omitempty"`
	// The kind of the scope resource where the resource is defined.
	Kind string `json:"kind,omitempty"`
	// The name of the scope where the resource is defined.
	Name string `json:"name,omitempty"`
	// The URL to access the scope resource.
	SelfLink string `json:"selfLink,omitempty"`
}

MetadataScope The scope where this resource was defined.

type Organization added in v1.1.58

type Organization struct {
	ID string `json:"id"`
}

type Owner

type Owner struct {
	Type         OwnerType    `json:"type,omitempty"`
	ID           string       `json:"id"`
	Organization Organization `json:"organization,omitempty"`
}

Owner is the owner of a resource

func (*Owner) MarshalJSON

func (o *Owner) MarshalJSON() ([]byte, error)

MarshalJSON marshals the owner to JSON

func (*Owner) SetID

func (o *Owner) SetID(id string)

SetID sets the id of the owner

func (*Owner) SetType

func (o *Owner) SetType(t OwnerType)

SetType sets the type of the owner

func (*Owner) UnmarshalJSON

func (o *Owner) UnmarshalJSON(bytes []byte) error

UnmarshalJSON unmarshalls the owner from JSON to convert the owner type to a string

type OwnerType

type OwnerType uint

OwnerType -

const (
	TeamOwner OwnerType = iota
)

type Reference

type Reference struct {
	// Unique id generated by the server.
	ID string `json:"id,omitempty"`
	// The group of the resource that it is referring to.
	Group string `json:"group,omitempty"`
	// The kind of the resource that it is referring to.
	Kind string `json:"kind,omitempty"`
	// The name of the resource that it is referring to.
	Name string `json:"name,omitempty"`
	// The kind of the scope of the resource that it is referring to.
	ScopeKind string `json:"scopeKind,omitempty"`
	// The name of the scope of the resource that it is referring to.
	ScopeName string `json:"scopeName,omitempty"`
	// The URL to access the resource that it is referring to.
	SelfLink string `json:"selfLink,omitempty"`
	// Defines the type of the reference: * soft - spec property that has this reference will get nulled out if the referenced resource gets removed. * hard - dictates that the current resource will get removed when the referenced resource gets removed.
	Type string `json:"type,omitempty"`
}

Reference List of objects dependent by this object.

type ResourceInstance

type ResourceInstance struct {
	ResourceMeta
	Owner *Owner `json:"owner"`
	// Resource instance specs.
	Spec map[string]interface{} `json:"spec"`
	// contains filtered or unexported fields
}

ResourceInstance API Server generic resource structure.

func (*ResourceInstance) AsInstance

func (ri *ResourceInstance) AsInstance() (*ResourceInstance, error)

AsInstance returns the ResourceInstance

func (*ResourceInstance) FromInstance

func (ri *ResourceInstance) FromInstance(from *ResourceInstance) error

FromInstance sets the underlying ResourceInstance

func (*ResourceInstance) GetRawResource

func (ri *ResourceInstance) GetRawResource() json.RawMessage

GetRawResource gets the resource as bytes

func (*ResourceInstance) MarshalJSON

func (ri *ResourceInstance) MarshalJSON() ([]byte, error)

MarshalJSON - custom marshaller for ResourceInstance to save the rawResource json to unmarshal specific types

func (*ResourceInstance) UnmarshalJSON

func (ri *ResourceInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON - custom unmarshaler for ResourceInstance struct to additionally use a custom subscriptionField

type ResourceMeta

type ResourceMeta struct {
	GroupVersionKind
	Name  string `json:"name,omitempty"`
	Title string `json:"title,omitempty"`
	// Metadata the metadata for the resource
	Metadata Metadata `json:"metadata,omitempty"`
	// Custom attributes for a resource.
	Attributes map[string]string `json:"attributes"`
	// List of tags.
	Tags []string `json:"tags"`
	// Finalizer on the API server resource
	Finalizers []Finalizer `json:"finalizers"`
	// SubResources contains all of the unique sub resources that may be added to a resource
	SubResources map[string]interface{} `json:"-"`
}

ResourceMeta metadata for a ResourceInstance

func (*ResourceMeta) GetAttributes

func (rm *ResourceMeta) GetAttributes() map[string]string

GetAttributes gets the attributes of a resource

func (*ResourceMeta) GetGroupVersionKind

func (rm *ResourceMeta) GetGroupVersionKind() GroupVersionKind

GetGroupVersionKind gets the group, version, and kind of the resource

func (rm *ResourceMeta) GetKindLink() string

GetKindLink gets the link to resource kind

func (*ResourceMeta) GetMetadata

func (rm *ResourceMeta) GetMetadata() Metadata

GetMetadata gets the resource metadata

func (*ResourceMeta) GetName

func (rm *ResourceMeta) GetName() string

GetName gets the name of a resource

func (*ResourceMeta) GetReferenceByGVK

func (rm *ResourceMeta) GetReferenceByGVK(gvk GroupVersionKind) Reference

GetReferenceByGVK returns the first found reference that matches the GroupKind argument.

func (rm *ResourceMeta) GetSelfLink() string

GetSelfLink gets the resource metadata selflink

func (*ResourceMeta) GetSubResource

func (rm *ResourceMeta) GetSubResource(key string) interface{}

GetSubResource get a sub resource by name

func (*ResourceMeta) GetTags

func (rm *ResourceMeta) GetTags() []string

GetTags gets the tags of the resource

func (*ResourceMeta) MarshalJSON

func (rm *ResourceMeta) MarshalJSON() ([]byte, error)

MarshalJSON marshals the ResourceMeta to properly set the SubResources

func (*ResourceMeta) SetAttributes

func (rm *ResourceMeta) SetAttributes(attrs map[string]string)

SetAttributes sets the attributes of a resource

func (*ResourceMeta) SetName

func (rm *ResourceMeta) SetName(name string)

SetName sets the name of a resource

func (*ResourceMeta) SetScopeName

func (rm *ResourceMeta) SetScopeName(name string)

SetScopeName sets the name of a resource

func (*ResourceMeta) SetSubResource

func (rm *ResourceMeta) SetSubResource(name string, value interface{})

SetSubResource saves a value to a sub resource by name and overrides the current value. To update a SubResource first call GetSubResource and modify it, then save it.

func (*ResourceMeta) SetTags

func (rm *ResourceMeta) SetTags(tags []string)

SetTags adds tags to the resource

func (*ResourceMeta) UnmarshalJSON

func (rm *ResourceMeta) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshalls the ResourceMeta to properly set the SubResources

type ResourceStatus

type ResourceStatus struct {
	Level string `json:"level"`
	// Details of the warning.
	Reasons []ResourceStatusReason `json:"reasons,omitempty"`
}

ResourceStatus struct to represent status

type ResourceStatusReason

type ResourceStatusReason struct {
	Type string `json:"type"`
	// Details of the warning.
	Detail string `json:"detail"`
	// Time when the update occurred.
	Timestamp Time                   `json:"timestamp"`
	Meta      map[string]interface{} `json:"meta,omitempty"`
}

ResourceStatusReason struct for reason oneOfs

type Time

type Time time.Time

Time - time

func (Time) MarshalJSON

func (t Time) MarshalJSON() ([]byte, error)

MarshalJSON -

func (*Time) UnmarshalJSON

func (t *Time) UnmarshalJSON(bytes []byte) error

UnmarshalJSON - unmarshal json for time

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL