1
0
mirror of https://github.com/rancher/types.git synced 2025-04-27 18:25:05 +00:00

Merge pull request #1205 from cmurphy/cluster-template-fields

[2.4] Add secret fields for cluster templates
This commit is contained in:
Colleen Murphy 2022-03-28 14:53:43 -07:00 committed by GitHub
commit 4370ff10ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 172 additions and 27 deletions

View File

@ -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"`
}

View File

@ -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) {

View File

@ -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

View File

@ -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 {

View File

@ -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"`
}

View File

@ -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"`
}