Documentation
¶
Index ¶
- type AKSCloudSpec
- type AKSCluster
- type AKSClusterList
- type AKSClusterSpec
- type AKSLocation
- type AKSLocationList
- type AKSMachineDeploymentCloudSpec
- type AKSNetworkProfile
- type AKSNodePoolModes
- type AKSNodegroupScalingConfig
- type AKSVMSize
- type AKSVMSizeList
- type AgentPoolBasics
- type AgentPoolConfig
- type AgentPoolOptionalSettings
- type Alertmanager
- type AlertmanagerSpec
- type AllowedRegistry
- type ApplicationDefinition
- type ApplicationInstallation
- type ApplicationInstallationBody
- type ApplicationInstallationCondition
- type ApplicationInstallationStatus
- type BackupCredentials
- type BackupDestinationNames
- type BackupStatus
- type BringYourOwnSpec
- type CNIVersions
- type ClusterTemplate
- type ClusterTemplateInfo
- type ClusterTemplateInstance
- type ClusterTemplateList
- type ClusterTemplateNodeDeployment
- type ClusterTemplateSSHKey
- type Constraint
- type ConstraintStatus
- type ConstraintTemplate
- type EKSAMITypeList
- type EKSCapacityTypeList
- type EKSCloudSpec
- type EKSCluster
- type EKSClusterList
- type EKSClusterSpec
- type EKSInstanceType
- type EKSInstanceTypeList
- type EKSKubernetesNetworkConfigResponse
- type EKSMachineDeploymentCloudSpec
- type EKSNodegroupScalingConfig
- type EKSRegionList
- type EKSSecurityGroup
- type EKSSecurityGroupList
- type EKSSubnet
- type EKSSubnetList
- type EKSVPC
- type EKSVPCList
- type EtcdBackupConfig
- type EtcdBackupConfigCondition
- type EtcdBackupConfigSpec
- type EtcdBackupConfigStatus
- type EtcdRestore
- type EtcdRestoreSpec
- type EtcdRestoreStatus
- type ExternalCluster
- type ExternalClusterCloudSpec
- type ExternalClusterMDPhase
- type ExternalClusterMDState
- type ExternalClusterMachineDeployment
- type ExternalClusterMachineDeploymentCloudSpec
- type ExternalClusterNode
- type ExternalClusterSpec
- type ExternalClusterState
- type ExternalClusterStatus
- type FeatureGates
- type GKEAutoprovisioningNodePoolDefaults
- type GKECloudSpec
- type GKECluster
- type GKEClusterAutoscaling
- type GKEClusterList
- type GKEClusterSpec
- type GKEDiskType
- type GKEDiskTypeList
- type GKEImage
- type GKEImageList
- type GKEMachineDeploymentCloudSpec
- type GKENodeConfig
- type GKENodeManagement
- type GKENodePoolAutoscaling
- type GKEResourceLimit
- type GKEShieldedInstanceConfig
- type GKEUpgradeSettings
- type GKEZone
- type GKEZoneList
- type GVK
- type GatekeeperConfig
- type GatekeeperConfigSpec
- type GroupProjectBinding
- type IPAMPool
- type IPAMPoolDatacenterSettings
- type KubeOneAWSCloudSpec
- type KubeOneAzureCloudSpec
- type KubeOneCloudSpec
- type KubeOneDigitalOceanCloudSpec
- type KubeOneEquinixCloudSpec
- type KubeOneGCPCloudSpec
- type KubeOneHetznerCloudSpec
- type KubeOneNutanixCloudSpec
- type KubeOneOpenStackCloudSpec
- type KubeOneSSHKey
- type KubeOneSpec
- type KubeOneVMwareCloudDirectorCloudSpec
- type KubeOneVSphereCloudSpec
- type MLA
- type MLAAdminSetting
- type MatchEntry
- type NetworkDefaults
- type NetworkDefaultsIPFamily
- type OIDCSpec
- type OpenstackSubnetPool
- type OperatingSystemProfile
- type Preset
- type PresetBody
- type PresetBodyMetadata
- type PresetList
- type PresetProvider
- type PresetStats
- type Quota
- type ReadinessSpec
- type ResourceQuota
- type ResourceQuotaStatus
- type RuleGroup
- type S3BackupCredentials
- type SeedSettings
- type StorageClass
- type StorageClassList
- type Sync
- type Trace
- type Validation
- type Violation
- type VirtualMachineInstancePreset
- type VirtualMachineInstancePresetList
- type VpcConfigRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AKSCloudSpec ¶ added in v2.19.0
type AKSCloudSpec struct { Name string `json:"name"` TenantID string `json:"tenantID,omitempty" required:"true"` SubscriptionID string `json:"subscriptionID,omitempty" required:"true"` ClientID string `json:"clientID,omitempty" required:"true"` ClientSecret string `json:"clientSecret,omitempty" required:"true"` ResourceGroup string `json:"resourceGroup" required:"true"` }
type AKSCluster ¶ added in v2.19.0
type AKSCluster struct { Name string `json:"name"` ResourceGroup string `json:"resourceGroup"` IsImported bool `json:"imported"` }
AKSCluster represents a object of AKS cluster. swagger:model AKSCluster
type AKSClusterList ¶ added in v2.19.0
type AKSClusterList []AKSCluster
AKSClusterList represents an list of AKS clusters. swagger:model AKSClusterList
type AKSClusterSpec ¶ added in v2.21.0
type AKSClusterSpec struct { // Location - Resource location Location string `json:"location" required:"true"` // The timestamp of resource creation (UTC). CreatedAt *time.Time `json:"createdAt,omitempty"` // The identity that created the resource. CreatedBy *string `json:"createdBy,omitempty"` // KubernetesVersion - When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. KubernetesVersion string `json:"kubernetesVersion"` // EnableRBAC - Whether Kubernetes Role-Based Access Control Enabled. EnableRBAC bool `json:"enableRBAC,omitempty"` // DNSPrefix - This cannot be updated once the Managed Cluster has been created. DNSPrefix string `json:"dnsPrefix,omitempty"` // FqdnSubdomain - This cannot be updated once the Managed Cluster has been created. FqdnSubdomain string `json:"fqdnSubdomain,omitempty"` // Fqdn - READ-ONLY; The FQDN of the master pool. Fqdn string `json:"fqdn,omitempty"` // PrivateFQDN - READ-ONLY; The FQDN of private cluster. PrivateFQDN string `json:"privateFQDN,omitempty"` // MachineDeploymentSpec - The agent pool properties. MachineDeploymentSpec *AKSMachineDeploymentCloudSpec `json:"machineDeploymentSpec,omitempty"` // NetworkProfile - The network configuration profile. NetworkProfile AKSNetworkProfile `json:"networkProfile,omitempty"` // Resource tags. Tags map[string]*string `json:"tags,omitempty"` }
AKSClusterSpec Azure Kubernetes Service cluster.
type AKSLocation ¶ added in v2.21.0
type AKSLocation struct { // The location name. Name string `json:"name,omitempty"` // READ-ONLY; The category of the region. RegionCategory string `json:"regionCategory,omitempty"` }
AKSLocation is the object representing Azure Location. swagger:model AKSLocation
type AKSLocationList ¶ added in v2.21.0
type AKSLocationList []AKSLocation
AKSLocationList represents a list of AKS Location object for node group. swagger:model AKSLocationList
type AKSMachineDeploymentCloudSpec ¶ added in v2.19.0
type AKSMachineDeploymentCloudSpec struct { // Name - Node pool name must contain only lowercase letters and numbers. For Linux node pools must be 12 or fewer characters. Name string `json:"name"` // BasicSettings - Settings for creating the AKS agentpool BasicSettings AgentPoolBasics `json:"basicSettings"` // OptionalSettings - Optional Settings for creating the AKS agentpool OptionalSettings AgentPoolOptionalSettings `json:"optionalSettings,omitempty"` // Configuration - Configuration of created AKS agentpool Configuration AgentPoolConfig `json:"configuration,omitempty"` }
type AKSNetworkProfile ¶ added in v2.21.0
type AKSNetworkProfile struct { // PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. PodCidr string `json:"podCidr,omitempty"` // ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. ServiceCidr string `json:"serviceCidr,omitempty"` // DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. DNSServiceIP string `json:"dnsServiceIP,omitempty"` // DockerBridgeCidr - A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. DockerBridgeCidr string `json:"dockerBridgeCidr,omitempty"` // NetworkPlugin - Network plugin used for building the Kubernetes network. Possible values include: 'Azure', 'Kubenet' NetworkPlugin string `json:"networkPlugin,omitempty"` // NetworkPolicy - Network policy used for building the Kubernetes network. Possible values include: 'Calico', 'Azure' NetworkPolicy string `json:"networkPolicy,omitempty"` // NetworkMode - This cannot be specified if networkPlugin is anything other than 'azure'. Possible values include: 'Transparent', 'Bridge' NetworkMode string `json:"networkMode,omitempty"` // OutboundType - This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). Possible values include: 'OutboundTypeLoadBalancer', 'OutboundTypeUserDefinedRouting', 'OutboundTypeManagedNATGateway', 'OutboundTypeUserAssignedNATGateway' OutboundType string `json:"outboundType,omitempty"` // LoadBalancerSku - The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. Possible values include: 'LoadBalancerSkuStandard', 'LoadBalancerSkuBasic' LoadBalancerSku string `json:"loadBalancerSku,omitempty"` }
AKS NetworkProfile profile of network configuration.
type AKSNodePoolModes ¶ added in v2.21.0
type AKSNodePoolModes []string
AKSNodePoolModes represents nodepool modes. swagger:model AKSNodePoolModes
type AKSNodegroupScalingConfig ¶ added in v2.21.0
type AKSVMSize ¶ added in v2.21.0
type AKSVMSize struct { Name string `json:"name,omitempty"` NumberOfCores int32 `json:"numberOfCores,omitempty"` NumberOfGPUs int32 `json:"numberOfGPUs,omitempty"` OsDiskSizeInMB int32 `json:"osDiskSizeInMB,omitempty"` ResourceDiskSizeInMB int32 `json:"resourceDiskSizeInMB,omitempty"` MemoryInMB int32 `json:"memoryInMB,omitempty"` MaxDataDiskCount int32 `json:"maxDataDiskCount,omitempty"` }
AKSVMSize is the object representing Azure VM sizes. swagger:model AKSVMSize
type AKSVMSizeList ¶ added in v2.21.0
type AKSVMSizeList []AKSVMSize
AKSVMSizeList represents an array of AKS VM sizes. swagger:model AKSVMSizeList
type AgentPoolBasics ¶ added in v2.19.0
type AgentPoolBasics struct { // Required: Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. Count int32 `json:"count" required:"true"` // Required: VMSize - VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions VMSize string `json:"vmSize" required:"true"` // Mode - Possible values include: 'System', 'User'. Mode string `json:"mode,omitempty"` // OrchestratorVersion - As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). OrchestratorVersion string `json:"orchestratorVersion,omitempty"` // AvailabilityZones - The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. AvailabilityZones []string `json:"availabilityZones,omitempty"` // EnableAutoScaling - Whether to enable auto-scaler EnableAutoScaling bool `json:"enableAutoScaling,omitempty"` // The scaling configuration details for the Auto Scaling group that is created // for your node group. ScalingConfig AKSNodegroupScalingConfig `json:"scalingConfig,omitempty"` // The OSDiskSize for Agent agentpool cannot be less than 30GB or larger than 2048GB. OsDiskSizeGB int32 `json:"osDiskSizeGB,omitempty"` }
type AgentPoolConfig ¶ added in v2.21.0
type AgentPoolConfig struct { // OsDiskType - Possible values include: 'Managed', 'Ephemeral' OsDiskType string `json:"osDiskType,omitempty"` // MaxPods - The maximum number of pods that can run on a node. MaxPods int32 `json:"maxPods,omitempty"` // OsType - Possible values include: 'Linux', 'Windows'. The default value is 'Linux'. // Windows node pools are not supported on kubenet clusters OsType string `json:"osType,omitempty"` // EnableNodePublicIP - Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. EnableNodePublicIP bool `json:"enableNodePublicIP,omitempty"` // MaxSurgeUpgradeSetting - This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurgeUpgradeSetting string `json:"maxSurge,omitempty"` // VnetSubnetID - If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} VnetSubnetID string `json:"vnetSubnetID,omitempty"` // PodSubnetID - If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} PodSubnetID string `json:"podSubnetID,omitempty"` }
type AgentPoolOptionalSettings ¶ added in v2.19.0
type AgentPoolOptionalSettings struct { // NodeLabels - The node labels to be persisted across all nodes in agent pool. NodeLabels map[string]*string `json:"nodeLabels,omitempty"` // NodeTaints - The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. // Placing custom taints on system pool is not supported(except 'CriticalAddonsOnly' taint or taint effect is 'PreferNoSchedule'). Please refer to https://aka.ms/aks/system-taints for detail NodeTaints []string `json:"nodeTaints,omitempty"` }
type Alertmanager ¶ added in v2.18.0
type Alertmanager struct {
Spec AlertmanagerSpec `json:"spec"`
}
Alertmanager represents an Alertmanager Configuration swagger:model Alertmanager
type AlertmanagerSpec ¶ added in v2.18.0
type AlertmanagerSpec struct { // Config contains the alertmanager configuration in YAML Config []byte `json:"config"` }
type AllowedRegistry ¶ added in v2.18.0
type AllowedRegistry struct { Name string `json:"name"` Spec kubermaticv1.AllowedRegistrySpec `json:"spec"` }
AllowedRegistry represents a object containing a allowed image registry prefix swagger:model AllowedRegistry
type ApplicationDefinition ¶ added in v2.21.0
type ApplicationDefinition struct { apiv1.ObjectMeta Spec *appskubermaticv1.ApplicationDefinitionSpec `json:"spec"` }
ApplicationDefinition is the object representing an ApplicationDefinition. swagger:model ApplicationDefinition
type ApplicationInstallation ¶ added in v2.21.0
type ApplicationInstallation struct { apiv1.ObjectMeta Namespace string `json:"namespace,omitempty"` Spec *appskubermaticv1.ApplicationInstallationSpec `json:"spec"` Status *ApplicationInstallationStatus `json:"status"` }
ApplicationInstallation is the object representing an ApplicationInstallation. swagger:model ApplicationInstallation
type ApplicationInstallationBody ¶ added in v2.21.0
type ApplicationInstallationBody struct { apiv1.ObjectMeta Namespace string `json:"namespace,omitempty"` Spec *appskubermaticv1.ApplicationInstallationSpec `json:"spec"` }
ApplicationInstallationBody is the object representing the POST/PUT payload of an ApplicationInstallation swagger:model ApplicationInstallationBody
type ApplicationInstallationCondition ¶ added in v2.21.0
type ApplicationInstallationCondition struct { // Type of ApplicationInstallation condition. Type appskubermaticv1.ApplicationInstallationConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. // +optional LastHeartbeatTime apiv1.Time `json:"lastHeartbeatTime,omitempty"` // Last time the condition transit from one status to another. // +optional LastTransitionTime apiv1.Time `json:"lastTransitionTime,omitempty"` // (brief) 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 ApplicationInstallationStatus ¶ added in v2.21.0
type ApplicationInstallationStatus struct { // Conditions contains conditions an installation is in, its primary use case is status signaling between controllers or between controllers and the API Conditions []ApplicationInstallationCondition `json:"conditions,omitempty"` // ApplicationVersion contains information installing / removing application ApplicationVersion *appskubermaticv1.ApplicationVersion `json:"applicationVersion,omitempty"` // Method used to install the application Method appskubermaticv1.TemplateMethod `json:"method"` }
ApplicationInstallationStatus is the object representing the status of an Application. swagger:model ApplicationInstallationStatus it is needed because metav1.Time used by appsv1 confuses swaggers with apiv1.Time.
type BackupCredentials ¶ added in v2.18.0
type BackupCredentials struct { // S3BackupCredentials holds credentials for a S3 client compatible backup destination S3BackupCredentials S3BackupCredentials `json:"s3,omitempty"` // Destination corresponds to the Seeds Seed.Spec.EtcdBackupRestore.Destinations, it defines for which destination // the backup credentials will be created. If set, it updates the credentials ref in the related Seed BackupDestination Destination string `json:"destination,omitempty"` }
BackupCredentials contains credentials for etcd backups swagger:model BackupCredentials
type BackupDestinationNames ¶ added in v2.19.0
type BackupDestinationNames []string
BackupDestinationNames represents an list of backup destination names. swagger:model BackupDestinationNames
type BackupStatus ¶ added in v2.18.0
type BackupStatus struct { // ScheduledTime will always be set when the BackupStatus is created, so it'll never be nil ScheduledTime *apiv1.Time `json:"scheduledTime,omitempty"` BackupName string `json:"backupName,omitempty"` JobName string `json:"jobName,omitempty"` BackupStartTime *apiv1.Time `json:"backupStartTime,omitempty"` BackupFinishedTime *apiv1.Time `json:"backupFinishedTime,omitempty"` BackupPhase kubermaticv1.BackupStatusPhase `json:"backupPhase,omitempty"` BackupMessage string `json:"backupMessage,omitempty"` DeleteJobName string `json:"deleteJobName,omitempty"` DeleteStartTime *apiv1.Time `json:"deleteStartTime,omitempty"` DeleteFinishedTime *apiv1.Time `json:"deleteFinishedTime,omitempty"` DeletePhase kubermaticv1.BackupStatusPhase `json:"deletePhase,omitempty"` DeleteMessage string `json:"deleteMessage,omitempty"` }
type BringYourOwnSpec ¶ added in v2.21.0
type BringYourOwnSpec struct{}
type CNIVersions ¶ added in v2.19.0
type CNIVersions struct { // CNIPluginType represents the type of the CNI Plugin CNIPluginType string `json:"cniPluginType"` // Versions represents the list of the CNI Plugin versions that are supported Versions []string `json:"versions"` }
CNIVersions is a list of versions for a CNI Plugin swagger:model CNIVersions
type ClusterTemplate ¶ added in v2.18.0
type ClusterTemplate struct { apiv1.ObjectMeta Name string `json:"name"` ID string `json:"id,omitempty"` ProjectID string `json:"projectID,omitempty"` User string `json:"user,omitempty"` Scope string `json:"scope"` UserSSHKeys []ClusterTemplateSSHKey `json:"userSshKeys,omitempty"` Cluster *ClusterTemplateInfo `json:"cluster,omitempty"` NodeDeployment *ClusterTemplateNodeDeployment `json:"nodeDeployment,omitempty"` Applications []apiv1.Application `json:"applications,omitempty"` }
ClusterTemplate represents a ClusterTemplate object swagger:model ClusterTemplate
type ClusterTemplateInfo ¶ added in v2.21.0
type ClusterTemplateInfo struct { Labels map[string]string `json:"labels,omitempty"` InheritedLabels map[string]string `json:"inheritedLabels,omitempty"` // indicates the preset name Credential string `json:"credential,omitempty"` Spec apiv1.ClusterSpec `json:"spec"` }
ClusterTemplateInfo represents a ClusterTemplateInfo object.
type ClusterTemplateInstance ¶ added in v2.18.0
type ClusterTemplateInstance struct { Name string `json:"name"` Spec kubermaticv1.ClusterTemplateInstanceSpec `json:"spec"` }
ClusterTemplateInstance represents a ClusterTemplateInstance object swagger:model ClusterTemplateInstance
type ClusterTemplateList ¶ added in v2.18.0
type ClusterTemplateList []ClusterTemplate
ClusterTemplateList represents a ClusterTemplate list swagger:model ClusterTemplateList
type ClusterTemplateNodeDeployment ¶ added in v2.21.0
type ClusterTemplateNodeDeployment struct {
Spec apiv1.NodeDeploymentSpec `json:"spec"`
}
type ClusterTemplateSSHKey ¶ added in v2.18.0
ClusterTemplateSSHKey represents SSH Key object for Cluster Template swagger:model ClusterTemplateSSHKey
type Constraint ¶
type Constraint struct { Name string `json:"name"` Labels map[string]string `json:"labels,omitempty"` Spec kubermaticv1.ConstraintSpec `json:"spec"` Status *ConstraintStatus `json:"status,omitempty"` }
Constraint represents a gatekeeper Constraint swagger:model Constraint
type ConstraintStatus ¶
type ConstraintStatus struct { Enforcement string `json:"enforcement,omitempty"` AuditTimestamp string `json:"auditTimestamp,omitempty"` Violations []Violation `json:"violations,omitempty"` Synced *bool `json:"synced,omitempty"` }
ConstraintStatus represents a constraint status which holds audit info.
type ConstraintTemplate ¶
type ConstraintTemplate struct { Name string `json:"name"` Spec kubermaticv1.ConstraintTemplateSpec `json:"spec"` Status constrainttemplatesv1.ConstraintTemplateStatus `json:"status"` }
ConstraintTemplate represents a gatekeeper ConstraintTemplate swagger:model ConstraintTemplate
type EKSAMITypeList ¶ added in v2.21.0
type EKSAMITypeList []string
EKSAMITypeList represents a list of EKS AMI Types for node group. swagger:model EKSAMITypeList
type EKSCapacityTypeList ¶ added in v2.21.0
type EKSCapacityTypeList []string
EKSCapacityTypeList represents a list of EKS Capacity Types for node group. swagger:model EKSCapacityTypeList
type EKSCloudSpec ¶ added in v2.19.0
type EKSCluster ¶ added in v2.19.0
type EKSCluster struct { Name string `json:"name"` Region string `json:"region"` IsImported bool `json:"imported"` }
EKSCluster represents a object of EKS cluster. swagger:model EKSCluster
type EKSClusterList ¶ added in v2.19.0
type EKSClusterList []EKSCluster
EKSClusterList represents a list of EKS clusters. swagger:model EKSClusterList
type EKSClusterSpec ¶ added in v2.21.0
type EKSClusterSpec struct { ResourcesVpcConfig VpcConfigRequest `json:"vpcConfigRequest" required:"true"` // The Kubernetes network configuration for the cluster. KubernetesNetworkConfig *EKSKubernetesNetworkConfigResponse `json:"kubernetesNetworkConfig,omitempty"` // The desired Kubernetes version for your cluster. If you don't specify a value // here, the latest version available in Amazon EKS is used. Version string `json:"version,omitempty"` // The Unix epoch timestamp in seconds for when the cluster was created. CreatedAt *time.Time `json:"createdAt,omitempty"` // The metadata that you apply to the cluster to assist with categorization // and organization. Each tag consists of a key and an optional value. You define // both. Cluster tags do not propagate to any other resources associated with // the cluster. Tags map[string]*string `json:"tags,omitempty"` // The Amazon Resource Name (ARN) of the IAM role that provides permissions // for the Kubernetes control plane to make calls to AWS API operations on your // behalf. For more information, see Amazon EKS Service IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) // in the Amazon EKS User Guide . // // RoleArn is a required field RoleArn string `json:"roleArn,omitempty" required:"true"` }
type EKSInstanceType ¶ added in v2.21.0
type EKSInstanceType struct { Name string `json:"name"` PrettyName string `json:"pretty_name,omitempty"` Memory float32 `json:"memory,omitempty"` VCPUs int `json:"vcpus,omitempty"` GPUs int `json:"gpus,omitempty"` }
EKSInstanceType is the object representing EKS nodegroup instancetype.. swagger:model EKSInstanceType
type EKSInstanceTypeList ¶ added in v2.21.0
type EKSInstanceTypeList []EKSInstanceType
EKSInstanceTypeList represents a list of EKS InstanceType object for node group. swagger:model EKSInstanceTypeList
type EKSKubernetesNetworkConfigResponse ¶ added in v2.21.0
type EKSKubernetesNetworkConfigResponse struct { // The IP family used to assign Kubernetes pod and service IP addresses. The // IP family is always ipv4, unless you have a 1.21 or later cluster running // version 1.10.1 or later of the Amazon VPC CNI add-on and specified ipv6 when // you created the cluster. IpFamily *string `json:"ipFamily,omitempty"` // The CIDR block that Kubernetes pod and service IP addresses are assigned // from. Kubernetes assigns addresses from an IPv4 CIDR block assigned to a // subnet that the node is in. If you didn't specify a CIDR block when you created // the cluster, then Kubernetes assigns addresses from either the 10.100.0.0/16 // or 172.20.0.0/16 CIDR blocks. If this was specified, then it was specified // when the cluster was created and it can't be changed. ServiceIpv4Cidr *string `json:"serviceIpv4Cidr,omitempty"` // The CIDR block that Kubernetes pod and service IP addresses are assigned // from if you created a 1.21 or later cluster with version 1.10.1 or later // of the Amazon VPC CNI add-on and specified ipv6 for ipFamily when you created // the cluster. Kubernetes assigns service addresses from the unique local address // range (fc00::/7) because you can't specify a custom IPv6 CIDR block when // you create the cluster. ServiceIpv6Cidr *string `json:"serviceIpv6Cidr,omitempty"` }
The Kubernetes network configuration for the cluster. The response contains a value for serviceIpv6Cidr or serviceIpv4Cidr, but not both.
type EKSMachineDeploymentCloudSpec ¶ added in v2.21.0
type EKSMachineDeploymentCloudSpec struct { // The Unix epoch timestamp in seconds for when the managed node group was created. CreatedAt time.Time `json:"createdAt,omitempty"` // The subnets to use for the Auto Scaling group that is created for your node // group. These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME // with a value of shared, where CLUSTER_NAME is replaced with the name of your // cluster. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) // in your launch template, or the node group deployment will fail. For more // information about using launch templates with Amazon EKS, see Launch template // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. // // Subnets is a required field Subnets []*string `json:"subnets" required:"true"` // The Amazon Resource Name (ARN) of the IAM role to associate with your node // group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs // on your behalf. Nodes receive permissions for these API calls through an // IAM instance profile and associated policies. Before you can launch nodes // and register them into a cluster, you must create an IAM role for those nodes // to use when they are launched. For more information, see Amazon EKS node // IAM role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) // in the Amazon EKS User Guide . If you specify launchTemplate, then don't // specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) // in your launch template, or the node group deployment will fail. For more // information about using launch templates with Amazon EKS, see Launch template // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. // // NodeRole is a required field NodeRole string `json:"nodeRole" required:"true"` // The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU // AMI type. Non-GPU instances should use the AL2_x86_64 AMI type. Arm instances // should use the AL2_ARM_64 AMI type. All types use the Amazon EKS optimized // Amazon Linux 2 AMI. If you specify launchTemplate, and your launch template // uses a custom AMI, then don't specify amiType, or the node group deployment // will fail. For more information about using launch templates with Amazon // EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. AmiType string `json:"amiType,omitempty"` // The capacity type for your node group. Possible values ON_DEMAND | SPOT CapacityType string `json:"capacityType,omitempty"` // The root device disk size (in GiB) for your node group instances. The default // disk size is 20 GiB. If you specify launchTemplate, then don't specify diskSize, // or the node group deployment will fail. For more information about using // launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. DiskSize int64 `json:"diskSize,omitempty"` // Specify the instance types for a node group. If you specify a GPU instance // type, be sure to specify AL2_x86_64_GPU with the amiType parameter. If you // specify launchTemplate, then you can specify zero or one instance type in // your launch template or you can specify 0-20 instance types for instanceTypes. // If however, you specify an instance type in your launch template and specify // any instanceTypes, the node group deployment will fail. If you don't specify // an instance type in a launch template or for instanceTypes, then t3.medium // is used, by default. If you specify Spot for capacityType, then we recommend // specifying multiple values for instanceTypes. For more information, see Managed // node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) // and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. InstanceTypes []*string `json:"instanceTypes,omitempty"` // The Kubernetes labels to be applied to the nodes in the node group when they // are created. Labels map[string]*string `json:"labels,omitempty"` // The metadata applied to the node group to assist with categorization and // organization. Each tag consists of a key and an optional value. You define // both. Node group tags do not propagate to any other resources associated // with the node group, such as the Amazon EC2 instances or subnets. Tags map[string]*string `json:"tags,omitempty"` // The scaling configuration details for the Auto Scaling group that is created // for your node group. ScalingConfig EKSNodegroupScalingConfig `json:"scalingConfig,omitempty"` // The Kubernetes version to use for your managed nodes. By default, the Kubernetes // version of the cluster is used, and this is the only accepted specified value. // If you specify launchTemplate, and your launch template uses a custom AMI, // then don't specify version, or the node group deployment will fail. For more // information about using launch templates with Amazon EKS, see Launch template // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) // in the Amazon EKS User Guide. Version string `json:"version,omitempty"` }
type EKSNodegroupScalingConfig ¶ added in v2.21.0
type EKSNodegroupScalingConfig struct { // The current number of nodes that the managed node group should maintain. DesiredSize int64 `json:"desiredSize,omitempty"` // The maximum number of nodes that the managed node group can scale out to. // For information about the maximum number that you can specify, see Amazon // EKS service quotas (https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html) // in the Amazon EKS User Guide. MaxSize int64 `json:"maxSize,omitempty"` // The minimum number of nodes that the managed node group can scale in to. // This number must be greater than zero. MinSize int64 `json:"minSize,omitempty"` }
type EKSRegionList ¶ added in v2.21.0
type EKSRegionList []string
EKSRegionList represents a list of EKS regions. swagger:model EKSRegionList
type EKSSecurityGroup ¶ added in v2.21.0
type EKSSecurityGroup struct { // The ID of the security group. GroupId string `json:"groupId"` // [VPC only] The ID of the VPC for the security group. VpcId string `json:"vpcId"` }
EKSSecurityGroup represents a object of EKS securityGroup. swagger:model EKSSecurityGroup
type EKSSecurityGroupList ¶ added in v2.21.0
type EKSSecurityGroupList []EKSSecurityGroup
EKSSecurityGroupList represents an array of EKS securityGroup. swagger:model EKSSecurityGroupList
type EKSSubnet ¶ added in v2.21.0
type EKSSubnet struct { // The Availability Zone of the subnet. AvailabilityZone string `json:"availabilityZone"` // The ID of the subnet. SubnetId string `json:"subnetId"` // The ID of the VPC the subnet is in. VpcId string `json:"vpcId"` }
EKSSubnet represents a object of EKS subnet. swagger:model EKSSubnet
type EKSSubnetList ¶ added in v2.21.0
type EKSSubnetList []EKSSubnet
EKSSubnetList represents an array of EKS subnet. swagger:model EKSSubnetList
type EKSVPCList ¶ added in v2.21.0
type EKSVPCList []EKSVPC
EKSVPCList represents an array of EKS VPC. swagger:model EKSVPCList
type EtcdBackupConfig ¶ added in v2.18.0
type EtcdBackupConfig struct { apiv1.ObjectMeta Spec EtcdBackupConfigSpec `json:"spec"` Status EtcdBackupConfigStatus `json:"status"` }
EtcdBackupConfig represents an object holding the configuration for etcd backups swagger:model EtcdBackupConfig
type EtcdBackupConfigCondition ¶ added in v2.18.0
type EtcdBackupConfigCondition struct { // Type of EtcdBackupConfig condition. Type kubermaticv1.EtcdBackupConfigConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. // +optional LastHeartbeatTime apiv1.Time `json:"lastHeartbeatTime,omitempty"` // Last time the condition transit from one status to another. // +optional LastTransitionTime apiv1.Time `json:"lastTransitionTime,omitempty"` // (brief) reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
type EtcdBackupConfigSpec ¶ added in v2.18.0
type EtcdBackupConfigSpec struct { // ClusterID is the id of the cluster which will be backed up ClusterID string `json:"clusterId"` // Schedule is a cron expression defining when to perform // the backup. If not set, the backup is performed exactly // once, immediately. Schedule string `json:"schedule,omitempty"` // Keep is the number of backups to keep around before deleting the oldest one // If not set, defaults to DefaultKeptBackupsCount. Only used if Schedule is set. Keep *int `json:"keep,omitempty"` // Destination indicates where the backup will be stored. The destination name should correspond to a destination in // the cluster's Seed.Spec.EtcdBackupRestore. Destination string `json:"destination,omitempty"` }
EtcdBackupConfigSpec represents an object holding the etcd backup configuration specification swagger:model EtcdBackupConfigSpec
type EtcdBackupConfigStatus ¶ added in v2.18.0
type EtcdBackupConfigStatus struct { // CurrentBackups tracks the creation and deletion progress if all backups managed by the EtcdBackupConfig CurrentBackups []BackupStatus `json:"lastBackups,omitempty"` // Conditions contains conditions of the EtcdBackupConfig Conditions []EtcdBackupConfigCondition `json:"conditions,omitempty"` // If the controller was configured with a cleanupContainer, CleanupRunning keeps track of the corresponding job CleanupRunning bool `json:"cleanupRunning,omitempty"` }
type EtcdRestore ¶ added in v2.18.0
type EtcdRestore struct { apiv1.ObjectMeta Name string `json:"name"` Spec EtcdRestoreSpec `json:"spec"` Status EtcdRestoreStatus `json:"status"` }
EtcdRestore represents an object holding the configuration for etcd backup restore swagger:model EtcdRestore
type EtcdRestoreSpec ¶ added in v2.18.0
type EtcdRestoreSpec struct { // ClusterID is the id of the cluster which will be restored from the backup ClusterID string `json:"clusterId"` // BackupName is the name of the backup to restore from BackupName string `json:"backupName"` // BackupDownloadCredentialsSecret is the name of a secret in the cluster-xxx namespace containing // credentials needed to download the backup BackupDownloadCredentialsSecret string `json:"backupDownloadCredentialsSecret,omitempty"` // Destination indicates where the backup was stored. The destination name should correspond to a destination in // the cluster's Seed.Spec.EtcdBackupRestore. Destination string `json:"destination,omitempty"` }
EtcdRestoreSpec represents an object holding the etcd backup restore configuration specification swagger:model EtcdRestoreSpec
type EtcdRestoreStatus ¶ added in v2.18.0
type EtcdRestoreStatus struct { Phase kubermaticv1.EtcdRestorePhase `json:"phase"` RestoreTime *apiv1.Time `json:"restoreTime,omitempty"` }
type ExternalCluster ¶ added in v2.19.0
type ExternalCluster struct { apiv1.ObjectMeta `json:",inline"` Labels map[string]string `json:"labels,omitempty"` Spec ExternalClusterSpec `json:"spec,omitempty"` Cloud *ExternalClusterCloudSpec `json:"cloud,omitempty"` Status ExternalClusterStatus `json:"status"` }
ExternalCluster represents an object holding cluster details swagger:model ExternalCluster
type ExternalClusterCloudSpec ¶ added in v2.19.0
type ExternalClusterCloudSpec struct { GKE *GKECloudSpec `json:"gke,omitempty"` EKS *EKSCloudSpec `json:"eks,omitempty"` AKS *AKSCloudSpec `json:"aks,omitempty"` KubeOne *KubeOneSpec `json:"kubeOne,omitempty"` BringYourOwn *BringYourOwnSpec `json:"bringYourOwn,omitempty"` }
ExternalClusterCloudSpec represents an object holding cluster cloud details swagger:model ExternalClusterCloudSpec
type ExternalClusterMDPhase ¶ added in v2.21.0
type ExternalClusterMDPhase struct { State ExternalClusterMDState `json:"state"` StatusMessage string `json:"statusMessage,omitempty"` }
ExternalClusterMDPhase defines the external cluster machinedeployment phase.
type ExternalClusterMDState ¶ added in v2.21.0
type ExternalClusterMDState string
const ( // ProvisioningExternalClusterMDState state indicates the cluster machine dedeployment is being created. ProvisioningExternalClusterMDState ExternalClusterMDState = "Provisioning" // RunningExternalClusterMDState state indicates the cluster machine dedeployment has been created and is fully usable. RunningExternalClusterMDState ExternalClusterMDState = "Running" // ReconcilingExternalClusterMDState state indicates that some work is actively being done on the machine dedeployment, such as upgrading the master or // node software. Details can be found in the `StatusMessage` field. ReconcilingExternalClusterMDState ExternalClusterMDState = "Reconciling" // DeletingExternalClusterMDState state indicates the machine dedeployment is being deleted. DeletingExternalClusterMDState ExternalClusterMDState = "Deleting" // UnknownExternalClusterMDState indicates undefined state. UnknownExternalClusterMDState ExternalClusterMDState = "Unknown" // ErrorExternalClusterMDState state indicates the machine dedeployment is unusable. It will be automatically deleted. Details can be found in the // `statusMessage` field. ErrorExternalClusterMDState ExternalClusterMDState = "Error" )
type ExternalClusterMachineDeployment ¶ added in v2.19.0
type ExternalClusterMachineDeployment struct { apiv1.NodeDeployment `json:",inline"` Cloud *ExternalClusterMachineDeploymentCloudSpec `json:"cloud,omitempty"` Phase ExternalClusterMDPhase `json:"phase"` }
ExternalClusterMachineDeployment represents an object holding external cluster machine deployment swagger:model ExternalClusterMachineDeployment
type ExternalClusterMachineDeploymentCloudSpec ¶ added in v2.19.0
type ExternalClusterMachineDeploymentCloudSpec struct { GKE *GKEMachineDeploymentCloudSpec `json:"gke,omitempty"` AKS *AKSMachineDeploymentCloudSpec `json:"aks,omitempty"` EKS *EKSMachineDeploymentCloudSpec `json:"eks,omitempty"` }
ExternalClusterMachineDeploymentCloudSpec represents an object holding machine deployment cloud details. swagger:model ExternalClusterMachineDeploymentCloudSpec
type ExternalClusterNode ¶ added in v2.19.0
ExternalClusterNode represents an object holding external cluster node swagger:model ExternalClusterNode
type ExternalClusterSpec ¶ added in v2.19.0
type ExternalClusterSpec struct { // Version desired version of the kubernetes master components Version ksemver.Semver `json:"version,omitempty"` GKEClusterSpec *GKEClusterSpec `json:"gkeclusterSpec,omitempty"` EKSClusterSpec *EKSClusterSpec `json:"eksclusterSpec,omitempty"` AKSClusterSpec *AKSClusterSpec `json:"aksclusterSpec,omitempty"` }
ExternalClusterSpec defines the external cluster specification.
type ExternalClusterState ¶ added in v2.19.0
type ExternalClusterState string
const ( // ProvisioningExternalClusterState state indicates the cluster is being created. ProvisioningExternalClusterState ExternalClusterState = "Provisioning" // StoppedExternalClusterState state indicates the cluster is stopped, this state is specific to AKS clusters. StoppedExternalClusterState ExternalClusterState = "Stopped" // StoppingExternalClusterState state indicates the cluster is stopping, this state is specific to AKS clusters. StoppingExternalClusterState ExternalClusterState = "Stopping" // RunningExternalClusterState state indicates the cluster has been created and is fully usable. RunningExternalClusterState ExternalClusterState = "Running" // ReconcilingExternalClusterState state indicates that some work is actively being done on the cluster, such as upgrading the master or // node software. Details can be found in the `StatusMessage` field. ReconcilingExternalClusterState ExternalClusterState = "Reconciling" // DeletingExternalClusterState state indicates the cluster is being deleted. DeletingExternalClusterState ExternalClusterState = "Deleting" // UnknownExternalClusterState indicates undefined state. UnknownExternalClusterState ExternalClusterState = "Unknown" // ErrorExternalClusterState state indicates the cluster is unusable. It will be automatically deleted. Details can be found in the // `statusMessage` field. ErrorExternalClusterState ExternalClusterState = "Error" )
type ExternalClusterStatus ¶ added in v2.19.0
type ExternalClusterStatus struct { State ExternalClusterState `json:"state"` StatusMessage string `json:"statusMessage,omitempty"` }
ExternalClusterStatus defines the external cluster status.
type FeatureGates ¶ added in v2.19.0
type FeatureGates struct { KonnectivityService *bool `json:"konnectivityService,omitempty"` OIDCKubeCfgEndpoint *bool `json:"oidcKubeCfgEndpoint,omitempty"` OperatingSystemManager *bool `json:"operatingSystemManager,omitempty"` }
FeatureGates represents an object holding feature gate settings swagger:model FeatureGates
type GKEAutoprovisioningNodePoolDefaults ¶ added in v2.19.0
type GKEAutoprovisioningNodePoolDefaults struct { // BootDiskKmsKey: The Customer Managed Encryption Key used to encrypt // the boot disk attached to each node in the node pool. This should be // of the form // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cr // yptoKeys/[KEY_NAME]. For more information about protecting resources // with Cloud KMS Keys please see: // https://cloud.google.com/compute/docs/disks/customer-managed-encryption BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"` // DiskSizeGb: Size of the disk attached to each node, specified in GB. // The smallest allowed disk size is 10GB. If unspecified, the default // disk size is 100GB. DiskSizeGb int64 `json:"diskSizeGb,omitempty"` // DiskType: Type of the disk attached to each node (e.g. 'pd-standard', // 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is // 'pd-standard' DiskType string `json:"diskType,omitempty"` // Management: Specifies the node management options for NAP created // node-pools. Management *GKENodeManagement `json:"management,omitempty"` // MinCpuPlatform: Minimum CPU platform to be used for NAP created node // pools. The instance may be scheduled on the specified or newer CPU // platform. Applicable values are the friendly names of CPU platforms, // such as minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy // Bridge. For more information, read how to specify min CPU platform // (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) // To unset the min cpu platform field pass "automatic" as field value. MinCpuPlatform string `json:"minCpuPlatform,omitempty"` // OauthScopes: Scopes that are used by NAP when creating node pools. OauthScopes []string `json:"oauthScopes,omitempty"` // ServiceAccount: The Google Cloud Platform Service Account to be used // by the node VMs. ServiceAccount string `json:"serviceAccount,omitempty"` // ShieldedInstanceConfig: Shielded Instance options. ShieldedInstanceConfig *GKEShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"` // UpgradeSettings: Specifies the upgrade settings for NAP created node // pools UpgradeSettings *GKEUpgradeSettings `json:"upgradeSettings,omitempty"` }
GKEAutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.
type GKECloudSpec ¶ added in v2.19.0
type GKECluster ¶ added in v2.19.0
type GKECluster struct { Name string `json:"name"` IsImported bool `json:"imported"` Zone string `json:"zone"` }
GKECluster represents a object of GKE cluster. swagger:model GKECluster
type GKEClusterAutoscaling ¶ added in v2.19.0
type GKEClusterAutoscaling struct { // AutoprovisioningLocations: The list of Google Compute Engine zones // (https://cloud.google.com/compute/docs/zones#available) in which the // NodePool's nodes can be created by NAP. AutoprovisioningLocations []string `json:"autoprovisioningLocations,omitempty"` // AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults // contains defaults for a node pool created by NAP. AutoprovisioningNodePoolDefaults *GKEAutoprovisioningNodePoolDefaults `json:"autoprovisioningNodePoolDefaults,omitempty"` // EnableNodeAutoprovisioning: Enables automatic node pool creation and // deletion. EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"` // ResourceLimits: Contains global constraints regarding minimum and // maximum amount of resources in the cluster. ResourceLimits []*GKEResourceLimit `json:"resourceLimits,omitempty"` }
GKEClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.
type GKEClusterList ¶ added in v2.19.0
type GKEClusterList []GKECluster
GKEClusterList represents an array of GKE clusters. swagger:model GKEClusterList
type GKEClusterSpec ¶ added in v2.19.0
type GKEClusterSpec struct { // Autopilot: Autopilot configuration for the cluster. Autopilot bool `json:"autopilot,omitempty"` // CreateTime: [Output only] The time the cluster was created, in // RFC3339 (https://www.ietf.org/rfc/rfc3339.txt) text format. CreateTime string `json:"createTime,omitempty"` // ReleaseChannel: channel specifies which release channel the cluster is // subscribed to. // // Possible values: // "UNSPECIFIED" - No channel specified. // "RAPID" - RAPID channel is offered on an early access basis for // customers who want to test new releases. WARNING: Versions available // in the RAPID Channel may be subject to unresolved issues with no // known workaround and are not subject to any SLAs. // "REGULAR" - Clusters subscribed to REGULAR receive versions that // are considered GA quality. REGULAR is intended for production users // who want to take advantage of new features. // "STABLE" - Clusters subscribed to STABLE receive versions that are // known to be stable and reliable in production. ReleaseChannel string `json:"releaseChannel,omitempty"` // GKEClusterAutoscaling: Cluster-level autoscaling configuration. Autoscaling *GKEClusterAutoscaling `json:"autoscaling,omitempty"` // ClusterIpv4Cidr: The IP address range of the container pods in this // cluster, in CIDR // (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) // notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically // chosen or specify a `/14` block in `10.0.0.0/8`. ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"` // DefaultMaxPodsConstraint: The default constraint on the maximum // number of pods that can be run simultaneously on a node in the node // pool of this cluster. Only honored if cluster created with IP Alias // support. DefaultMaxPodsConstraint *int64 `json:"defaultMaxPodsConstraint,omitempty"` // EnableKubernetesAlpha: Kubernetes alpha features are enabled on this // cluster. This includes alpha API groups (e.g. v1alpha1) and features // that may not be production ready in the kubernetes version of the // master and nodes. The cluster has no SLA for uptime and master/node // upgrades are disabled. Alpha enabled clusters are automatically // deleted thirty days after creation. EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"` // EnableTpu: Enable the ability to use Cloud TPUs in this cluster. EnableTpu bool `json:"enableTpu,omitempty"` // InitialClusterVersion: The initial Kubernetes version for this // cluster. Valid versions are those found in validMasterVersions // returned by getServerConfig. The version can be upgraded over time; // such upgrades are reflected in currentMasterVersion and // currentNodeVersion. Users may specify either explicit versions // offered by Kubernetes Engine or version aliases, which have the // following behavior: - "latest": picks the highest valid Kubernetes // version - "1.X": picks the highest valid patch+gke.N patch in the 1.X // version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y // version - "1.X.Y-gke.N": picks an explicit Kubernetes version - // "","-": picks the default Kubernetes version InitialClusterVersion string `json:"initialClusterVersion,omitempty"` // InitialNodeCount: The number of nodes to create in this cluster. You // must ensure that your Compute Engine resource quota // (https://cloud.google.com/compute/quotas) is sufficient for this // number of instances. You must also have available firewall and routes // quota. For requests, this field should only be used in lieu of a // "node_pool" object, since this configuration (along with the // "node_config") will be used to create a "NodePool" object with an // auto-generated name. Do not use this and a node_pool at the same // time. This field is deprecated, use node_pool.initial_node_count // instead. InitialNodeCount int64 `json:"initialNodeCount,omitempty"` // Locations: The list of Google Compute Engine zones // (https://cloud.google.com/compute/docs/zones#available) in which the // cluster's nodes should be located. This field provides a default // value if NodePool.Locations // (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) // are not specified during node pool creation. Warning: changing // cluster locations will update the NodePool.Locations // (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) // of all node pools and will result in nodes being added and/or // removed. Locations []string `json:"locations,omitempty"` // Network: The name of the Google Compute Engine network // (https://cloud.google.com/compute/docs/networks-and-firewalls#networks) // to which the cluster is connected. If left unspecified, the `default` // network will be used. Network string `json:"network,omitempty"` // NodeConfig: Parameters used in creating the cluster's nodes. For // requests, this field should only be used in lieu of a "node_pool" // object, since this configuration (along with the // "initial_node_count") will be used to create a "NodePool" object with // an auto-generated name. Do not use this and a node_pool at the same // time. For responses, this field will be populated with the node // configuration of the first node pool. (For configuration of each node // pool, see `node_pool.config`) If unspecified, the defaults are used. // This field is deprecated, use node_pool.config instead. NodeConfig *GKENodeConfig `json:"nodeConfig,omitempty"` // Subnetwork: The name of the Google Compute Engine subnetwork // (https://cloud.google.com/compute/docs/subnetworks) to which the // cluster is connected. Subnetwork string `json:"subnetwork,omitempty"` // TpuIpv4CidrBlock: [Output only] The IP address range of the Cloud // TPUs in this cluster, in CIDR // (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) // notation (e.g. `1.2.3.4/29`). TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"` // VerticalPodAutoscaling: Cluster-level Vertical Pod Autoscaling // configuration. VerticalPodAutoscaling bool `json:"verticalPodAutoscaling,omitempty"` }
GKEClusterSpec A Google Kubernetes Engine cluster.
type GKEDiskType ¶ added in v2.21.0
type GKEDiskType struct { // Name of the resource. Name string `json:"name"` // Description: An optional description of this resource. Description string `json:"description,omitempty"` // DefaultDiskSizeGb: Server-defined default disk size in GB. DefaultDiskSizeGb int64 `json:"defaultDiskSizeGb,omitempty"` // Kind: Type of the resource. Always compute#diskType for // disk types. Kind string `json:"kind,omitempty"` }
GKEDiskType represents a object of GKE disk type. swagger:model GKEDiskType
type GKEDiskTypeList ¶ added in v2.21.0
type GKEDiskTypeList []GKEDiskType
GKEDiskTypeList represents an array of GKE disk types. swagger:model GKEDiskTypeList
type GKEImageList ¶ added in v2.19.0
type GKEImageList []GKEImage
GKEImageList represents an array of GKE images. swagger:model GKEImageList
type GKEMachineDeploymentCloudSpec ¶ added in v2.19.0
type GKEMachineDeploymentCloudSpec struct { // Autoscaling: Autoscaler configuration for this NodePool. Autoscaler // is enabled only if a valid configuration is present. Autoscaling *GKENodePoolAutoscaling `json:"autoscaling,omitempty"` // Config: The node configuration of the pool. Config *GKENodeConfig `json:"config,omitempty"` // Management: NodeManagement configuration for this NodePool. Management *GKENodeManagement `json:"management,omitempty"` // Locations: The list of Google Compute Engine zones // (https://cloud.google.com/compute/docs/zones#available) in which the // NodePool's nodes should be located. If this value is unspecified // during node pool creation, the Cluster.Locations // (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) // value will be used, instead. Warning: changing node pool locations // will result in nodes being added and/or removed. Locations []string `json:"locations,omitempty"` }
GKEMachineDeploymentCloudSpec represents an object holding GKE machine deployment cloud details.
type GKENodeConfig ¶ added in v2.19.0
type GKENodeConfig struct { // DiskSizeGb: Size of the disk attached to each node, specified in GB. // The smallest allowed disk size is 10GB. If unspecified, the default // disk size is 100GB. DiskSizeGb int64 `json:"diskSizeGb,omitempty"` // DiskType: Type of the disk attached to each node (e.g. 'pd-standard', // 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is // 'pd-standard' DiskType string `json:"diskType,omitempty"` // ImageType: The image type to use for this node. Note that for a given // image type, the latest version of it will be used. ImageType string `json:"imageType,omitempty"` // LocalSsdCount: The number of local SSD disks to be attached to the // node. The limit for this value is dependent upon the maximum number // of disks available on a machine per zone. See: // https://cloud.google.com/compute/docs/disks/local-ssd for more // information. LocalSsdCount int64 `json:"localSsdCount,omitempty"` // MachineType: The name of a Google Compute Engine machine type // (https://cloud.google.com/compute/docs/machine-types) If unspecified, // the default machine type is `e2-medium`. MachineType string `json:"machineType,omitempty"` // Labels: The map of Kubernetes labels (key/value pairs) to be applied // to each node. These will added in addition to any default label(s) // that Kubernetes may apply to the node. In case of conflict in label // keys, the applied set may differ depending on the Kubernetes version // -- it's best to assume the behavior is undefined and conflicts should // be avoided. For more information, including usage and the valid // values, see: // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ Labels map[string]string `json:"labels,omitempty"` // Preemptible: Whether the nodes are created as preemptible VM // instances. See: // https://cloud.google.com/compute/docs/instances/preemptible for more // information about preemptible VM instances. Preemptible bool `json:"preemptible,omitempty"` }
GKENodeConfig Parameters that describe the nodes in a cluster.
type GKENodeManagement ¶ added in v2.19.0
type GKENodeManagement struct { // AutoRepair: A flag that specifies whether the node auto-repair is // enabled for the node pool. If enabled, the nodes in this node pool // will be monitored and, if they fail health checks too many times, an // automatic repair action will be triggered. AutoRepair bool `json:"autoRepair,omitempty"` // AutoUpgrade: A flag that specifies whether node auto-upgrade is // enabled for the node pool. If enabled, node auto-upgrade helps keep // the nodes in your node pool up to date with the latest release // version of Kubernetes. AutoUpgrade bool `json:"autoUpgrade,omitempty"` }
GKENodeManagement defines the set of node management services turned on for the node pool.
type GKENodePoolAutoscaling ¶ added in v2.19.0
type GKENodePoolAutoscaling struct { // Autoprovisioned: Can this node pool be deleted automatically. Autoprovisioned bool `json:"autoprovisioned,omitempty"` // Enabled: Is autoscaling enabled for this node pool. Enabled bool `json:"enabled,omitempty"` // MaxNodeCount: Maximum number of nodes in the NodePool. Must be >= // min_node_count. There has to enough quota to scale up the cluster. MaxNodeCount int64 `json:"maxNodeCount,omitempty"` // MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1 // and <= max_node_count. MinNodeCount int64 `json:"minNodeCount,omitempty"` }
GKENodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.
type GKEResourceLimit ¶ added in v2.19.0
type GKEResourceLimit struct { // Maximum: Maximum amount of the resource in the cluster. Maximum int64 `json:"maximum,omitempty,string"` // Minimum: Minimum amount of the resource in the cluster. Minimum int64 `json:"minimum,omitempty,string"` // ResourceType: Resource name "cpu", "memory" or gpu-specific string. ResourceType string `json:"resourceType,omitempty"` }
GKEResourceLimit Contains information about amount of some resource in the cluster. For memory, value should be in GB.
type GKEShieldedInstanceConfig ¶ added in v2.19.0
type GKEShieldedInstanceConfig struct { // EnableIntegrityMonitoring: Defines whether the instance has integrity // monitoring enabled. Enables monitoring and attestation of the boot // integrity of the instance. The attestation is performed against the // integrity policy baseline. This baseline is initially derived from // the implicitly trusted boot image when the instance is created. EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"` // EnableSecureBoot: Defines whether the instance has Secure Boot // enabled. Secure Boot helps ensure that the system only runs authentic // software by verifying the digital signature of all boot components, // and halting the boot process if signature verification fails. EnableSecureBoot bool `json:"enableSecureBoot,omitempty"` }
GKEShieldedInstanceConfig a set of Shielded Instance options.
type GKEUpgradeSettings ¶ added in v2.19.0
type GKEUpgradeSettings struct { // MaxSurge: The maximum number of nodes that can be created beyond the // current size of the node pool during the upgrade process. MaxSurge int64 `json:"maxSurge,omitempty"` // simultaneously unavailable during the upgrade process. A node is // considered available if its status is Ready. MaxUnavailable int64 `json:"maxUnavailable,omitempty"` }
GKEUpgradeSettings These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.
type GKEZoneList ¶ added in v2.19.0
type GKEZoneList []GKEZone
GKEZoneList represents an array of GKE zones. swagger:model GKEZoneList
type GVK ¶
type GVK struct { Group string `json:"group,omitempty"` Version string `json:"version,omitempty"` Kind string `json:"kind,omitempty"` }
GVK group version kind of a resource.
type GatekeeperConfig ¶
type GatekeeperConfig struct {
Spec GatekeeperConfigSpec `json:"spec"`
}
GatekeeperConfig represents a gatekeeper config swagger:model GatekeeperConfig
type GatekeeperConfigSpec ¶
type GatekeeperConfigSpec struct { // Configuration for syncing k8s objects Sync Sync `json:"sync,omitempty"` // Configuration for validation Validation Validation `json:"validation,omitempty"` // Configuration for namespace exclusion Match []MatchEntry `json:"match,omitempty"` // Configuration for readiness tracker Readiness ReadinessSpec `json:"readiness,omitempty"` }
type GroupProjectBinding ¶ added in v2.21.0
type GroupProjectBinding struct { Name string `json:"name"` Group string `json:"group"` ProjectID string `json:"projectID"` Role string `json:"role"` }
swagger:model GroupProjectBinding
type IPAMPool ¶ added in v2.21.0
type IPAMPool struct { Name string `json:"name"` Datacenters map[string]IPAMPoolDatacenterSettings `json:"datacenters"` }
swagger:model IPAMPool
type IPAMPoolDatacenterSettings ¶ added in v2.21.0
type IPAMPoolDatacenterSettings struct { Type kubermaticv1.IPAMPoolAllocationType `json:"type"` PoolCIDR kubermaticv1.SubnetCIDR `json:"poolCidr"` AllocationPrefix int `json:"allocationPrefix,omitempty"` AllocationRange int `json:"allocationRange,omitempty"` }
swagger:model IPAMPoolDatacenterSettings
type KubeOneAWSCloudSpec ¶ added in v2.21.0
type KubeOneAWSCloudSpec struct { AccessKeyID string `json:"accessKeyID"` SecretAccessKey string `json:"secretAccessKey"` }
KubeOneAWSCloudSpec specifies access data to Amazon Web Services.
type KubeOneAzureCloudSpec ¶ added in v2.21.0
type KubeOneAzureCloudSpec struct { TenantID string `json:"tenantID"` SubscriptionID string `json:"subscriptionID"` ClientID string `json:"clientID"` ClientSecret string `json:"clientSecret"` }
KubeOneAzureCloudSpec specifies access credentials to Azure cloud.
type KubeOneCloudSpec ¶ added in v2.21.0
type KubeOneCloudSpec struct { AWS *KubeOneAWSCloudSpec `json:"aws,omitempty"` GCP *KubeOneGCPCloudSpec `json:"gcp,omitempty"` Azure *KubeOneAzureCloudSpec `json:"azure,omitempty"` DigitalOcean *KubeOneDigitalOceanCloudSpec `json:"digitalocean,omitempty"` OpenStack *KubeOneOpenStackCloudSpec `json:"openstack,omitempty"` Equinix *KubeOneEquinixCloudSpec `json:"equinix,omitempty"` Hetzner *KubeOneHetznerCloudSpec `json:"hetzner,omitempty"` VSphere *KubeOneVSphereCloudSpec `json:"vsphere,omitempty"` VMwareCloudDirector *KubeOneVMwareCloudDirectorCloudSpec `json:"vmwareclouddirector,omitempty"` Nutanix *KubeOneNutanixCloudSpec `json:"nutanix,omitempty"` }
type KubeOneDigitalOceanCloudSpec ¶ added in v2.21.0
type KubeOneDigitalOceanCloudSpec struct { // Token is used to authenticate with the DigitalOcean API. Token string `json:"token"` }
KubeOneDigitalOceanCloudSpec specifies access data to DigitalOcean.
type KubeOneEquinixCloudSpec ¶ added in v2.21.0
type KubeOneEquinixCloudSpec struct { APIKey string `json:"apiKey"` ProjectID string `json:"projectID"` }
KubeOneEquinixCloudSpec specifies access data to a Equinix cloud.
type KubeOneGCPCloudSpec ¶ added in v2.21.0
type KubeOneGCPCloudSpec struct {
ServiceAccount string `json:"serviceAccount"`
}
KubeOneGCPCloudSpec specifies access data to GCP.
type KubeOneHetznerCloudSpec ¶ added in v2.21.0
type KubeOneHetznerCloudSpec struct { // Token is used to authenticate with the Hetzner cloud API. Token string `json:"token"` }
KubeOneHetznerCloudSpec specifies access data to hetzner cloud.
type KubeOneNutanixCloudSpec ¶ added in v2.21.0
type KubeOneNutanixCloudSpec struct { Username string `json:"username"` Password string `json:"password"` // Endpoint is the Nutanix API (Prism Central) endpoint Endpoint string `json:"endpoint"` // Port is the Nutanix API (Prism Central) port Port string `json:"port"` // PrismElementUsername to be used for the CSI driver PrismElementUsername string `json:"elementUsername"` // PrismElementPassword to be used for the CSI driver PrismElementPassword string `json:"elementPassword"` // PrismElementEndpoint to access Nutanix Prism Element for the CSI driver PrismElementEndpoint string `json:"elementEndpoint"` // ClusterName is the Nutanix cluster that this user cluster will be deployed to. // +optional ClusterName string `json:"clusterName,omitempty"` AllowInsecure bool `json:"allowInsecure,omitempty"` ProxyURL string `json:"proxyURL,omitempty"` }
KubeOneNutanixCloudSpec specifies the access data to Nutanix.
type KubeOneOpenStackCloudSpec ¶ added in v2.21.0
type KubeOneOpenStackCloudSpec struct { AuthURL string `json:"authURL"` Username string `json:"username"` Password string `json:"password"` // Project, formally known as tenant. Project string `json:"project"` // ProjectID, formally known as tenantID. ProjectID string `json:"projectID"` Domain string `json:"domain"` Region string `json:"region"` }
KubeOneOpenStackCloudSpec specifies access data to an OpenStack cloud.
type KubeOneSSHKey ¶ added in v2.21.0
type KubeOneSSHKey struct { // PrivateKey Base64 encoded privateKey PrivateKey string `json:"privateKey,omitempty"` Passphrase string `json:"passphrase,omitempty"` }
SSHKeySpec represents the details of a ssh key.
type KubeOneSpec ¶ added in v2.21.0
type KubeOneSpec struct { // Manifest Base64 encoded manifest Manifest string `json:"manifest,omitempty"` SSHKey KubeOneSSHKey `json:"sshKey,omitempty"` ContainerRuntime string `json:"containerRuntime,omitempty"` CloudSpec *KubeOneCloudSpec `json:"cloudSpec,omitempty"` }
type KubeOneVMwareCloudDirectorCloudSpec ¶ added in v2.21.0
type KubeOneVMwareCloudDirectorCloudSpec struct { URL string `json:"url"` Username string `json:"username"` Password string `json:"password"` Organization string `json:"organization"` VDC string `json:"vdc"` }
KubeOneVMwareCloudDirectorCloudSpec represents credentials for accessing VMWare Cloud Director.
type KubeOneVSphereCloudSpec ¶ added in v2.21.0
type KubeOneVSphereCloudSpec struct { Server string `json:"server"` Username string `json:"username"` Password string `json:"password"` }
KubeOneVSphereCloudSpec credentials represents a credential for accessing vSphere.
type MLA ¶ added in v2.18.0
type MLA struct { // whether the user cluster MLA (Monitoring, Logging & Alerting) stack is enabled in the seed UserClusterMLAEnabled bool `json:"user_cluster_mla_enabled"` }
type MLAAdminSetting ¶ added in v2.18.0
type MLAAdminSetting struct { // MonitoringRateLimits contains rate-limiting configuration for monitoring in the user cluster. MonitoringRateLimits *kubermaticv1.MonitoringRateLimitSettings `json:"monitoringRateLimits,omitempty"` // LoggingRateLimits contains rate-limiting configuration logging in the user cluster. LoggingRateLimits *kubermaticv1.LoggingRateLimitSettings `json:"loggingRateLimits,omitempty"` }
MLAAdminSetting represents an object holding admin setting options for user cluster MLA (Monitoring, Logging and Alerting). swagger:model MLAAdminSetting
type MatchEntry ¶
type NetworkDefaults ¶ added in v2.21.0
type NetworkDefaults struct { // IPv4 contains cluster network default settings for IPv4 network family. IPv4 *NetworkDefaultsIPFamily `json:"ipv4,omitempty"` // IPv6 contains cluster network default settings for IPv6 network family. IPv6 *NetworkDefaultsIPFamily `json:"ipv6,omitempty"` // ProxyMode defines the default kube-proxy mode ("ipvs" / "iptables" / "ebpf"). ProxyMode string `json:"proxyMode,omitempty"` // NodeLocalDNSCacheEnabled controls whether the NodeLocal DNS Cache feature is enabled. NodeLocalDNSCacheEnabled bool `json:"nodeLocalDNSCacheEnabled,omitempty"` }
NetworkDefaults contains cluster network default settings. swagger:model NetworkDefaults
type NetworkDefaultsIPFamily ¶ added in v2.21.0
type NetworkDefaultsIPFamily struct { // PodsCIDR contains the default network range from which POD networks are allocated. PodsCIDR string `json:"podsCidr,omitempty"` // ServicesCIDR contains the default network range from which service VIPs are allocated. ServicesCIDR string `json:"servicesCidr,omitempty"` // NodeCIDRMaskSize contains the default mask size used to address the nodes within provided Pods CIDR. NodeCIDRMaskSize int32 `json:"nodeCidrMaskSize,omitempty"` // NodePortsAllowedIPRange defines the default IP range from which access to NodePort services is allowed for applicable cloud providers. NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"` }
NetworkDefaultsIPFamily contains cluster network default settings for an IP family. swagger:model NetworkDefaultsIPFamily
type OIDCSpec ¶ added in v2.18.0
type OIDCSpec struct { IssuerURL string `json:"issuerUrl,omitempty"` ClientID string `json:"clientId,omitempty"` ClientSecret string `json:"clientSecret,omitempty"` }
OIDCSpec contains OIDC params that can be used to access user cluster. swagger:model OIDCSpec
type OpenstackSubnetPool ¶ added in v2.21.0
type OpenstackSubnetPool struct { // Id uniquely identifies the subnet pool ID string `json:"id"` // Name is the name of the subnet pool Name string `json:"name"` // IPversion is the IP protocol version (4 or 6) IPversion int `json:"ipVersion"` // IsDefault indicates if the subnetpool is default pool or not IsDefault bool `json:"isDefault"` // Prefixes is the list of subnet prefixes Prefixes []string `json:"prefixes"` }
OpenstackSubnetPool is the object representing a openstack subnet pool. swagger:model OpenstackSubnetPool
type OperatingSystemProfile ¶ added in v2.21.0
type OperatingSystemProfile struct { Name string `json:"name"` OperatingSystem string `json:"operatingSystem"` SupportedCloudProviders []string `json:"supportedCloudProviders,omitempty"` }
swagger:model OperatingSystemProfile
type Preset ¶
type Preset struct { Name string `json:"name"` Enabled bool `json:"enabled"` Providers []PresetProvider `json:"providers"` }
Preset represents a preset swagger:model Preset
type PresetBody ¶ added in v2.19.3
type PresetBody struct { PresetBodyMetadata `json:"metadata,omitempty"` Spec kubermaticv1.PresetSpec `json:"spec"` }
PresetBody represents the body of a created preset swagger:model PresetBody
type PresetBodyMetadata ¶ added in v2.19.3
type PresetBodyMetadata struct {
Name string `json:"name,omitempty"`
}
PresetBodyMetadata represents metadata within the body of a created preset swagger:model PresetBodyMetadata
type PresetList ¶
type PresetList struct {
Items []Preset `json:"items"`
}
PresetList represents a list of presets swagger:model PresetList
type PresetProvider ¶
type PresetProvider struct { Name kubermaticv1.ProviderType `json:"name"` Enabled bool `json:"enabled"` }
PresetProvider represents a preset provider swagger:model PresetProvider
type PresetStats ¶ added in v2.21.0
type PresetStats struct { AssociatedClusters int `json:"associatedClusters"` AssociatedClusterTemplates int `json:"associatedClusterTemplates"` }
PresetStats represents a preset statistics swagger:model PresetStats
type Quota ¶ added in v2.21.0
type Quota struct { // CPU holds the quantity of CPU. CPU *int64 `json:"cpu,omitempty"` // Memory represents the RAM amount. Denoted in GB, rounded to 2 decimal places. Memory *float64 `json:"memory,omitempty"` // Storage represents the disk size. Denoted in GB, rounded to 2 decimal places. Storage *float64 `json:"storage,omitempty"` }
swagger:model Quota
type ReadinessSpec ¶
type ReadinessSpec struct { // enables stats for gatekeeper audit StatsEnabled bool `json:"statsEnabled,omitempty"` }
type ResourceQuota ¶ added in v2.21.0
type ResourceQuota struct { Name string `json:"name"` SubjectName string `json:"subjectName"` SubjectKind string `json:"subjectKind"` // SubjectHumanReadableName contains the human-readable name for the subject(if applicable). Just filled as information in get/list. SubjectHumanReadableName string `json:"subjectHumanReadableName,omitempty"` Quota Quota `json:"quota"` Status ResourceQuotaStatus `json:"status"` }
swagger:model ResourceQuota
type ResourceQuotaStatus ¶ added in v2.21.0
type ResourceQuotaStatus struct { // GlobalUsage is holds the current usage of resources for all seeds. GlobalUsage Quota `json:"globalUsage,omitempty"` // LocalUsage is holds the current usage of resources for the local seed. LocalUsage Quota `json:"localUsage,omitempty"` }
swagger:model ResourceQuotaStatus
type RuleGroup ¶ added in v2.18.0
type RuleGroup struct { Name string `json:"name"` // IsDefault indicates whether the ruleGroup is default IsDefault bool `json:"isDefault,omitempty"` // contains the RuleGroup data. Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group Data []byte `json:"data"` // the type of this ruleGroup applies to. It can be `Metrics`. Type kubermaticv1.RuleGroupType `json:"type"` }
RuleGroup represents a rule group of recording and alerting rules. swagger:model RuleGroup
type S3BackupCredentials ¶ added in v2.18.0
type S3BackupCredentials struct { AccessKeyID string `json:"accessKeyId,omitempty"` SecretAccessKey string `json:"secretAccessKey,omitempty"` }
S3BackupCredentials contains credentials for S3 etcd backups swagger:model S3BackupCredentials
type SeedSettings ¶ added in v2.18.0
type SeedSettings struct { // the Seed level MLA (Monitoring, Logging, and Alerting) stack settings MLA MLA `json:"mla"` // the Seed level metering settings Metering kubermaticv1.MeteringConfiguration `json:"metering"` // the Seed level seed dns overwrite SeedDNSOverwrite string `json:"seedDNSOverwrite,omitempty"` }
SeedSettings represents settings for a Seed cluster swagger:model SeedSettings
type StorageClass ¶ added in v2.19.0
type StorageClass struct {
Name string `json:"name"`
}
StorageClass represents a Kubernetes StorageClass swagger:model StorageClass
type StorageClassList ¶ added in v2.19.0
type StorageClassList []StorageClass
StorageClassList represents a list of Kubernetes StorageClass. swagger:model StorageClassList
type Sync ¶
type Sync struct { // If non-empty, entries on this list will be replicated into OPA SyncOnly []GVK `json:"syncOnly,omitempty"` }
type Trace ¶
type Trace struct { // Only trace requests from the specified user User string `json:"user,omitempty"` // Only trace requests of the following GroupVersionKind Kind GVK `json:"kind,omitempty"` // Also dump the state of OPA with the trace. Set to `All` to dump everything. Dump string `json:"dump,omitempty"` }
type Validation ¶
type Validation struct { // List of requests to trace. Both "user" and "kinds" must be specified Traces []Trace `json:"traces,omitempty"` }
type Violation ¶
type Violation struct { EnforcementAction string `json:"enforcementAction,omitempty"` Kind string `json:"kind,omitempty"` Message string `json:"message,omitempty"` Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` }
Violation represents a gatekeeper constraint violation.
type VirtualMachineInstancePreset ¶ added in v2.19.0
type VirtualMachineInstancePreset struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` // Spec contains the kubevirtv1.VirtualMachineInstancePreset.Spec object marshalled Spec string `json:"spec,omitempty"` }
VirtualMachineInstancePreset represents a KubeVirt Virtual Machine Instance Preset swagger:model VirtualMachineInstancePreset
type VirtualMachineInstancePresetList ¶ added in v2.19.0
type VirtualMachineInstancePresetList []VirtualMachineInstancePreset
VirtualMachineInstancePresetList represents a list of VirtualMachineInstancePreset. swagger:model VirtualMachineInstancePresetList
type VpcConfigRequest ¶ added in v2.21.0
type VpcConfigRequest struct { // The VPC associated with your cluster. VpcId *string `json:"vpcId,omitempty"` // Specify one or more security groups for the cross-account elastic network // interfaces that Amazon EKS creates to use to allow communication between // your nodes and the Kubernetes control plane. // For more information, see Amazon EKS security group considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) // in the Amazon EKS User Guide . SecurityGroupIds []*string `json:"securityGroupIds" required:"true"` // Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account // elastic network interfaces in these subnets to allow communication between // your nodes and the Kubernetes control plane. SubnetIds []*string `json:"subnetIds" required:"true"` }