v1

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: May 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=aks.cattle.io

+k8s:deepcopy-gen=package +groupName=aks.cattle.io

+k8s:deepcopy-gen=package +groupName=aks.cattle.io

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var (
	AKSClusterConfigResourceName = "aksclusterconfigs"
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: aks.GroupName, Version: "v1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AKSClusterConfig

type AKSClusterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AKSClusterConfigSpec   `json:"spec"`
	Status AKSClusterConfigStatus `json:"status"`
}

func NewAKSClusterConfig

func NewAKSClusterConfig(namespace, name string, obj AKSClusterConfig) *AKSClusterConfig

func (*AKSClusterConfig) DeepCopy

func (in *AKSClusterConfig) DeepCopy() *AKSClusterConfig

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

func (*AKSClusterConfig) DeepCopyInto

func (in *AKSClusterConfig) DeepCopyInto(out *AKSClusterConfig)

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

func (*AKSClusterConfig) DeepCopyObject

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

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

type AKSClusterConfigList

type AKSClusterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []AKSClusterConfig `json:"items"`
}

AKSClusterConfigList is a list of AKSClusterConfig resources

func (*AKSClusterConfigList) DeepCopy

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

func (*AKSClusterConfigList) DeepCopyInto

func (in *AKSClusterConfigList) DeepCopyInto(out *AKSClusterConfigList)

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

func (*AKSClusterConfigList) DeepCopyObject

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

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

type AKSClusterConfigSpec

type AKSClusterConfigSpec struct {
	// Importer indicates that the cluster was imported.
	// +optional
	// +kubebuilder:default=false
	Imported bool `json:"imported" norman:"noupdate"`
	// Location specifies the region to create the private endpoint.
	ResourceLocation string `json:"resourceLocation" norman:"noupdate"`
	// ResourceGroup is the name of the Azure resource group for this AKS Cluster.
	// Immutable.
	ResourceGroup string `json:"resourceGroup" norman:"noupdate"`
	// AKS ClusterName allows you to specify the name of the AKS cluster in Azure.
	ClusterName string `json:"clusterName" norman:"noupdate"`
	// AzureCredentialSecret is the name of the secret containing the Azure credentials.
	AzureCredentialSecret string `json:"azureCredentialSecret"`
	// BaseURL is the Azure Resource Manager endpoint.
	// +optional
	BaseURL *string `json:"baseUrl" norman:"pointer"`
	// AuthBaseURL is the Azure Active Directory endpoint.
	// +optional
	AuthBaseURL *string `json:"authBaseUrl" norman:"pointer"`
	// NetworkPlugin used for building Kubernetes network.
	// Allowed values are "azure", "kubenet".
	// Immutable.
	// +kubebuilder:validation:Enum=azure;kubenet
	// +optional
	NetworkPlugin *string `json:"networkPlugin" norman:"pointer"`
	// VirualNetworkResourceGroup is the name of the Azure resource group for the VNet and Subnet.
	// +optional
	VirtualNetworkResourceGroup *string `json:"virtualNetworkResourceGroup" norman:"pointer"`
	// VirtualNetwork describes the vnet for the AKS cluster. Will be created if it does not exist.
	// +optional
	VirtualNetwork *string `json:"virtualNetwork" norman:"pointer"`
	// Subnet describes a subnet for an AKS cluster.
	Subnet *string `json:"subnet" norman:"pointer"`
	// NeworkDNSServiceIP is an IP address assigned to the Kubernetes DNS service.
	// It must be within the Kubernetes service address range specified in serviceCidr.
	// Immutable.
	// +optional
	NetworkDNSServiceIP *string `json:"dnsServiceIp" norman:"pointer"`
	// NetworkService CIDR is the network service cidr.
	NetworkServiceCIDR *string `json:"serviceCidr" norman:"pointer"`
	// NetworkDockerBridgeCIDR is the network docker bridge cidr.
	NetworkDockerBridgeCIDR *string `json:"dockerBridgeCidr" norman:"pointer"`
	// NetworkPodCIDR is the network pod cidr.
	NetworkPodCIDR *string `json:"podCidr" norman:"pointer"`
	// NodeResourceGroupName is the name of the resource group
	// containing cluster IaaS resources.
	// +optional
	NodeResourceGroup *string `json:"nodeResourceGroup,omitempty" norman:"pointer"`
	// Outbound configuration used by Nodes.
	// Immutable.
	// +kubebuilder:validation:Enum=loadBalancer;managedNATGateway;userAssignedNATGateway;userDefinedRouting
	// +optional
	OutboundType *string `json:"outboundType" norman:"pointer"`
	// LoadBalancerSKU is the SKU of the loadBalancer to be provisioned.
	// Immutable.
	// +kubebuilder:validation:Enum=Basic;Standard
	// +optional
	LoadBalancerSKU *string `json:"loadBalancerSku" norman:"pointer"`
	// NetworkPolicy used for building Kubernetes network.
	// Allowed values are "azure", "calico".
	// Immutable.
	// +kubebuilder:validation:Enum=azure;calico
	// +optional
	NetworkPolicy *string `json:"networkPolicy" norman:"pointer"`
	// LinuxAdminUsername is a string literal containing a linux admin username.
	// +optional
	LinuxAdminUsername *string `json:"linuxAdminUsername,omitempty" norman:"pointer"`
	// LinuxSSHPublicKey is a string literal containing a ssh public key.
	// +optional
	LinuxSSHPublicKey *string `json:"sshPublicKey,omitempty" norman:"pointer"`
	// DNSPrefix is the DNS prefix to use with hosted Kubernetes API server FQDN.
	DNSPrefix *string `json:"dnsPrefix,omitempty" norman:"pointer"`
	// Version defines the desired Kubernetes version.
	// +kubebuilder:validation:MinLength:=2
	KubernetesVersion *string `json:"kubernetesVersion" norman:"pointer"`
	// Tags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the
	// ones added by default.
	// +optional
	Tags map[string]string `json:"tags"`
	// NodePools is a list of node pools associated with the AKS cluster.
	NodePools []AKSNodePool `json:"nodePools"`
	// PrivateCluster - Whether to create the cluster as a private cluster or not.
	// +optional
	PrivateCluster *bool `json:"privateCluster"`
	// PrivateDNSZone - Private dns zone mode for private cluster.
	// +kubebuilder:validation:Enum=System;None
	// +optional
	PrivateDNSZone *string `json:"privateDnsZone" norman:"pointer"`
	// AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.
	// +optional
	AuthorizedIPRanges *[]string `json:"authorizedIpRanges" norman:"pointer"`
	// HTTPApplicationRouting is enabling add-on for the cluster.
	// Immutable.
	// +optional
	HTTPApplicationRouting *bool `json:"httpApplicationRouting"`
	// Monitoring is enabling add-on for the AKS cluster.
	Monitoring *bool `json:"monitoring"`
	// LogAnalyticsWorkspaceResourceGroup is the name of the resource group for the Log Analytics Workspace.
	// +optional
	LogAnalyticsWorkspaceGroup *string `json:"logAnalyticsWorkspaceGroup" norman:"pointer"`
	// LogAnalyticsWorkspaceName is the name of the Log Analytics Workspace.
	// +optional
	LogAnalyticsWorkspaceName *string `json:"logAnalyticsWorkspaceName" norman:"pointer"`
	// ManagedIdentity - Should a managed identity be enabled or not?
	ManagedIdentity *bool `json:"managedIdentity" norman:"pointer"`
	// UserAssignedIdentity - User assigned identity to be used for the cluster.
	UserAssignedIdentity *string `json:"userAssignedIdentity" norman:"pointer"`
}

AKSClusterConfigSpec is the spec for a AKSClusterConfig resource

func (*AKSClusterConfigSpec) DeepCopy

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

func (*AKSClusterConfigSpec) DeepCopyInto

func (in *AKSClusterConfigSpec) DeepCopyInto(out *AKSClusterConfigSpec)

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

type AKSClusterConfigStatus

type AKSClusterConfigStatus struct {
	Phase          string `json:"phase"`
	FailureMessage string `json:"failureMessage"`
	RBACEnabled    *bool  `json:"rbacEnabled"`
}

func (*AKSClusterConfigStatus) DeepCopy

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

func (*AKSClusterConfigStatus) DeepCopyInto

func (in *AKSClusterConfigStatus) DeepCopyInto(out *AKSClusterConfigStatus)

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

type AKSNodePool

type AKSNodePool struct {
	// Name is the name of the node pool.
	Name *string `json:"name,omitempty" norman:"pointer"`
	// NodeCount is the number of nodes in the node pool.
	Count *int32 `json:"count,omitempty"`
	// MaxPods is the maximum number of pods that can run on each node.
	MaxPods *int32 `json:"maxPods,omitempty"`
	// VMSize is the size of the Virtual Machine.
	VMSize string `json:"vmSize,omitempty"`
	// OsDiskSizeGB is the disk size of the OS disk in GB.
	// +kubebuilder:validation:Minimum=0
	OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"`
	// OSDiskType is the type of the OS disk.
	// +kubebuilder:validation:Enum=Standard_LRS;Premium_LRS;StandardSSD_LRS;UltraSSD_LRS
	OsDiskType string `json:"osDiskType,omitempty"`
	// Mode is the mode of the node pool.
	// +kubebuilder:validation:Enum=System;User
	Mode string `json:"mode,omitempty"`
	// OsType is the type of the OS.
	OsType string `json:"osType,omitempty"`
	// OrchestratorVersion is the version of the Kubernetes.
	// +kubebuilder:validation:MinLength:=2
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" norman:"pointer"`
	// AvailabilityZones is the list of availability zones.
	// +optional
	// +kubebuilder:validation:UniqueItems:=true
	AvailabilityZones *[]string `json:"availabilityZones,omitempty" norman:"pointer"`
	// MaxSurge is the maximum number of nodes that can be added to the node pool during an upgrade.
	// +optional
	MaxSurge *string `json:"maxSurge,omitempty"`
	// MaxCount is the maximum number of nodes in the node pool.
	// +kubebuilder:validation:Minimum=0
	MaxCount *int32 `json:"maxCount,omitempty"`
	// MinCount is the minimum number of nodes in the node pool.
	// +kubebuilder:validation:Minimum=0
	MinCount *int32 `json:"minCount,omitempty"`
	// EnableAutoScaling is whether to enable auto scaling or not.
	// +optional
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"`
	// VnetSubnetID is the ID of the subnet.
	VnetSubnetID *string `json:"vnetSubnetID,omitempty" norman:"pointer"`
	// NodeLabels is the list of node labels.
	// +optional
	NodeLabels map[string]*string `json:"nodeLabels,omitempty"`
	// NodeTaints is the list of node taints.
	// +kubebuilder:validation:UniqueItems:=true
	// +optional
	NodeTaints *[]string `json:"nodeTaints,omitempty"`
}

func (*AKSNodePool) DeepCopy

func (in *AKSNodePool) DeepCopy() *AKSNodePool

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

func (*AKSNodePool) DeepCopyInto

func (in *AKSNodePool) DeepCopyInto(out *AKSNodePool)

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

Jump to

Keyboard shortcuts

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