diff --git a/apis/management.cattle.io/v3/cluster_template_types.go b/apis/management.cattle.io/v3/cluster_template_types.go index e4aeef36..f6cd135a 100644 --- a/apis/management.cattle.io/v3/cluster_template_types.go +++ b/apis/management.cattle.io/v3/cluster_template_types.go @@ -1,10 +1,31 @@ package v3 import ( + "github.com/rancher/norman/condition" "github.com/rancher/norman/types" + v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) +const ClusterTemplateRevisionConditionSecretsMigrated condition.Cond = "SecretsMigrated" + +type ClusterTemplateRevisionConditionType string + +type ClusterTemplateRevisionCondition struct { + // Type of cluster template revision condition. + Type ClusterTemplateRevisionConditionType `json:"type"` + // Status of the condition, one of True, False, Unknown. + Status v1.ConditionStatus `json:"status"` + // The last time this condition was updated. + LastUpdateTime string `json:"lastUpdateTime,omitempty"` + // Last time the condition transitioned from one status to another. + LastTransitionTime string `json:"lastTransitionTime,omitempty"` + // The reason for the condition's last transition. + Reason string `json:"reason,omitempty"` + // Human-readable message indicating details about last transition + Message string `json:"message,omitempty"` +} + type ClusterTemplate struct { types.Namespaced @@ -33,7 +54,8 @@ type ClusterTemplateRevision struct { metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the the cluster. More info: // https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status - Spec ClusterTemplateRevisionSpec `json:"spec"` + Spec ClusterTemplateRevisionSpec `json:"spec"` + Status ClusterTemplateRevisionStatus `json:"status"` } type ClusterTemplateRevisionSpec struct { @@ -45,6 +67,18 @@ type ClusterTemplateRevisionSpec struct { ClusterConfig *ClusterSpecBase `json:"clusterConfig" norman:"required"` } +type ClusterTemplateRevisionStatus struct { + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" norman:"nocreate,noupdate"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" norman:"nocreate,noupdate"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" norman:"nocreate,noupdate"` + VsphereSecret string `json:"vsphereSecret,omitempty" norman:"nocreate,noupdate"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" norman:"nocreate,noupdate"` + OpenStackSecret string `json:"openStackSecret,omitempty" norman:"nocreate,noupdate"` + AADClientSecret string `json:"aadClientSecret,omitempty" norman:"nocreate,noupdate"` + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" norman:"nocreate,noupdate"` + Conditions []ClusterTemplateRevisionCondition `json:"conditions,omitempty"` +} + type ClusterTemplateQuestionsOutput struct { Questions []Question `json:"questions,omitempty"` } diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 82cfafc5..7e60bc4e 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -907,7 +907,10 @@ func clusterTemplateTypes(schemas *types.Schemas) *types.Schemas { TypeName("clusterTemplate", v3.ClusterTemplate{}). TypeName("clusterTemplateRevision", v3.ClusterTemplateRevision{}). AddMapperForType(&Version, v3.ClusterTemplate{}, m.Drop{Field: "namespaceId"}, m.DisplayName{}). - AddMapperForType(&Version, v3.ClusterTemplateRevision{}, m.Drop{Field: "namespaceId"}, m.DisplayName{}). + AddMapperForType(&Version, v3.ClusterTemplateRevision{}, + m.Drop{Field: "namespaceId"}, + &m.Embed{Field: "status"}, + m.DisplayName{}). MustImport(&Version, v3.ClusterTemplateQuestionsOutput{}). MustImport(&Version, v3.ClusterTemplate{}). MustImportAndCustomize(&Version, v3.ClusterTemplateRevision{}, func(schema *types.Schema) { diff --git a/apis/management.cattle.io/v3/zz_generated_deepcopy.go b/apis/management.cattle.io/v3/zz_generated_deepcopy.go index 71a661f6..71509947 100644 --- a/apis/management.cattle.io/v3/zz_generated_deepcopy.go +++ b/apis/management.cattle.io/v3/zz_generated_deepcopy.go @@ -2517,6 +2517,7 @@ func (in *ClusterTemplateRevision) DeepCopyInto(out *ClusterTemplateRevision) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) return } @@ -2538,6 +2539,22 @@ func (in *ClusterTemplateRevision) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterTemplateRevisionCondition) DeepCopyInto(out *ClusterTemplateRevisionCondition) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateRevisionCondition. +func (in *ClusterTemplateRevisionCondition) DeepCopy() *ClusterTemplateRevisionCondition { + if in == nil { + return nil + } + out := new(ClusterTemplateRevisionCondition) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterTemplateRevisionList) DeepCopyInto(out *ClusterTemplateRevisionList) { *out = *in @@ -2604,6 +2621,27 @@ func (in *ClusterTemplateRevisionSpec) DeepCopy() *ClusterTemplateRevisionSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterTemplateRevisionStatus) DeepCopyInto(out *ClusterTemplateRevisionStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ClusterTemplateRevisionCondition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateRevisionStatus. +func (in *ClusterTemplateRevisionStatus) DeepCopy() *ClusterTemplateRevisionStatus { + if in == nil { + return nil + } + out := new(ClusterTemplateRevisionStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterTemplateSpec) DeepCopyInto(out *ClusterTemplateSpec) { *out = *in diff --git a/client/management/v3/zz_generated_cluster_template_revision.go b/client/management/v3/zz_generated_cluster_template_revision.go index 29a4a207..87459b4c 100644 --- a/client/management/v3/zz_generated_cluster_template_revision.go +++ b/client/management/v3/zz_generated_cluster_template_revision.go @@ -5,35 +5,59 @@ import ( ) const ( - ClusterTemplateRevisionType = "clusterTemplateRevision" - ClusterTemplateRevisionFieldAnnotations = "annotations" - ClusterTemplateRevisionFieldClusterConfig = "clusterConfig" - ClusterTemplateRevisionFieldClusterTemplateID = "clusterTemplateId" - ClusterTemplateRevisionFieldCreated = "created" - ClusterTemplateRevisionFieldCreatorID = "creatorId" - ClusterTemplateRevisionFieldEnabled = "enabled" - ClusterTemplateRevisionFieldLabels = "labels" - ClusterTemplateRevisionFieldName = "name" - ClusterTemplateRevisionFieldOwnerReferences = "ownerReferences" - ClusterTemplateRevisionFieldQuestions = "questions" - ClusterTemplateRevisionFieldRemoved = "removed" - ClusterTemplateRevisionFieldUUID = "uuid" + ClusterTemplateRevisionType = "clusterTemplateRevision" + ClusterTemplateRevisionFieldAADClientCertSecret = "aadClientCertSecret" + ClusterTemplateRevisionFieldAADClientSecret = "aadClientSecret" + ClusterTemplateRevisionFieldAnnotations = "annotations" + ClusterTemplateRevisionFieldClusterConfig = "clusterConfig" + ClusterTemplateRevisionFieldClusterTemplateID = "clusterTemplateId" + ClusterTemplateRevisionFieldConditions = "conditions" + ClusterTemplateRevisionFieldCreated = "created" + ClusterTemplateRevisionFieldCreatorID = "creatorId" + ClusterTemplateRevisionFieldEnabled = "enabled" + ClusterTemplateRevisionFieldLabels = "labels" + ClusterTemplateRevisionFieldName = "name" + ClusterTemplateRevisionFieldOpenStackSecret = "openStackSecret" + ClusterTemplateRevisionFieldOwnerReferences = "ownerReferences" + ClusterTemplateRevisionFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterTemplateRevisionFieldQuestions = "questions" + ClusterTemplateRevisionFieldRemoved = "removed" + ClusterTemplateRevisionFieldS3CredentialSecret = "s3CredentialSecret" + ClusterTemplateRevisionFieldState = "state" + ClusterTemplateRevisionFieldTransitioning = "transitioning" + ClusterTemplateRevisionFieldTransitioningMessage = "transitioningMessage" + ClusterTemplateRevisionFieldUUID = "uuid" + ClusterTemplateRevisionFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterTemplateRevisionFieldVsphereSecret = "vsphereSecret" + ClusterTemplateRevisionFieldWeavePasswordSecret = "weavePasswordSecret" ) type ClusterTemplateRevision struct { types.Resource - Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` - ClusterConfig *ClusterSpecBase `json:"clusterConfig,omitempty" yaml:"clusterConfig,omitempty"` - ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` - Created string `json:"created,omitempty" yaml:"created,omitempty"` - CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` - Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` - Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` - Name string `json:"name,omitempty" yaml:"name,omitempty"` - OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` - Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` - Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` - UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClusterConfig *ClusterSpecBase `json:"clusterConfig,omitempty" yaml:"clusterConfig,omitempty"` + ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` + Conditions []ClusterTemplateRevisionCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` } type ClusterTemplateRevisionCollection struct { diff --git a/client/management/v3/zz_generated_cluster_template_revision_condition.go b/client/management/v3/zz_generated_cluster_template_revision_condition.go new file mode 100644 index 00000000..114d52be --- /dev/null +++ b/client/management/v3/zz_generated_cluster_template_revision_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ClusterTemplateRevisionConditionType = "clusterTemplateRevisionCondition" + ClusterTemplateRevisionConditionFieldLastTransitionTime = "lastTransitionTime" + ClusterTemplateRevisionConditionFieldLastUpdateTime = "lastUpdateTime" + ClusterTemplateRevisionConditionFieldMessage = "message" + ClusterTemplateRevisionConditionFieldReason = "reason" + ClusterTemplateRevisionConditionFieldStatus = "status" + ClusterTemplateRevisionConditionFieldType = "type" +) + +type ClusterTemplateRevisionCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/client/management/v3/zz_generated_cluster_template_revision_status.go b/client/management/v3/zz_generated_cluster_template_revision_status.go new file mode 100644 index 00000000..46abe3e8 --- /dev/null +++ b/client/management/v3/zz_generated_cluster_template_revision_status.go @@ -0,0 +1,26 @@ +package client + +const ( + ClusterTemplateRevisionStatusType = "clusterTemplateRevisionStatus" + ClusterTemplateRevisionStatusFieldAADClientCertSecret = "aadClientCertSecret" + ClusterTemplateRevisionStatusFieldAADClientSecret = "aadClientSecret" + ClusterTemplateRevisionStatusFieldConditions = "conditions" + ClusterTemplateRevisionStatusFieldOpenStackSecret = "openStackSecret" + ClusterTemplateRevisionStatusFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterTemplateRevisionStatusFieldS3CredentialSecret = "s3CredentialSecret" + ClusterTemplateRevisionStatusFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterTemplateRevisionStatusFieldVsphereSecret = "vsphereSecret" + ClusterTemplateRevisionStatusFieldWeavePasswordSecret = "weavePasswordSecret" +) + +type ClusterTemplateRevisionStatus struct { + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + Conditions []ClusterTemplateRevisionCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` +}