mirror of https://github.com/kubernetes/kops.git
- adding the api components to define a additional volume spec
This commit is contained in:
parent
64e9192fcb
commit
8236b7089f
|
@ -44,6 +44,7 @@ type InstanceGroup struct {
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// InstanceGroupList is a collection in instancegroups
|
||||||
type InstanceGroupList struct {
|
type InstanceGroupList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ListMeta `json:"metadata,omitempty"`
|
metav1.ListMeta `json:"metadata,omitempty"`
|
||||||
|
@ -55,8 +56,11 @@ type InstanceGroupList struct {
|
||||||
type InstanceGroupRole string
|
type InstanceGroupRole string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// InstanceGroupRoleMaster defines the node as a master
|
||||||
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
||||||
|
// InstanceGroupRoleNode defines the node as a worker
|
||||||
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
||||||
|
// InstanceGroupRoleBastion defines the node as a bastion host
|
||||||
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
|
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -87,6 +91,8 @@ type InstanceGroupSpec struct {
|
||||||
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
||||||
// RootVolumeOptimization enables EBS optimization for an instance
|
// RootVolumeOptimization enables EBS optimization for an instance
|
||||||
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
||||||
|
// Volumes is a collection of additional volumes to create for instances within this InstanceGroup
|
||||||
|
Volumes []*InstanceGroupVolumeSpec `json:"volumes,omitempty"`
|
||||||
// Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed
|
// Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed
|
||||||
Subnets []string `json:"subnets,omitempty"`
|
Subnets []string `json:"subnets,omitempty"`
|
||||||
// Zones is the names of the Zones where machines in this instance group should be placed
|
// Zones is the names of the Zones where machines in this instance group should be placed
|
||||||
|
@ -137,6 +143,33 @@ type UserData struct {
|
||||||
Content string `json:"content,omitempty"`
|
Content string `json:"content,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InstanceGroupVolumeSpec defined the spec for an additional volume attached to the instance group
|
||||||
|
type InstanceGroupVolumeSpec struct {
|
||||||
|
// DeviceName is an optional device name of the block device
|
||||||
|
DeviceName *string `json:"deviceName,omitempty"`
|
||||||
|
// Encrypted indicates you want to encrypt the volume
|
||||||
|
Encrypted *bool `json:"encrypted,omitempty"`
|
||||||
|
// Filesystem is the type of filesystem to create on the device
|
||||||
|
Filesystem *InstanceGroupVolumeFilesystemSpec `json:"filesystem,omitempty"`
|
||||||
|
// Iops is the provision iops for this iops (think io1 in aws)
|
||||||
|
Iops *int64 `json:"iops,omitempty"`
|
||||||
|
// Size is the size of the volume in GB
|
||||||
|
Size *int64 `json:"size,omitempty"`
|
||||||
|
// Type is the type of volume to create and is cloud specific
|
||||||
|
Type *string `json:"type,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstanceGroupVolumeFilesystemSpec defines a specification for creating a filesystem
|
||||||
|
type InstanceGroupVolumeFilesystemSpec struct {
|
||||||
|
// Ext4 is the specification for a ext4 filesystem
|
||||||
|
Ext4 *Ext4FileSystemSpec `json:"ext4,omitempty"`
|
||||||
|
// Path is the location to mount the volume
|
||||||
|
Path string `json:"mountPath,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ext4FileSystemSpec defines a specification for a ext4 filesystem on a instancegroup volume
|
||||||
|
type Ext4FileSystemSpec struct{}
|
||||||
|
|
||||||
// IAMProfileSpec is the AWS IAM Profile to attach to instances in this instance
|
// IAMProfileSpec is the AWS IAM Profile to attach to instances in this instance
|
||||||
// group. Specify the ARN for the IAM instance profile (AWS only).
|
// group. Specify the ARN for the IAM instance profile (AWS only).
|
||||||
type IAMProfileSpec struct {
|
type IAMProfileSpec struct {
|
||||||
|
|
|
@ -33,6 +33,7 @@ type InstanceGroup struct {
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// InstanceGroupList is a collection in instancegroups
|
||||||
type InstanceGroupList struct {
|
type InstanceGroupList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ListMeta `json:"metadata,omitempty"`
|
metav1.ListMeta `json:"metadata,omitempty"`
|
||||||
|
@ -44,10 +45,21 @@ type InstanceGroupList struct {
|
||||||
type InstanceGroupRole string
|
type InstanceGroupRole string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// InstanceGroupRoleMaster defines the node as a master
|
||||||
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
||||||
|
// InstanceGroupRoleNode defines the node as a worker
|
||||||
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
||||||
|
// InstanceGroupRoleBastion defines the node as a bastion host
|
||||||
|
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AllInstanceGroupRoles is a slice of all valid InstanceGroupRole values
|
||||||
|
var AllInstanceGroupRoles = []InstanceGroupRole{
|
||||||
|
InstanceGroupRoleNode,
|
||||||
|
InstanceGroupRoleMaster,
|
||||||
|
InstanceGroupRoleBastion,
|
||||||
|
}
|
||||||
|
|
||||||
// InstanceGroupSpec is the specification for a instanceGroup
|
// InstanceGroupSpec is the specification for a instanceGroup
|
||||||
type InstanceGroupSpec struct {
|
type InstanceGroupSpec struct {
|
||||||
// Type determines the role of instances in this group: masters or nodes
|
// Type determines the role of instances in this group: masters or nodes
|
||||||
|
@ -68,6 +80,8 @@ type InstanceGroupSpec struct {
|
||||||
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
||||||
// RootVolumeOptimization enables EBS optimization for an instance
|
// RootVolumeOptimization enables EBS optimization for an instance
|
||||||
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
||||||
|
// Volumes is a collection of additional volumes to create for instances within this InstanceGroup
|
||||||
|
Volumes []*InstanceGroupVolumeSpec `json:"volumes,omitempty"`
|
||||||
// Hooks is a list of hooks for this instanceGroup, note: these can override the cluster wide ones if required
|
// Hooks is a list of hooks for this instanceGroup, note: these can override the cluster wide ones if required
|
||||||
Hooks []HookSpec `json:"hooks,omitempty"`
|
Hooks []HookSpec `json:"hooks,omitempty"`
|
||||||
// MaxPrice indicates this is a spot-pricing group, with the specified value as our max-price bid
|
// MaxPrice indicates this is a spot-pricing group, with the specified value as our max-price bid
|
||||||
|
@ -124,7 +138,34 @@ type UserData struct {
|
||||||
Content string `json:"content,omitempty"`
|
Content string `json:"content,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadBalancers defines a load balancer
|
// InstanceGroupVolumeSpec defined the spec for an additional volume attached to the instance group
|
||||||
|
type InstanceGroupVolumeSpec struct {
|
||||||
|
// DeviceName is an optional device name of the block device
|
||||||
|
DeviceName *string `json:"deviceName,omitempty"`
|
||||||
|
// Encrypted indicates you want to encrypt the volume
|
||||||
|
Encrypted *bool `json:"encrypted,omitempty"`
|
||||||
|
// Filesystem is the type of filesystem to create on the device
|
||||||
|
Filesystem *InstanceGroupVolumeFilesystemSpec `json:"filesystem,omitempty"`
|
||||||
|
// Iops is the provision iops for this iops (think io1 in aws)
|
||||||
|
Iops *int32 `json:"iops,omitempty"`
|
||||||
|
// Size is the size of the volume in GB
|
||||||
|
Size *int32 `json:"size,omitempty"`
|
||||||
|
// Type is the type of volume to create and is cloud specific
|
||||||
|
Type *string `json:"type,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstanceGroupVolumeFilesystemSpec defines a specification for creating a filesystem
|
||||||
|
type InstanceGroupVolumeFilesystemSpec struct {
|
||||||
|
// Ext4 is the specification for a ext4 filesystem
|
||||||
|
Ext4 *Ext4FileSystemSpec `json:"ext4,omitempty"`
|
||||||
|
// Path is the location to mount the volume
|
||||||
|
Path string `json:"mountPath,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ext4FileSystemSpec defines a specification for a ext4 filesystem on a instancegroup volume
|
||||||
|
type Ext4FileSystemSpec struct{}
|
||||||
|
|
||||||
|
// LoadBalancer defines a load balancer
|
||||||
type LoadBalancer struct {
|
type LoadBalancer struct {
|
||||||
// LoadBalancerName to associate with this instance group (AWS ELB)
|
// LoadBalancerName to associate with this instance group (AWS ELB)
|
||||||
LoadBalancerName *string `json:"loadBalancerName,omitempty"`
|
LoadBalancerName *string `json:"loadBalancerName,omitempty"`
|
||||||
|
|
|
@ -1110,6 +1110,22 @@ func (in *ExecContainerAction) DeepCopy() *ExecContainerAction {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopyInto(out *Ext4FileSystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ext4FileSystemSpec.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopy() *Ext4FileSystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Ext4FileSystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -1366,6 +1382,18 @@ func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec) {
|
||||||
*out = new(bool)
|
*out = new(bool)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Volumes != nil {
|
||||||
|
in, out := &in.Volumes, &out.Volumes
|
||||||
|
*out = make([]*InstanceGroupVolumeSpec, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
if (*in)[i] == nil {
|
||||||
|
(*out)[i] = nil
|
||||||
|
} else {
|
||||||
|
(*out)[i] = new(InstanceGroupVolumeSpec)
|
||||||
|
(*in)[i].DeepCopyInto((*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if in.Hooks != nil {
|
if in.Hooks != nil {
|
||||||
in, out := &in.Hooks, &out.Hooks
|
in, out := &in.Hooks, &out.Hooks
|
||||||
*out = make([]HookSpec, len(*in))
|
*out = make([]HookSpec, len(*in))
|
||||||
|
@ -1469,6 +1497,101 @@ func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopyInto(out *InstanceGroupVolumeFilesystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.Ext4 != nil {
|
||||||
|
in, out := &in.Ext4, &out.Ext4
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(Ext4FileSystemSpec)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeFilesystemSpec.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopy() *InstanceGroupVolumeFilesystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopyInto(out *InstanceGroupVolumeSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.DeviceName != nil {
|
||||||
|
in, out := &in.DeviceName, &out.DeviceName
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Encrypted != nil {
|
||||||
|
in, out := &in.Encrypted, &out.Encrypted
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(bool)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Filesystem != nil {
|
||||||
|
in, out := &in.Filesystem, &out.Filesystem
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Iops != nil {
|
||||||
|
in, out := &in.Iops, &out.Iops
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Size != nil {
|
||||||
|
in, out := &in.Size, &out.Size
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int32)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Type != nil {
|
||||||
|
in, out := &in.Type, &out.Type
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeSpec.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopy() *InstanceGroupVolumeSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *KopeioAuthenticationSpec) DeepCopyInto(out *KopeioAuthenticationSpec) {
|
func (in *KopeioAuthenticationSpec) DeepCopyInto(out *KopeioAuthenticationSpec) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
|
|
@ -33,6 +33,7 @@ type InstanceGroup struct {
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
|
// InstanceGroupList is a collection of instancegroups
|
||||||
type InstanceGroupList struct {
|
type InstanceGroupList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ListMeta `json:"metadata,omitempty"`
|
metav1.ListMeta `json:"metadata,omitempty"`
|
||||||
|
@ -44,11 +45,15 @@ type InstanceGroupList struct {
|
||||||
type InstanceGroupRole string
|
type InstanceGroupRole string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// InstanceGroupRoleMaster defines the node as a master
|
||||||
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
InstanceGroupRoleMaster InstanceGroupRole = "Master"
|
||||||
|
// InstanceGroupRoleNode defines the node as a worker
|
||||||
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
InstanceGroupRoleNode InstanceGroupRole = "Node"
|
||||||
|
// InstanceGroupRoleBastion defines the node as a bastion host
|
||||||
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
|
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AllInstanceGroupRoles is a slice of all valid InstanceGroupRole values
|
||||||
var AllInstanceGroupRoles = []InstanceGroupRole{
|
var AllInstanceGroupRoles = []InstanceGroupRole{
|
||||||
InstanceGroupRoleNode,
|
InstanceGroupRoleNode,
|
||||||
InstanceGroupRoleMaster,
|
InstanceGroupRoleMaster,
|
||||||
|
@ -75,6 +80,8 @@ type InstanceGroupSpec struct {
|
||||||
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
|
||||||
// RootVolumeOptimization enables EBS optimization for an instance
|
// RootVolumeOptimization enables EBS optimization for an instance
|
||||||
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
|
||||||
|
// Volumes is a collection of additional volumes to create for instances within this InstanceGroup
|
||||||
|
Volumes []*InstanceGroupVolumeSpec `json:"volumes,omitempty"`
|
||||||
// Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed
|
// Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed
|
||||||
Subnets []string `json:"subnets,omitempty"`
|
Subnets []string `json:"subnets,omitempty"`
|
||||||
// Zones is the names of the Zones where machines in this instance group should be placed
|
// Zones is the names of the Zones where machines in this instance group should be placed
|
||||||
|
@ -125,6 +132,33 @@ type UserData struct {
|
||||||
Content string `json:"content,omitempty"`
|
Content string `json:"content,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InstanceGroupVolumeSpec defined the spec for an additional volume attached to the instance group
|
||||||
|
type InstanceGroupVolumeSpec struct {
|
||||||
|
// DeviceName is an optional device name of the block device
|
||||||
|
DeviceName *string `json:"deviceName,omitempty"`
|
||||||
|
// Encrypted indicates you want to encrypt the volume
|
||||||
|
Encrypted *bool `json:"encrypted,omitempty"`
|
||||||
|
// Filesystem is the type of filesystem to create on the device
|
||||||
|
Filesystem *InstanceGroupVolumeFilesystemSpec `json:"filesystem,omitempty"`
|
||||||
|
// Iops is the provision iops for this iops (think io1 in aws)
|
||||||
|
Iops *int64 `json:"iops,omitempty"`
|
||||||
|
// Size is the size of the volume in GB
|
||||||
|
Size *int64 `json:"size,omitempty"`
|
||||||
|
// Type is the type of volume to create and is cloud specific
|
||||||
|
Type *string `json:"type,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstanceGroupVolumeFilesystemSpec defines a specification for creating a filesystem
|
||||||
|
type InstanceGroupVolumeFilesystemSpec struct {
|
||||||
|
// Ext4 is the specification for a ext4 filesystem
|
||||||
|
Ext4 *Ext4FileSystemSpec `json:"ext4,omitempty"`
|
||||||
|
// Path is the location to mount the volume
|
||||||
|
Path string `json:"mountPath,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ext4FileSystemSpec defines a specification for a ext4 filesystem on a instancegroup volume
|
||||||
|
type Ext4FileSystemSpec struct{}
|
||||||
|
|
||||||
// IAMProfileSpec is the AWS IAM Profile to attach to instances in this instance
|
// IAMProfileSpec is the AWS IAM Profile to attach to instances in this instance
|
||||||
// group. Specify the ARN for the IAM instance profile (AWS only).
|
// group. Specify the ARN for the IAM instance profile (AWS only).
|
||||||
type IAMProfileSpec struct {
|
type IAMProfileSpec struct {
|
||||||
|
|
|
@ -1083,6 +1083,22 @@ func (in *ExecContainerAction) DeepCopy() *ExecContainerAction {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopyInto(out *Ext4FileSystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ext4FileSystemSpec.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopy() *Ext4FileSystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Ext4FileSystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -1339,6 +1355,18 @@ func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec) {
|
||||||
*out = new(bool)
|
*out = new(bool)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Volumes != nil {
|
||||||
|
in, out := &in.Volumes, &out.Volumes
|
||||||
|
*out = make([]*InstanceGroupVolumeSpec, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
if (*in)[i] == nil {
|
||||||
|
(*out)[i] = nil
|
||||||
|
} else {
|
||||||
|
(*out)[i] = new(InstanceGroupVolumeSpec)
|
||||||
|
(*in)[i].DeepCopyInto((*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if in.Subnets != nil {
|
if in.Subnets != nil {
|
||||||
in, out := &in.Subnets, &out.Subnets
|
in, out := &in.Subnets, &out.Subnets
|
||||||
*out = make([]string, len(*in))
|
*out = make([]string, len(*in))
|
||||||
|
@ -1447,6 +1475,101 @@ func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopyInto(out *InstanceGroupVolumeFilesystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.Ext4 != nil {
|
||||||
|
in, out := &in.Ext4, &out.Ext4
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(Ext4FileSystemSpec)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeFilesystemSpec.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopy() *InstanceGroupVolumeFilesystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopyInto(out *InstanceGroupVolumeSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.DeviceName != nil {
|
||||||
|
in, out := &in.DeviceName, &out.DeviceName
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Encrypted != nil {
|
||||||
|
in, out := &in.Encrypted, &out.Encrypted
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(bool)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Filesystem != nil {
|
||||||
|
in, out := &in.Filesystem, &out.Filesystem
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Iops != nil {
|
||||||
|
in, out := &in.Iops, &out.Iops
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Size != nil {
|
||||||
|
in, out := &in.Size, &out.Size
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Type != nil {
|
||||||
|
in, out := &in.Type, &out.Type
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeSpec.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopy() *InstanceGroupVolumeSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Keyset) DeepCopyInto(out *Keyset) {
|
func (in *Keyset) DeepCopyInto(out *Keyset) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
|
|
@ -1249,6 +1249,22 @@ func (in *ExecContainerAction) DeepCopy() *ExecContainerAction {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopyInto(out *Ext4FileSystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ext4FileSystemSpec.
|
||||||
|
func (in *Ext4FileSystemSpec) DeepCopy() *Ext4FileSystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Ext4FileSystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -1505,6 +1521,18 @@ func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec) {
|
||||||
*out = new(bool)
|
*out = new(bool)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Volumes != nil {
|
||||||
|
in, out := &in.Volumes, &out.Volumes
|
||||||
|
*out = make([]*InstanceGroupVolumeSpec, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
if (*in)[i] == nil {
|
||||||
|
(*out)[i] = nil
|
||||||
|
} else {
|
||||||
|
(*out)[i] = new(InstanceGroupVolumeSpec)
|
||||||
|
(*in)[i].DeepCopyInto((*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if in.Subnets != nil {
|
if in.Subnets != nil {
|
||||||
in, out := &in.Subnets, &out.Subnets
|
in, out := &in.Subnets, &out.Subnets
|
||||||
*out = make([]string, len(*in))
|
*out = make([]string, len(*in))
|
||||||
|
@ -1613,6 +1641,101 @@ func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopyInto(out *InstanceGroupVolumeFilesystemSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.Ext4 != nil {
|
||||||
|
in, out := &in.Ext4, &out.Ext4
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(Ext4FileSystemSpec)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeFilesystemSpec.
|
||||||
|
func (in *InstanceGroupVolumeFilesystemSpec) DeepCopy() *InstanceGroupVolumeFilesystemSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopyInto(out *InstanceGroupVolumeSpec) {
|
||||||
|
*out = *in
|
||||||
|
if in.DeviceName != nil {
|
||||||
|
in, out := &in.DeviceName, &out.DeviceName
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Encrypted != nil {
|
||||||
|
in, out := &in.Encrypted, &out.Encrypted
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(bool)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Filesystem != nil {
|
||||||
|
in, out := &in.Filesystem, &out.Filesystem
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(InstanceGroupVolumeFilesystemSpec)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Iops != nil {
|
||||||
|
in, out := &in.Iops, &out.Iops
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Size != nil {
|
||||||
|
in, out := &in.Size, &out.Size
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(int64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if in.Type != nil {
|
||||||
|
in, out := &in.Type, &out.Type
|
||||||
|
if *in == nil {
|
||||||
|
*out = nil
|
||||||
|
} else {
|
||||||
|
*out = new(string)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupVolumeSpec.
|
||||||
|
func (in *InstanceGroupVolumeSpec) DeepCopy() *InstanceGroupVolumeSpec {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InstanceGroupVolumeSpec)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Keyset) DeepCopyInto(out *Keyset) {
|
func (in *Keyset) DeepCopyInto(out *Keyset) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
|
Loading…
Reference in New Issue