diff --git a/go.mod b/go.mod index 9f114d02879..a950b98cd89 100644 --- a/go.mod +++ b/go.mod @@ -424,6 +424,7 @@ replace ( github.com/hashicorp/go-getter => github.com/hashicorp/go-getter v1.5.2 github.com/hashicorp/go-plugin => github.com/hashicorp/go-plugin v1.3.0 github.com/hashicorp/terraform-plugin-test/v2 => github.com/hashicorp/terraform-plugin-test/v2 v2.2.0 + github.com/openshift/api => github.com/yannickstruyf3/api v0.0.0-20211116212905-775f773bafe0 github.com/ulikunitz/xz => github.com/ulikunitz/xz v0.5.7 google.golang.org/api => google.golang.org/api v0.33.0 google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 diff --git a/go.sum b/go.sum index 09fc401e293..93fb13e070c 100644 --- a/go.sum +++ b/go.sum @@ -1982,6 +1982,8 @@ github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557/go.mod h1:ce1O1j6Ut github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca h1:1CFlNzQhALwjS9mBAUkycX616GzgsuYUOCHA5+HSlXI= github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yannickstruyf3/api v0.0.0-20211116212905-775f773bafe0 h1:MUJekji/a0ZuxM1ROmCz1sDgmH63ACvD7hE18S+1bp0= +github.com/yannickstruyf3/api v0.0.0-20211116212905-775f773bafe0/go.mod h1:RsQCVJu4qhUawxxDP7pGlwU3IA4F01wYm3qKEu29Su8= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml index 43549229033..03f4f443de1 100644 --- a/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml +++ b/vendor/github.com/openshift/api/config/v1/0000_10_config-operator_01_infrastructure.crd.yaml @@ -89,6 +89,9 @@ spec: kubevirt: description: Kubevirt contains settings specific to the kubevirt infrastructure provider. type: object + nutanix: + description: Nutanix contains settings specific to the Nutanix infrastructure provider. + type: object openstack: description: OpenStack contains settings specific to the OpenStack infrastructure provider. type: object @@ -99,7 +102,7 @@ spec: description: PowerVS contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider. type: object type: - description: type 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", "BareMetal", "GCP", "Libvirt", "OpenStack", "VSphere", "oVirt", "KubeVirt", "EquinixMetal", "PowerVS", "AlibabaCloud" and "None". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform. + description: type 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", "BareMetal", "GCP", "Libvirt", "OpenStack", "VSphere", "oVirt", "KubeVirt", "EquinixMetal", "PowerVS", "AlibabaCloud", "Nutanix" and "None". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform. type: string enum: - "" @@ -117,6 +120,7 @@ spec: - EquinixMetal - PowerVS - AlibabaCloud + - Nutanix vsphere: description: VSphere contains settings specific to the VSphere infrastructure provider. type: object @@ -170,6 +174,7 @@ spec: - EquinixMetal - PowerVS - AlibabaCloud + - Nutanix platformStatus: description: platformStatus holds status information specific to the underlying infrastructure provider. type: object @@ -340,6 +345,16 @@ spec: ingressIP: description: ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. type: string + nutanix: + description: Nutanix contains settings specific to the Nutanix infrastructure provider. + type: object + properties: + apiServerInternalIP: + description: apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers. + type: string + ingressIP: + description: ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names. + type: string openstack: description: OpenStack contains settings specific to the OpenStack infrastructure provider. type: object @@ -402,7 +417,7 @@ spec: description: 'zone holds the default zone for the new Power VS resources created by the cluster. Note: Currently only single-zone OCP clusters are supported' type: string type: - description: "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform. \n This value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set." + description: "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform. \n This value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set." type: string enum: - "" @@ -420,6 +435,7 @@ spec: - EquinixMetal - PowerVS - AlibabaCloud + - Nutanix vsphere: description: VSphere contains settings specific to the VSphere infrastructure provider. type: object diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 4863a98e70b..950f6af383a 100644 --- a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -124,7 +124,7 @@ const ( ) // PlatformType is a specific supported infrastructure provider. -// +kubebuilder:validation:Enum="";AWS;Azure;BareMetal;GCP;Libvirt;OpenStack;None;VSphere;oVirt;IBMCloud;KubeVirt;EquinixMetal;PowerVS;AlibabaCloud +// +kubebuilder:validation:Enum="";AWS;Azure;BareMetal;GCP;Libvirt;OpenStack;None;VSphere;oVirt;IBMCloud;KubeVirt;EquinixMetal;PowerVS;AlibabaCloud;Nutanix type PlatformType string const ( @@ -169,6 +169,9 @@ const ( // AlibabaCloudPlatformType represents Alibaba Cloud infrastructure. AlibabaCloudPlatformType PlatformType = "AlibabaCloud" + + // NutanixPlatformType represents Nutanix infrastructure. + NutanixPlatformType PlatformType = "Nutanix" ) // IBMCloudProviderType is a specific supported IBM Cloud provider cluster type @@ -192,7 +195,7 @@ type PlatformSpec struct { // other integrations are enabled. If None, no infrastructure automation is // enabled. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "Libvirt", // "OpenStack", "VSphere", "oVirt", "KubeVirt", "EquinixMetal", "PowerVS", - // "AlibabaCloud" and "None". Individual components may not support all platforms, + // "AlibabaCloud", "Nutanix" and "None". Individual components may not support all platforms, // and must handle unrecognized platforms as None if they do not support that platform. // // +unionDiscriminator @@ -245,6 +248,10 @@ type PlatformSpec struct { // AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. // +optional AlibabaCloud *AlibabaCloudPlatformSpec `json:"alibabaCloud,omitempty"` + + // Nutanix contains settings specific to the Nutanix infrastructure provider. + // +optional + Nutanix *NutanixPlatformSpec `json:"nutanix,omitempty"` } // PlatformStatus holds the current status specific to the underlying infrastructure provider @@ -256,7 +263,7 @@ type PlatformStatus struct { // 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", "BareMetal", "GCP", "Libvirt", - // "OpenStack", "VSphere", "oVirt", "EquinixMetal", "PowerVS", "AlibabaCloud" and "None". + // "OpenStack", "VSphere", "oVirt", "EquinixMetal", "PowerVS", "AlibabaCloud", "Nutanix" and "None". // Individual components may not support all platforms, and must handle // unrecognized platforms as None if they do not support that platform. // @@ -311,6 +318,10 @@ type PlatformStatus struct { // AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. // +optional AlibabaCloud *AlibabaCloudPlatformStatus `json:"alibabaCloud,omitempty"` + + // Nutanix contains settings specific to the Nutanix infrastructure provider. + // +optional + Nutanix *NutanixPlatformStatus `json:"nutanix,omitempty"` } // AWSServiceEndpoint store the configuration of a custom url to @@ -678,6 +689,23 @@ type AlibabaCloudResourceTag struct { Value string `json:"value"` } +// NutanixPlatformSpec holds the desired state of the Nutanix infrastructure provider. +// This only includes fields that can be modified in the cluster. +type NutanixPlatformSpec struct{} + +// NutanixPlatformStatus holds the current status of the Nutanix infrastructure provider. +type NutanixPlatformStatus struct { + // apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used + // by components inside the cluster, like kubelets using the infrastructure rather + // than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI + // points to. It is the IP for a self-hosted load balancer in front of the API servers. + APIServerInternalIP string `json:"apiServerInternalIP,omitempty"` + + // ingressIP is an external IP which routes to the default ingress controller. + // The IP is a suitable target of a wildcard DNS record used to resolve default route host names. + IngressIP string `json:"ingressIP,omitempty"` +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // InfrastructureList is diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go index ea9e5f6a9f3..cbb145f0533 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -2934,6 +2934,38 @@ func (in *NetworkStatus) DeepCopy() *NetworkStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NutanixPlatformSpec) DeepCopyInto(out *NutanixPlatformSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPlatformSpec. +func (in *NutanixPlatformSpec) DeepCopy() *NutanixPlatformSpec { + if in == nil { + return nil + } + out := new(NutanixPlatformSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NutanixPlatformStatus) DeepCopyInto(out *NutanixPlatformStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPlatformStatus. +func (in *NutanixPlatformStatus) DeepCopy() *NutanixPlatformStatus { + if in == nil { + return nil + } + out := new(NutanixPlatformStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OAuth) DeepCopyInto(out *OAuth) { *out = *in @@ -3436,6 +3468,11 @@ func (in *PlatformSpec) DeepCopyInto(out *PlatformSpec) { *out = new(AlibabaCloudPlatformSpec) **out = **in } + if in.Nutanix != nil { + in, out := &in.Nutanix, &out.Nutanix + *out = new(NutanixPlatformSpec) + **out = **in + } return } @@ -3512,6 +3549,11 @@ func (in *PlatformStatus) DeepCopyInto(out *PlatformStatus) { *out = new(AlibabaCloudPlatformStatus) (*in).DeepCopyInto(*out) } + if in.Nutanix != nil { + in, out := &in.Nutanix, &out.Nutanix + *out = new(NutanixPlatformStatus) + **out = **in + } return } diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index 7ea1847919d..63c5d825d5a 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -1108,6 +1108,24 @@ func (KubevirtPlatformStatus) SwaggerDoc() map[string]string { return map_KubevirtPlatformStatus } +var map_NutanixPlatformSpec = map[string]string{ + "": "NutanixPlatformSpec holds the desired state of the Nutanix infrastructure provider. This only includes fields that can be modified in the cluster.", +} + +func (NutanixPlatformSpec) SwaggerDoc() map[string]string { + return map_NutanixPlatformSpec +} + +var map_NutanixPlatformStatus = map[string]string{ + "": "NutanixPlatformStatus holds the current status of the Nutanix infrastructure provider.", + "apiServerInternalIP": "apiServerInternalIP is an IP address to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. It is the IP that the Infrastructure.status.apiServerInternalURI points to. It is the IP for a self-hosted load balancer in front of the API servers.", + "ingressIP": "ingressIP is an external IP which routes to the default ingress controller. The IP is a suitable target of a wildcard DNS record used to resolve default route host names.", +} + +func (NutanixPlatformStatus) SwaggerDoc() map[string]string { + return map_NutanixPlatformStatus +} + var map_OpenStackPlatformSpec = map[string]string{ "": "OpenStackPlatformSpec holds the desired state of the OpenStack infrastructure provider. This only includes fields that can be modified in the cluster.", } @@ -1149,7 +1167,7 @@ func (OvirtPlatformStatus) SwaggerDoc() map[string]string { var map_PlatformSpec = map[string]string{ "": "PlatformSpec holds the desired state specific to the underlying infrastructure provider of the current cluster. Since these are used at spec-level for the underlying cluster, it is supposed that only one of the spec structs is set.", - "type": "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"KubeVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", + "type": "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"KubeVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", "aws": "AWS contains settings specific to the Amazon Web Services infrastructure provider.", "azure": "Azure contains settings specific to the Azure infrastructure provider.", "gcp": "GCP contains settings specific to the Google Cloud Platform infrastructure provider.", @@ -1162,6 +1180,7 @@ var map_PlatformSpec = map[string]string{ "equinixMetal": "EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.", "powervs": "PowerVS contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider.", "alibabaCloud": "AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", + "nutanix": "Nutanix contains settings specific to the Nutanix infrastructure provider.", } func (PlatformSpec) SwaggerDoc() map[string]string { @@ -1170,7 +1189,7 @@ func (PlatformSpec) SwaggerDoc() map[string]string { var map_PlatformStatus = map[string]string{ "": "PlatformStatus holds the current status specific to the underlying infrastructure provider of the current cluster. Since these are used at status-level for the underlying cluster, it is supposed that only one of the status structs is set.", - "type": "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.\n\nThis value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set.", + "type": "type 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\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.\n\nThis value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set.", "aws": "AWS contains settings specific to the Amazon Web Services infrastructure provider.", "azure": "Azure contains settings specific to the Azure infrastructure provider.", "gcp": "GCP contains settings specific to the Google Cloud Platform infrastructure provider.", @@ -1183,6 +1202,7 @@ var map_PlatformStatus = map[string]string{ "equinixMetal": "EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.", "powervs": "PowerVS contains settings specific to the Power Systems Virtual Servers infrastructure provider.", "alibabaCloud": "AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", + "nutanix": "Nutanix contains settings specific to the Nutanix infrastructure provider.", } func (PlatformStatus) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go index 65aea789563..e185a0193cf 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go @@ -174,28 +174,8 @@ type Image struct { Version string `json:"version"` // ResourceID specifies an image to use by ID ResourceID string `json:"resourceID"` - // Type identifies the source of the image and related information, such as purchase plans. - // Valid values are "ID", "MarketplaceWithPlan", "MarketplaceNoPlan", and omitted, which - // means no opinion and the platform chooses a good default which may change over time. - // Currently that default is "MarketplaceNoPlan" if publisher data is supplied, or "ID" if not. - // For more information about purchase plans, see: - // https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage#check-the-purchase-plan-information - // +optional - Type AzureImageType `json:"type,omitempty"` } -// AzureImageType provides an enumeration for the valid image types. -type AzureImageType string - -const ( - // AzureImageTypeID specifies that the image should be referenced by its resource ID. - AzureImageTypeID AzureImageType = "ID" - // AzureImageTypeMarketplaceNoPlan are images available from the marketplace that do not require a purchase plan. - AzureImageTypeMarketplaceNoPlan AzureImageType = "MarketplaceNoPlan" - // AzureImageTypeMarketplaceWithPlan require a purchase plan. Upstream these images are referred to as "ThirdParty." - AzureImageTypeMarketplaceWithPlan AzureImageType = "MarketplaceWithPlan" -) - type OSDisk struct { // OSType is the operating system type of the OS disk. Possible values include "Linux" and "Windows". OSType string `json:"osType"` diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go index 4970bd7e22c..d1e5b7fbf2a 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go @@ -5,26 +5,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -// GCPHostMaintenanceType is a type representing acceptable values for OnHostMaintenance field in GCPMachineProviderSpec -type GCPHostMaintenanceType string - -const ( - // MigrateHostMaintenanceType [default] - causes Compute Engine to live migrate an instance when there is a maintenance event. - MigrateHostMaintenanceType GCPHostMaintenanceType = "Migrate" - // TerminateHostMaintenanceType - stops an instance instead of migrating it. - TerminateHostMaintenanceType GCPHostMaintenanceType = "Terminate" -) - -// GCPHostMaintenanceType is a type representing acceptable values for RestartPolicy field in GCPMachineProviderSpec -type GCPRestartPolicyType string - -const ( - // Restart an instance if an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event. - RestartPolicyAlways GCPRestartPolicyType = "Always" - // Do not restart an instance if an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event. - RestartPolicyNever GCPRestartPolicyType = "Never" -) - // GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field // for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. // Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). @@ -74,27 +54,9 @@ type GCPMachineProviderSpec struct { // ProjectID is the project in which the GCP machine provider will create the VM. // +optional ProjectID string `json:"projectID,omitempty"` - // GPUs is a list of GPUs to be attached to the VM. - // +optional - GPUs []GCPGPUConfig `json:"gpus,omitempty"` - // Preemptible indicates if created instance is preemptible. + // Preemptible indicates if created instance is preemptible // +optional Preemptible bool `json:"preemptible,omitempty"` - // OnHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. - // This is required to be set to "Terminate" if you want to provision machine with attached GPUs. - // Otherwise, allowed values are "Migrate" and "Terminate". - // If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Migrate". - // +kubebuilder:validation:Enum=Migrate;Terminate; - // +optional - OnHostMaintenance GCPHostMaintenanceType `json:"onHostMaintenance,omitempty"` - // RestartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default "Always"). - // Cannot be "Always" with preemptible instances. - // Otherwise, allowed values are "Always" and "Never". - // If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Always". - // RestartPolicy represents AutomaticRestart in GCP compute api - // +kubebuilder:validation:Enum=Always;Never; - // +optional - RestartPolicy GCPRestartPolicyType `json:"restartPolicy,omitempty"` } // GCPDisk describes disks for GCP. @@ -172,16 +134,6 @@ type GCPKMSKeyReference struct { Location string `json:"location"` } -// GCPGPUConfig describes type and count of GPUs attached to the instance on GCP. -type GCPGPUConfig struct { - // Count is the number of GPUs to be attached to an instance. - Count int32 `json:"count"` - // Type is the type of GPU to be attached to an instance. - // Supported GPU types are: nvidia-tesla-k80, nvidia-tesla-p100, nvidia-tesla-v100, nvidia-tesla-p4, nvidia-tesla-t4 - // +kubebuilder:validation:Pattern=`^nvidia-tesla-(k80|p100|v100|p4|t4)$` - Type string `json:"type"` -} - // GCPMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. // It contains GCP-specific status information. // Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.deepcopy.go index 5bf2a5f036f..fb98815aa79 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.deepcopy.go @@ -530,22 +530,6 @@ func (in *GCPEncryptionKeyReference) DeepCopy() *GCPEncryptionKeyReference { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GCPGPUConfig) DeepCopyInto(out *GCPGPUConfig) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPGPUConfig. -func (in *GCPGPUConfig) DeepCopy() *GCPGPUConfig { - if in == nil { - return nil - } - out := new(GCPGPUConfig) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GCPKMSKeyReference) DeepCopyInto(out *GCPKMSKeyReference) { *out = *in @@ -652,11 +636,6 @@ func (in *GCPMachineProviderSpec) DeepCopyInto(out *GCPMachineProviderSpec) { *out = make([]string, len(*in)) copy(*out, *in) } - if in.GPUs != nil { - in, out := &in.GPUs, &out.GPUs - *out = make([]GCPGPUConfig, len(*in)) - copy(*out, *in) - } return } diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go index a5da31fff1b..6b569f4aaa3 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go @@ -225,7 +225,6 @@ var map_Image = map[string]string{ "sku": "SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter", "version": "Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.", "resourceID": "ResourceID specifies an image to use by ID", - "type": "Type identifies the source of the image and related information, such as purchase plans. Valid values are \"ID\", \"MarketplaceWithPlan\", \"MarketplaceNoPlan\", and omitted, which means no opinion and the platform chooses a good default which may change over time. Currently that default is \"MarketplaceNoPlan\" if publisher data is supplied, or \"ID\" if not. For more information about purchase plans, see: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage#check-the-purchase-plan-information", } func (Image) SwaggerDoc() map[string]string { @@ -295,16 +294,6 @@ func (GCPEncryptionKeyReference) SwaggerDoc() map[string]string { return map_GCPEncryptionKeyReference } -var map_GCPGPUConfig = map[string]string{ - "": "GCPGPUConfig describes type and count of GPUs attached to the instance on GCP.", - "count": "Count is the number of GPUs to be attached to an instance.", - "type": "Type is the type of GPU to be attached to an instance. Supported GPU types are: nvidia-tesla-k80, nvidia-tesla-p100, nvidia-tesla-v100, nvidia-tesla-p4, nvidia-tesla-t4", -} - -func (GCPGPUConfig) SwaggerDoc() map[string]string { - return map_GCPGPUConfig -} - var map_GCPKMSKeyReference = map[string]string{ "": "GCPKMSKeyReference gathers required fields for looking up a GCP KMS Key", "name": "Name is the name of the customer managed encryption key to be used for the disk encryption.", @@ -348,10 +337,7 @@ var map_GCPMachineProviderSpec = map[string]string{ "region": "Region is the region in which the GCP machine provider will create the VM.", "zone": "Zone is the zone in which the GCP machine provider will create the VM.", "projectID": "ProjectID is the project in which the GCP machine provider will create the VM.", - "gpus": "GPUs is a list of GPUs to be attached to the VM.", - "preemptible": "Preemptible indicates if created instance is preemptible.", - "onHostMaintenance": "OnHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. This is required to be set to \"Terminate\" if you want to provision machine with attached GPUs. Otherwise, allowed values are \"Migrate\" and \"Terminate\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Migrate\".", - "restartPolicy": "RestartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default \"Always\"). Cannot be \"Always\" with preemptible instances. Otherwise, allowed values are \"Always\" and \"Never\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Always\". RestartPolicy represents AutomaticRestart in GCP compute api", + "preemptible": "Preemptible indicates if created instance is preemptible", } func (GCPMachineProviderSpec) SwaggerDoc() map[string]string { diff --git a/vendor/modules.txt b/vendor/modules.txt index febb0f7758f..ffde703551e 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1724,7 +1724,7 @@ github.com/opencontainers/image-spec/specs-go/v1 # github.com/openshift-metal3/terraform-provider-ironic v0.2.7 ## explicit; go 1.13 github.com/openshift-metal3/terraform-provider-ironic/ironic -# github.com/openshift/api v0.0.0-20211119153416-313e51eab8c8 +# github.com/openshift/api v0.0.0-20211119153416-313e51eab8c8 => github.com/yannickstruyf3/api v0.0.0-20211116212905-775f773bafe0 ## explicit; go 1.16 github.com/openshift/api/config/v1 github.com/openshift/api/machine/v1beta1 @@ -3371,6 +3371,7 @@ sigs.k8s.io/yaml # github.com/hashicorp/go-getter => github.com/hashicorp/go-getter v1.5.2 # github.com/hashicorp/go-plugin => github.com/hashicorp/go-plugin v1.3.0 # github.com/hashicorp/terraform-plugin-test/v2 => github.com/hashicorp/terraform-plugin-test/v2 v2.2.0 +# github.com/openshift/api => github.com/yannickstruyf3/api v0.0.0-20211116212905-775f773bafe0 # github.com/ulikunitz/xz => github.com/ulikunitz/xz v0.5.7 # google.golang.org/api => google.golang.org/api v0.33.0 # google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013