apiextensions: github.com/giantswarm/apiextensions/pkg/apis/release/v1alpha1 Index | Files

package v1alpha1

import "github.com/giantswarm/apiextensions/pkg/apis/release/v1alpha1"

+groupName=release.giantswarm.io

Index

Package Files

deep_copy.go doc.go register.go release_cycle_types.go release_types.go zz_generated.deepcopy.go

Variables

var (

    // AddToScheme is used by the generated client.
    AddToScheme = schemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{
    Group:   group,
    Version: version,
}

SchemeGroupVersion is group version used to register these objects

func NewReleaseCRD Uses

func NewReleaseCRD() *apiextensionsv1beta1.CustomResourceDefinition

NewReleaseCRD returns a new custom resource definition for Release.

func NewReleaseCycleCRD Uses

func NewReleaseCycleCRD() *apiextensionsv1beta1.CustomResourceDefinition

func NewReleaseCycleTypeMeta Uses

func NewReleaseCycleTypeMeta() metav1.TypeMeta

func NewReleaseTypeMeta Uses

func NewReleaseTypeMeta() metav1.TypeMeta

type DeepCopyDate Uses

type DeepCopyDate struct {
    time.Time
}

DeepCopyDate is a date type designed to be validated with json-schema date type.

func (*DeepCopyDate) DeepCopy Uses

func (in *DeepCopyDate) DeepCopy() *DeepCopyDate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeepCopyDate.

func (*DeepCopyDate) DeepCopyInto Uses

func (d *DeepCopyDate) DeepCopyInto(out *DeepCopyDate)

func (DeepCopyDate) MarshalJSON Uses

func (d DeepCopyDate) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. The time is expected to be a quoted string in yyyy-mm-dd format.

NOTE: This method has a value (not pointer) receiver. Otherwise marshalling will stop working for values. When this is a value receiver it works for both.

func (*DeepCopyDate) UnmarshalJSON Uses

func (d *DeepCopyDate) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. The time is expected to be a quoted string in yyyy-mm-dd format.

type DeepCopyTime Uses

type DeepCopyTime struct {
    time.Time
}

DeepCopyTime implements the deep copy logic for time.Time which the k8s codegen is not able to generate out of the box.

func (*DeepCopyTime) DeepCopy Uses

func (in *DeepCopyTime) DeepCopy() *DeepCopyTime

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeepCopyTime.

func (*DeepCopyTime) DeepCopyInto Uses

func (in *DeepCopyTime) DeepCopyInto(out *DeepCopyTime)

type Release Uses

type Release struct {
    metav1.TypeMeta   `json:",inline" yaml:",inline"`
    metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
    Spec              ReleaseSpec `json:"spec" yaml:"spec"`
}

Release is a Kubernetes resource (CR) which is based on the Release CRD defined above.

An example Release resource can be viewed here https://github.com/giantswarm/apiextensions/blob/master/docs/cr/release.giantswarm.io_v1alpha1_release.yaml

func NewReleaseCR Uses

func NewReleaseCR() *Release

func (*Release) DeepCopy Uses

func (in *Release) DeepCopy() *Release

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.

func (*Release) DeepCopyInto Uses

func (in *Release) DeepCopyInto(out *Release)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Release) DeepCopyObject Uses

func (in *Release) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCycle Uses

type ReleaseCycle struct {
    metav1.TypeMeta   `json:",inline" yaml:",inline"`
    metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
    Spec              ReleaseCycleSpec   `json:"spec" yaml:"spec"`
    Status            ReleaseCycleStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

ReleaseCycle CRs might look something like the following.

apiVersion: "release.giantswarm.io/v1alpha1"
kind: "ReleaseCycle"
metadata:
  name: "aws.v6.1.0"
  labels:
    giantswarm.io/managed-by: "opsctl"
    giantswarm.io/provider: "aws"
spec:
  disabledDate: 2019-01-12
  enabledDate: 2019-01-08
  phase: "enabled"

func (*ReleaseCycle) DeepCopy Uses

func (in *ReleaseCycle) DeepCopy() *ReleaseCycle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycle.

func (*ReleaseCycle) DeepCopyInto Uses

func (in *ReleaseCycle) DeepCopyInto(out *ReleaseCycle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseCycle) DeepCopyObject Uses

func (in *ReleaseCycle) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCycleList Uses

type ReleaseCycleList struct {
    metav1.TypeMeta `json:",inline" yaml:",inline"`
    metav1.ListMeta `json:"metadata" yaml:"metadata"`
    Items           []ReleaseCycle `json:"items" yaml:"items"`
}

func (*ReleaseCycleList) DeepCopy Uses

func (in *ReleaseCycleList) DeepCopy() *ReleaseCycleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleList.

func (*ReleaseCycleList) DeepCopyInto Uses

func (in *ReleaseCycleList) DeepCopyInto(out *ReleaseCycleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseCycleList) DeepCopyObject Uses

func (in *ReleaseCycleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseCyclePhase Uses

type ReleaseCyclePhase string
const (
    CyclePhaseUpcoming ReleaseCyclePhase = "upcoming"
    CyclePhaseEnabled  ReleaseCyclePhase = "enabled"
    CyclePhaseDisabled ReleaseCyclePhase = "disabled"
    CyclePhaseEOL      ReleaseCyclePhase = "eol"
)

func (ReleaseCyclePhase) String Uses

func (r ReleaseCyclePhase) String() string

type ReleaseCycleSpec Uses

type ReleaseCycleSpec struct {
    // DisabledDate is the date of the cycle phase being changed to "disabled".
    DisabledDate DeepCopyDate `json:"disabledDate,omitempty" yaml:"disabledDate,omitempty"`
    // EnabledDate is the date of the cycle phase being changed to "enabled".
    EnabledDate DeepCopyDate `json:"enabledDate,omitempty" yaml:"enabledDate,omitempty"`
    // Phase is the release phase. It can be one of: "upcoming", "enabled",
    // "disabled", "eol".
    Phase ReleaseCyclePhase `json:"phase" yaml:"phase"`
}

func (*ReleaseCycleSpec) DeepCopy Uses

func (in *ReleaseCycleSpec) DeepCopy() *ReleaseCycleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleSpec.

func (*ReleaseCycleSpec) DeepCopyInto Uses

func (in *ReleaseCycleSpec) DeepCopyInto(out *ReleaseCycleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseCycleStatus Uses

type ReleaseCycleStatus struct {
}

func (*ReleaseCycleStatus) DeepCopy Uses

func (in *ReleaseCycleStatus) DeepCopy() *ReleaseCycleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseCycleStatus.

func (*ReleaseCycleStatus) DeepCopyInto Uses

func (in *ReleaseCycleStatus) DeepCopyInto(out *ReleaseCycleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseList Uses

type ReleaseList struct {
    metav1.TypeMeta `json:",inline" yaml:",inline"`
    metav1.ListMeta `json:"metadata" yaml:"metadata"`
    Items           []Release `json:"items" yaml:"items"`
}

func (*ReleaseList) DeepCopy Uses

func (in *ReleaseList) DeepCopy() *ReleaseList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseList.

func (*ReleaseList) DeepCopyInto Uses

func (in *ReleaseList) DeepCopyInto(out *ReleaseList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReleaseList) DeepCopyObject Uses

func (in *ReleaseList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseSpec Uses

type ReleaseSpec struct {
    // Apps describes apps used in this release.
    Apps []ReleaseSpecApp `json:"apps" yaml:"apps"`
    // Components describes components used in this release.
    Components []ReleaseSpecComponent `json:"components" yaml:"components"`
    // Date that the release became active.
    Date *DeepCopyTime `json:"date" yaml:"date"`
    // State indicates the availability of the release: deprecated, active, or wip.
    State ReleaseState `json:"state" yaml:"state"`
}

func (*ReleaseSpec) DeepCopy Uses

func (in *ReleaseSpec) DeepCopy() *ReleaseSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpec.

func (*ReleaseSpec) DeepCopyInto Uses

func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseSpecApp Uses

type ReleaseSpecApp struct {
    // Version of the upstream component used in the app.
    ComponentVersion string `json:"componentVersion,omitempty" yaml:"componentVersion,omitempty"`
    // Name of the app.
    Name string `json:"name" yaml:"name"`
    // Version of the app.
    Version string `json:"version" yaml:"version"`
}

func (*ReleaseSpecApp) DeepCopy Uses

func (in *ReleaseSpecApp) DeepCopy() *ReleaseSpecApp

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpecApp.

func (*ReleaseSpecApp) DeepCopyInto Uses

func (in *ReleaseSpecApp) DeepCopyInto(out *ReleaseSpecApp)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseSpecComponent Uses

type ReleaseSpecComponent struct {
    // Name of the component.
    Name string `json:"name" yaml:"name"`
    // Version of the component.
    Version string `json:"version" yaml:"version"`
}

func (*ReleaseSpecComponent) DeepCopy Uses

func (in *ReleaseSpecComponent) DeepCopy() *ReleaseSpecComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSpecComponent.

func (*ReleaseSpecComponent) DeepCopyInto Uses

func (in *ReleaseSpecComponent) DeepCopyInto(out *ReleaseSpecComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReleaseState Uses

type ReleaseState string

Package v1alpha1 imports 6 packages (graph) and is imported by 5 packages. Updated 2020-04-05. Refresh now. Tools for package owners.