diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go index 42efc79db95..6cbb31e8c4c 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -7,7 +7,6 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Infrastructure holds cluster-wide information about Infrastructure. The canonical name is `cluster` -// TODO this object is an example of a possible grouping and is subject to change or removal type Infrastructure struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -19,39 +18,54 @@ type Infrastructure struct { Status InfrastructureStatus `json:"status"` } +// InfrastructureSpec contains settings that apply to the cluster infrastructure. type InfrastructureSpec struct { // secret reference? // configmap reference to file? } +// InfrastructureStatus describes the infrastructure the cluster is leveraging. type InfrastructureStatus struct { // platform is the underlying infrastructure provider for the cluster. This // value controls whether infrastructure automation such as service load // balancers, dynamic volume provisioning, machine creation and deletion, and // other integrations are enabled. If None, no infrastructure automation is - // enabled. + // enabled. Allowed values are "AWS", "Azure", "GCP", "Libvirt", + // "OpenStack", "VSphere", and "None". Individual components may not support + // all platforms, and must handle unrecognized platforms as None if they do + // not support that platform. Platform PlatformType `json:"platform,omitempty"` } -// platformType is a specific supported infrastructure provider. +// PlatformType is a specific supported infrastructure provider. type PlatformType string const ( - // awsPlatform represents Amazon AWS. + // AWSPlatform represents Amazon Web Services infrastructure. AWSPlatform PlatformType = "AWS" - // openStackPlatform represents OpenStack. - OpenStackPlatform PlatformType = "OpenStack" + // AzurePlatform represents Microsoft Azure infrastructure. + AzurePlatform PlatformType = "Azure" + + // GCPPlatform represents Google Cloud Platform infrastructure. + GCPPlatform PlatformType = "GCP" - // libvirtPlatform represents libvirt. + // LibvirtPlatform represents libvirt infrastructure. LibvirtPlatform PlatformType = "Libvirt" - // nonePlatform means there is no infrastructure provider. + // OpenStackPlatform represents OpenStack infrastructure. + OpenStackPlatform PlatformType = "OpenStack" + + // NonePlatform means there is no infrastructure provider. NonePlatform PlatformType = "None" + + // VSpherePlatform represents VMWare vSphere infrastructure. + VSpherePlatform PlatformType = "VSphere" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// InfrastructureList is type InfrastructureList struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go index 81428ba8592..1ff41b29ce8 100644 --- a/config/v1/zz_generated.swagger_doc_generated.go +++ b/config/v1/zz_generated.swagger_doc_generated.go @@ -608,6 +608,7 @@ func (Infrastructure) SwaggerDoc() map[string]string { } var map_InfrastructureList = map[string]string{ + "": "InfrastructureList is", "metadata": "Standard object's metadata.", } @@ -615,8 +616,17 @@ func (InfrastructureList) SwaggerDoc() map[string]string { return map_InfrastructureList } +var map_InfrastructureSpec = map[string]string{ + "": "InfrastructureSpec contains settings that apply to the cluster infrastructure.", +} + +func (InfrastructureSpec) SwaggerDoc() map[string]string { + return map_InfrastructureSpec +} + var map_InfrastructureStatus = map[string]string{ - "platform": "platform is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled.", + "": "InfrastructureStatus describes the infrastructure the cluster is leveraging.", + "platform": "platform is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", } func (InfrastructureStatus) SwaggerDoc() map[string]string {