api

package
v0.0.0-...-0932ba4 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Feature flag FeatureAllowDevNonStableChannels is the feature in the subscription that
	// allows the usage of non stable channels (i.e. candidate, nightly) for creation
	// of new OpenShift clusters.
	FeatureAllowDevNonStableChannels = "Microsoft.RedHatOpenShift/AllowDevNonStableChannels"

	// FeatureExperimentalReleaseFeatures is the subscription-level AFEC that gates all
	// tag-based experimental features. When registered, per-resource tags in the
	// "aro-hcp.experimental.*" namespace are honored. Without this AFEC, experimental
	// tags are ignored.
	FeatureExperimentalReleaseFeatures = "Microsoft.RedHatOpenShift/ExperimentalReleaseFeatures"

	// ExperimentalClusterTagPrefix is the prefix for all experimental cluster
	// tags. Tags with this prefix are only honored when the
	// ExperimentalReleaseFeatures AFEC is registered. Unrecognized tags
	// with this prefix are rejected.
	//
	// Azure ARM tag names must not contain: < > % & \ ? /
	// The Azure Portal additionally rejects: * : +
	// Tags starting with "microsoft", "azure", "windows", or "hidden-"
	// are reserved. Names are limited to 512 characters (128 for storage
	// accounts). See https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources
	ExperimentalClusterTagPrefix = "aro-hcp.experimental.cluster."

	// TagClusterSingleReplica is the ARM resource tag that enables
	// single-replica control plane components when the
	// ExperimentalReleaseFeatures AFEC is registered on the subscription.
	TagClusterSingleReplica = ExperimentalClusterTagPrefix + "single-replica"

	// TagClusterSizeOverride is the ARM resource tag that enables the
	// ClusterSizeOverride annotation for reduced resource requests when the
	// ExperimentalReleaseFeatures AFEC is registered on the subscription.
	TagClusterSizeOverride = ExperimentalClusterTagPrefix + "size-override"
)
View Source
const (
	ProviderNamespace                       = "Microsoft.RedHatOpenShift"
	ProviderNamespaceDisplay                = "Azure Red Hat OpenShift"
	ClusterResourceTypeName                 = "hcpOpenShiftClusters"
	ServiceProviderClusterResourceTypeName  = "serviceProviderClusters"
	ServiceProviderNodePoolResourceTypeName = "serviceProviderNodePools"
	VersionResourceTypeName                 = "hcpOpenShiftVersions"
	NodePoolResourceTypeName                = "nodePools"
	ExternalAuthResourceTypeName            = "externalAuths"
	OperationResultResourceTypeName         = "hcpOperationResults"
	OperationStatusResourceTypeName         = "hcpOperationStatuses"
	ControllerResourceTypeName              = "hcpOpenShiftControllers"
	RequestAdminCredentialActionTypeName    = "requestadmincredential"
	RevokeAdminCredentialsActionTypeName    = "revokecredentials"
	ResourceTypeDisplay                     = "Hosted Control Plane (HCP) OpenShift Clusters"
)
View Source
const (
	TestLocation                 = "westus3"
	TestAPIVersion               = "2024-06-10-preview"
	TestTenantID                 = "00000000-0000-0000-0000-000000000000"
	TestSubscriptionID           = "11111111-1111-1111-1111-111111111111"
	TestAltSubscriptionID        = "22222222-2222-2222-2222-222222222222"
	TestResourceGroupName        = "testResourceGroup"
	TestClusterName              = "testCluster"
	TestNodePoolName             = "testNodePool"
	TestExternalAuthName         = "testExternalAuth"
	TestDeploymentName           = "testDeployment"
	TestManagedResourceGroupName = "testManagedResourceGroup"
	TestNetworkSecurityGroupName = "testNetworkSecurityGroup"
	TestVirtualNetworkName       = "testVirtualNetwork"
	TestSubnetName               = "testSubnet"
)
View Source
const (
	OpenShiftVersionPrefix = "openshift-v"
)
View Source
const (
	// ServiceProviderClusterResourceName is the name of the ServiceProviderCluster resource.
	// ServiceProviderCluster is a singleton resource and ARM convention is to
	// use the name "default" for singleton resources.
	ServiceProviderClusterResourceName = "default"
)
View Source
const (
	// ServiceProviderNodePoolResourceName is the name of the ServiceProviderNodePool resource.
	// ServiceProviderNodePool is a singleton resource and ARM convention is to
	// use the name "default" for singleton resources.
	ServiceProviderNodePoolResourceName = "default"
)

Variables

View Source
var (
	OperationStatusResourceType         = azcorearm.NewResourceType(ProviderNamespace, OperationStatusResourceTypeName)
	ClusterResourceType                 = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName)
	ServiceProviderClusterResourceType  = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName+"/"+ServiceProviderClusterResourceTypeName)
	NodePoolResourceType                = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName+"/"+NodePoolResourceTypeName)
	ServiceProviderNodePoolResourceType = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, NodePoolResourceTypeName, ServiceProviderNodePoolResourceTypeName))
	ExternalAuthResourceType            = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName+"/"+ExternalAuthResourceTypeName)
	PreflightResourceType               = azcorearm.NewResourceType(ProviderNamespace, "deployments/preflight")
	VersionResourceType                 = azcorearm.NewResourceType(ProviderNamespace, "locations/"+VersionResourceTypeName)
	ClusterControllerResourceType       = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, ControllerResourceTypeName))
	NodePoolControllerResourceType      = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, NodePoolResourceTypeName, ControllerResourceTypeName))
	ExternalAuthControllerResourceType  = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, ExternalAuthResourceTypeName, ControllerResourceTypeName))
	RequestAdminCredentialActionType    = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, RequestAdminCredentialActionTypeName))
	RevokeAdminCredentialsActionType    = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, RevokeAdminCredentialsActionTypeName))
)
View Source
var (
	TestSubscriptionResourceID         = path.Join("/subscriptions", TestSubscriptionID)
	TestResourceGroupResourceID        = path.Join(TestSubscriptionResourceID, "resourceGroups", TestResourceGroupName)
	TestClusterResourceID              = path.Join(TestResourceGroupResourceID, "providers", ProviderNamespace, ClusterResourceTypeName, TestClusterName)
	TestNodePoolResourceID             = path.Join(TestClusterResourceID, NodePoolResourceTypeName, TestNodePoolName)
	TestExternalAuthResourceID         = path.Join(TestClusterResourceID, ExternalAuthResourceTypeName, TestExternalAuthName)
	TestDeploymentResourceID           = path.Join(TestResourceGroupResourceID, "providers", ProviderNamespace, "deployments", TestDeploymentName)
	TestNetworkSecurityGroupResourceID = path.Join(TestResourceGroupResourceID, "providers", "Microsoft.Network", "networkSecurityGroups", TestNetworkSecurityGroupName)
	TestVirtualNetworkResourceID       = path.Join(TestResourceGroupResourceID, "providers", "Microsoft.Network", "virtualNetworks", TestVirtualNetworkName)
	TestSubnetResourceID               = path.Join(TestVirtualNetworkResourceID, "subnets", TestSubnetName)
)
View Source
var (
	// we have some private fields that cmp.Diff chokes on. This skips them.
	// Use only for error messages unless you know what you're doing.
	CmpDiffOptions = []cmp.Option{
		cmpopts.IgnoreFields(azcorearm.ResourceID{}, "ResourceType"),
		cmpopts.IgnoreFields(azcorearm.ResourceID{}, "isChild"),
		cmpopts.IgnoreFields(azcorearm.ResourceID{}, "stringValue"),
		cmpopts.IgnoreFields(InternalID{}, "path"),
		cmpopts.IgnoreFields(InternalID{}, "kind"),
	}
)
View Source
var (
	ValidCustomerManagedEncryptionType = sets.New[CustomerManagedEncryptionType](
		CustomerManagedEncryptionTypeKMS,
	)
)
View Source
var (
	ValidOutboundTypes = sets.New[OutboundType](
		OutboundTypeLoadBalancer,
	)
)

Functions

func ApplyRequestBody

func ApplyRequestBody(requestMethod string, body []byte, v any) error

ApplyRequestBody applies a JSON request body to the value pointed to by v. If the request method is PATCH, the request body is applied to v using JSON Merge Patch (RFC 7396) semantics. Otherwise the request body is unmarshalled directly to v.

func CreateTestSubscription

func CreateTestSubscription(registeredFeatures ...string) *arm.Subscription

CreateTestSubscription creates a test subscription with optional registered feature flags. Call with no arguments for a standard subscription, or pass feature names to register them.

func DeleteNilsFromPtrSlice

func DeleteNilsFromPtrSlice[S ~[]*E, E any](s S) S

DeleteNilsFromPtrSlice returns a slice with nil pointers removed.

func MergeStringPtrMapIntoResourceIDMap

func MergeStringPtrMapIntoResourceIDMap(fldPath *field.Path, src map[string]*string, dst *map[string]*azcorearm.ResourceID) field.ErrorList

MergeStringPtrMap merges a map of string pointers into a map of strings following the rules of JSON merge-patch (RFC 7396). In particular, if a key in src has a nil value, that entry is deleted from dst. The function takes a pointer to the dst map in case the dst map is nil and needs to be initialized.

func Must

func Must[T any](v T, err error) T

Must is a helper function that takes a value and error, returns the value if no error occurred, or panics if an error occurred. This is useful for test setup where we don't expect errors.

func NewTestLogger

func NewTestLogger() *slog.Logger

func NewTestUserAssignedIdentity

func NewTestUserAssignedIdentity(name string) *azcorearm.ResourceID

func NonNilSliceValues

func NonNilSliceValues[E any](a []*E) iter.Seq2[int, *E]

NonNilSliceValues returns an iterator over index-value pairs in a slice of pointers in the usual order, but skipping over nils.

func NonNilValues

func NonNilValues[K any, V any](seq iter.Seq2[K, *V]) iter.Seq2[K, *V]

NonNilValues returns an iterator over a sequence of pairs of values that skips pairs where the second value in the pair is nil.

func Ptr

func Ptr[T any](p T) *T

Ptr returns a pointer to p.

func PtrOrNil

func PtrOrNil[T any](p T) *T

PtrOrNil returns a pointer to p or nil if p is an empty value as would be determined by the "omitempty" option in json.Marshal.

func ResourceIDMapToStringPtrMap

func ResourceIDMapToStringPtrMap(m map[string]*azcorearm.ResourceID) map[string]*string

func ResourceIDToStringPtr

func ResourceIDToStringPtr(resourceID *azcorearm.ResourceID) *string

func StringMapToStringPtrMap

func StringMapToStringPtrMap(m map[string]string) map[string]*string

StringMapToStringPtrMap converts a map of strings to a map of string pointers.

func StringPtrMapToStringMap

func StringPtrMapToStringMap(m map[string]*string) map[string]string

StringPtrMapToStringMap converts a map of string pointers to a map of strings.

func StringPtrSliceToStringSlice

func StringPtrSliceToStringSlice(s []*string) []string

StringPtrSliceToStringSlice converts a slice of string pointers to a slice of strings.

func StringSliceToStringPtrSlice

func StringSliceToStringPtrSlice(s []string) []*string

StringSliceToStringPtrSlice converts a slice of strings to a slice of string pointers.

func ToClusterResourceID

func ToClusterResourceID(subscriptionName, resourceGroupName, clusterName string) (*azcorearm.ResourceID, error)

func ToClusterResourceIDString

func ToClusterResourceIDString(subscriptionName, resourceGroupName, clusterName string) string

func ToExternalAuthResourceIDString

func ToExternalAuthResourceIDString(subscriptionName, resourceGroupName, clusterName, externalAuthName string) string

func ToNodePoolResourceID

func ToNodePoolResourceID(subscriptionName, resourceGroupName, clusterName, nodePoolName string) (*azcorearm.ResourceID, error)

func ToNodePoolResourceIDString

func ToNodePoolResourceIDString(subscriptionName, resourceGroupName, clusterName, nodePoolName string) string

func ToOperationResourceIDString

func ToOperationResourceIDString(subscriptionName, operationName string) string

func ToResourceGroupResourceIDString

func ToResourceGroupResourceIDString(subscriptionName, resourcGroupName string) string

func ToServiceProviderClusterResourceIDString

func ToServiceProviderClusterResourceIDString(subscriptionName, resourceGroupName, clusterName string) string

func TrimStringSlice

func TrimStringSlice(s []string) []string

TrimStringSlice returns a new string slice with all leading and trailing white space removed from each element and omitting any white-space-only elements.

Types

type APIRegistry

type APIRegistry interface {
	Register(version Version) error
	ListVersions() set.Set[string]
	Lookup(key string) (version Version, ok bool)
}

APIRegistry is a way to keep track of versioned interfaces. It should always be done per-instance, so we can easily track what registers where and why it does it. This construction also gives us a way to unit and integration test different scenarios without impacting a single global as we run the tests.

func NewAPIRegistry

func NewAPIRegistry() APIRegistry

type ClusterAutoscalingProfile

type ClusterAutoscalingProfile struct {
	MaxNodesTotal               int32 `json:"maxNodesTotal,omitempty"`
	MaxPodGracePeriodSeconds    int32 `json:"maxPodGracePeriodSeconds,omitempty"`
	MaxNodeProvisionTimeSeconds int32 `json:"maxNodeProvisionTimeSeconds,omitempty"`
	PodPriorityThreshold        int32 `json:"podPriorityThreshold,omitempty"`
}

Cluster autoscaling configuration ClusterAutoscaling specifies auto-scaling behavior that applies to all NodePools associated with a control plane.

func (*ClusterAutoscalingProfile) DeepCopy

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

func (*ClusterAutoscalingProfile) DeepCopyInto

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

type ClusterImageRegistryProfile

type ClusterImageRegistryProfile struct {
	// state indicates the desired ImageStream-backed cluster image registry installation mode. This can only be set during cluster
	// creation and cannot be changed after cluster creation. Enabled means the
	// ImageStream-backed image registry will be run as pods on worker nodes in the cluster. Disabled means the ImageStream-backed
	// image registry will not be present in the cluster. The default is Enabled.
	State ClusterImageRegistryProfileState `json:"state,omitempty"`
}

ClusterImageRegistryProfile - OpenShift cluster image registry

func (*ClusterImageRegistryProfile) DeepCopy

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

func (*ClusterImageRegistryProfile) DeepCopyInto

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

type ClusterImageRegistryProfileState

type ClusterImageRegistryProfileState string

ClusterImageRegistryProfileState - state indicates the desired ImageStream-backed cluster image registry installation mode. This can only be set during cluster creation and cannot be changed after cluster creation. Enabled means the ImageStream-backed image registry will be run as pods on worker nodes in the cluster. Disabled means the ImageStream-backed image registry will not be present in the cluster. The default is Enabled.

const (
	ClusterImageRegistryProfileStateDisabled ClusterImageRegistryProfileState = "Disabled"
	ClusterImageRegistryProfileStateEnabled  ClusterImageRegistryProfileState = "Enabled"
)

type Condition

type Condition struct {
	// type of condition in CamelCase or in foo.example.com/CamelCase.
	// ---
	// Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
	// useful (see .node.status.conditions), the ability to deconflict is important.
	// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$`
	// +kubebuilder:validation:MaxLength=316
	Type string `json:"type" protobuf:"bytes,1,opt,name=type"`
	// status of the condition, one of True, False, Unknown.
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=True;False;Unknown
	Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"`

	// lastTransitionTime is the last time the condition transitioned from one status to another.
	// This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=date-time
	LastTransitionTime time.Time `json:"lastTransitionTime" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// reason contains a programmatic identifier indicating the reason for the condition's last transition.
	// Producers of specific condition types may define expected values and meanings for this field,
	// and whether the values are considered a guaranteed API.
	// The value should be a CamelCase string.
	// This field may not be empty.
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=1024
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$`
	Reason string `json:"reason" protobuf:"bytes,5,opt,name=reason"`
	// message is a human readable message indicating details about the transition.
	// This may be an empty string.
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=32768
	Message string `json:"message" protobuf:"bytes,6,opt,name=message"`
}

Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example,

type FooStatus struct{
    // Represents the observations of a foo's current state.
    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
    Conditions []Condition `json:"conditions,omitempty"`

    // other fields
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionStatus

type ConditionStatus string
const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition. "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.

type ConditionStatusType

type ConditionStatusType string
const (
	// ConditionStatusType - the condition status is true.
	ConditionStatusTypeTrue ConditionStatusType = "True"
	// ExternalAuthConditionTypeFalse - the condition status is false.
	ConditionStatusTypeFalse ConditionStatusType = "False"
	// ConditionStatusTypeUnknown - the condition status is unknown.
	ConditionStatusTypeUnknown ConditionStatusType = "Unknown"
)

type ControlPlaneAvailability

type ControlPlaneAvailability string

ControlPlaneAvailability controls the AvailabilityPolicy for control plane components.

const (
	DefaultControlPlaneAvailability ControlPlaneAvailability = ""
	SingleReplicaControlPlane       ControlPlaneAvailability = "SingleReplica"
)

type ControlPlanePodSizing

type ControlPlanePodSizing string

ControlPlanePodSizing controls resource request sizing for hosted control plane components.

const (
	DefaultControlPlanePodSizing ControlPlanePodSizing = ""
	MinimalControlPlanePodSizing ControlPlanePodSizing = "Minimal"
)

type Controller

type Controller struct {
	// CosmosMetadata ResourceID is nested under the cluster so that association and cleanup work as expected
	// it will be the ServiceProviderCluster type and the name default
	CosmosMetadata `json:"cosmosMetadata"`

	// this matches the resourcedocument and standard storage schema.
	// we already store this field, but its currently done in conversion trickery.  Update to directly serialize it.
	// all items previously stored will read out and have this filled in.
	// we need to be sure that all new records have it too.
	ResourceID *azcorearm.ResourceID `json:"resourceId,omitempty"`

	// ExternalID is the Azure resource ID of the type this is associated with.
	ExternalID *azcorearm.ResourceID `json:"externalId,omitempty"`

	Status ControllerStatus `json:"status"`
}

func (*Controller) DeepCopy

func (in *Controller) DeepCopy() *Controller

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

func (*Controller) DeepCopyInto

func (in *Controller) DeepCopyInto(out *Controller)

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

type ControllerStatus

type ControllerStatus struct {
	// every controller is expected to set a Degraded condition.
	Conditions []Condition `json:"conditions,omitempty"`
}

func (*ControllerStatus) DeepCopy

func (in *ControllerStatus) DeepCopy() *ControllerStatus

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

func (*ControllerStatus) DeepCopyInto

func (in *ControllerStatus) DeepCopyInto(out *ControllerStatus)

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

type CosmosMetadata

type CosmosMetadata = arm.CosmosMetadata

type CustomerAPIProfile

type CustomerAPIProfile struct {
	Visibility      Visibility `json:"visibility,omitempty"`
	AuthorizedCIDRs []string   `json:"authorizedCidrs,omitempty"`
}

CustomerAPIProfile represents a cluster API server configuration.

func (*CustomerAPIProfile) DeepCopy

func (in *CustomerAPIProfile) DeepCopy() *CustomerAPIProfile

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

func (*CustomerAPIProfile) DeepCopyInto

func (in *CustomerAPIProfile) DeepCopyInto(out *CustomerAPIProfile)

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

type CustomerDNSProfile

type CustomerDNSProfile struct {
	BaseDomainPrefix string `json:"baseDomainPrefix,omitempty"`
}

CustomerDNSProfile represents the DNS configuration of the cluster.

func (*CustomerDNSProfile) DeepCopy

func (in *CustomerDNSProfile) DeepCopy() *CustomerDNSProfile

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

func (*CustomerDNSProfile) DeepCopyInto

func (in *CustomerDNSProfile) DeepCopyInto(out *CustomerDNSProfile)

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

type CustomerManagedEncryptionProfile

type CustomerManagedEncryptionProfile struct {
	EncryptionType CustomerManagedEncryptionType `json:"encryptionType,omitempty"`
	Kms            *KmsEncryptionProfile         `json:"kms,omitempty"`
}

CustomerManagedEncryptionProfile repesents a data encryption configuration for ETCD using customer-managed keys. Visibility for the entire struct is "read create".

func (*CustomerManagedEncryptionProfile) DeepCopy

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

func (*CustomerManagedEncryptionProfile) DeepCopyInto

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

type CustomerManagedEncryptionType

type CustomerManagedEncryptionType string
const (
	// CustomerManagedEncryptionTypeKMS - KMS encryption type.
	CustomerManagedEncryptionTypeKMS CustomerManagedEncryptionType = "KMS"
)

type CustomerPlatformProfile

type CustomerPlatformProfile struct {
	ManagedResourceGroup    string                         `json:"managedResourceGroup,omitempty"`
	SubnetID                *azcorearm.ResourceID          `json:"subnetId,omitempty"`
	OutboundType            OutboundType                   `json:"outboundType,omitempty"`
	NetworkSecurityGroupID  *azcorearm.ResourceID          `json:"networkSecurityGroupId,omitempty"`
	OperatorsAuthentication OperatorsAuthenticationProfile `json:"operatorsAuthentication,omitempty"`
}

CustomerPlatformProfile represents the Azure platform configuration. Visibility for (almost) the entire struct is "read create".

func (*CustomerPlatformProfile) DeepCopy

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

func (*CustomerPlatformProfile) DeepCopyInto

func (in *CustomerPlatformProfile) DeepCopyInto(out *CustomerPlatformProfile)

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

type DiskStorageAccountType

type DiskStorageAccountType string

DiskStorageAccountType represents supported Azure storage account types.

const (
	DiskStorageAccountTypePremium_LRS     DiskStorageAccountType = "Premium_LRS"
	DiskStorageAccountTypeStandardSSD_LRS DiskStorageAccountType = "StandardSSD_LRS"
	DiskStorageAccountTypeStandard_LRS    DiskStorageAccountType = "Standard_LRS"
)

type Effect

type Effect string
const (
	// EffectNoExecute - NoExecute taint effect
	EffectNoExecute Effect = "NoExecute"
	// EffectNoSchedule - NoSchedule taint effect
	EffectNoSchedule Effect = "NoSchedule"
	// EffectPreferNoSchedule - PreferNoSchedule taint effect
	EffectPreferNoSchedule Effect = "PreferNoSchedule"
)

type EtcdDataEncryptionKeyManagementModeType

type EtcdDataEncryptionKeyManagementModeType string
const (
	// EtcdDataEncryptionKeyManagementModeTypeCustomerManaged - Customer managed encryption key management mode type.
	EtcdDataEncryptionKeyManagementModeTypeCustomerManaged EtcdDataEncryptionKeyManagementModeType = "CustomerManaged"
	// EtcdDataEncryptionKeyManagementModeTypePlatformManaged - Platform managed encryption key management mode type.
	EtcdDataEncryptionKeyManagementModeTypePlatformManaged EtcdDataEncryptionKeyManagementModeType = "PlatformManaged"
)

type EtcdDataEncryptionProfile

type EtcdDataEncryptionProfile struct {
	KeyManagementMode EtcdDataEncryptionKeyManagementModeType `json:"keyManagementMode,omitempty"`
	CustomerManaged   *CustomerManagedEncryptionProfile       `json:"customerManaged,omitempty"`
}

EtcdDataEncryptionProfile represents a data encryption configuration for ETCD. Visibility for the entire struct is "read create".

func (*EtcdDataEncryptionProfile) DeepCopy

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

func (*EtcdDataEncryptionProfile) DeepCopyInto

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

type EtcdProfile

type EtcdProfile struct {
	DataEncryption EtcdDataEncryptionProfile `json:"dataEncryption,omitempty"`
}

EtcdProfile represents an ETCD configuration. Visibility for the entire struct is "read create".

func (*EtcdProfile) DeepCopy

func (in *EtcdProfile) DeepCopy() *EtcdProfile

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

func (*EtcdProfile) DeepCopyInto

func (in *EtcdProfile) DeepCopyInto(out *EtcdProfile)

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

type ExperimentalFeatures

type ExperimentalFeatures struct {
	// ControlPlaneAvailability controls the AvailabilityPolicy for control
	// plane components. When set to SingleReplica, CS configures the cluster
	// with AvailabilityPolicy set to SingleReplica.
	ControlPlaneAvailability ControlPlaneAvailability `json:"singleReplica,omitempty"`

	// ControlPlanePodSizing controls resource request sizing for hosted
	// control plane components. When set to Minimal, CS sets the
	// ClusterSizeOverride annotation for reduced resource requests.
	ControlPlanePodSizing ControlPlanePodSizing `json:"sizeOverride,omitempty"`
}

ExperimentalFeatures captures experimental feature state evaluated from AFEC and per-resource tags. This is stored in Cosmos as part of the cluster's desired state and read during internal spec to CS transformation.

func (*ExperimentalFeatures) DeepCopy

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

func (*ExperimentalFeatures) DeepCopyInto

func (in *ExperimentalFeatures) DeepCopyInto(out *ExperimentalFeatures)

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

type ExternalAuthClaimProfile

type ExternalAuthClaimProfile struct {
	Mappings        TokenClaimMappingsProfile  `json:"mappings"`
	ValidationRules []TokenClaimValidationRule `json:"validationRules"`
}

External Auth claim profile Visibility for the entire struct is "read create update".

func (*ExternalAuthClaimProfile) DeepCopy

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

func (*ExternalAuthClaimProfile) DeepCopyInto

func (in *ExternalAuthClaimProfile) DeepCopyInto(out *ExternalAuthClaimProfile)

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

type ExternalAuthClientComponentProfile

type ExternalAuthClientComponentProfile struct {
	Name                string `json:"name"`
	AuthClientNamespace string `json:"authClientNamespace"`
}

External Auth component profile Must have unique namespace/name pairs. Visibility for the entire struct is "read create update".

func (*ExternalAuthClientComponentProfile) DeepCopy

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

func (*ExternalAuthClientComponentProfile) DeepCopyInto

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

type ExternalAuthClientProfile

type ExternalAuthClientProfile struct {
	Component   ExternalAuthClientComponentProfile `json:"component"`
	ClientID    string                             `json:"clientId"`
	ExtraScopes []string                           `json:"extraScopes"`
	Type        ExternalAuthClientType             `json:"type"`
}

External Auth client profile This configures how on-cluster, platform clients should request tokens from the identity provider. Visibility for the entire struct is "read create update".

func (*ExternalAuthClientProfile) DeepCopy

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

func (*ExternalAuthClientProfile) DeepCopyInto

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

type ExternalAuthClientType

type ExternalAuthClientType string
const (
	// ExternalAuthClientTypeConfidential - the client is confidential.
	ExternalAuthClientTypeConfidential ExternalAuthClientType = "Confidential"
	// ExternalAuthClientTypePublic - the client is public.
	ExternalAuthClientTypePublic ExternalAuthClientType = "Public"
)

type ExternalAuthCondition

type ExternalAuthCondition struct {
	Type               ExternalAuthConditionType `json:"type"`
	Status             ConditionStatusType       `json:"status"`
	LastTransitionTime time.Time                 `json:"lastTransitionTime"`
	Reason             string                    `json:"reason"`
	Message            string                    `json:"message"`
}

Condition defines an observation of the external auth state. Visibility for the entire struct is "read".

func (*ExternalAuthCondition) DeepCopy

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

func (*ExternalAuthCondition) DeepCopyInto

func (in *ExternalAuthCondition) DeepCopyInto(out *ExternalAuthCondition)

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

type ExternalAuthConditionType

type ExternalAuthConditionType string
const (
	// ExternalAuthConditionTypeAvailable - the resource is in an available state.
	ExternalAuthConditionTypeAvailable ExternalAuthConditionType = "Available"
	// ExternalAuthConditionType - the resource is in a degraded state.
	ExternalAuthConditionTypeDegraded ExternalAuthConditionType = "Degraded"
	// ExternalAuthConditionTypeProgressing - the resource is in a progressing state.
	ExternalAuthConditionTypeProgressing ExternalAuthConditionType = "Progressing"
)

type ExternalTestResource

type ExternalTestResource struct {
	ID         *string
	Name       *string
	Type       *string
	SystemData *generated.SystemData
	Location   *string
	Tags       map[string]*string
	Identity   *generated.ManagedServiceIdentity
}

+k8s:deepcopy-gen=false

func (*ExternalTestResource) ConvertToInternal

func (m *ExternalTestResource) ConvertToInternal() (*InternalTestResource, error)

func (*ExternalTestResource) GetVersion

func (m *ExternalTestResource) GetVersion() Version

func (*ExternalTestResource) NewExternal

func (m *ExternalTestResource) NewExternal() any

func (*ExternalTestResource) SetDefaultValues

func (m *ExternalTestResource) SetDefaultValues(a any) error

type GroupClaimProfile

type GroupClaimProfile struct {
	Claim  string `json:"claim"`
	Prefix string `json:"prefix"`
}

External Auth claim profile This configures how the groups of a cluster identity should be constructed from the claims in a JWT token issued by the identity provider. When referencing a claim, if the claim is present in the JWT token, its value must be a list of groups separated by a comma (',').

For example - '"example"' and '"exampleOne", "exampleTwo", "exampleThree"' are valid claim values.

Visibility for the entire struct is "read create update".

func (*GroupClaimProfile) DeepCopy

func (in *GroupClaimProfile) DeepCopy() *GroupClaimProfile

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

func (*GroupClaimProfile) DeepCopyInto

func (in *GroupClaimProfile) DeepCopyInto(out *GroupClaimProfile)

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

type HCPClusterActiveVersion

type HCPClusterActiveVersion struct {
	// Version is the full version in x.y.z format (e.g., "4.19.2")
	Version *semver.Version `json:"version,omitempty"`
}

HCPClusterActiveVersion represents a single version active in the control plane.

func (*HCPClusterActiveVersion) DeepCopy

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

func (*HCPClusterActiveVersion) DeepCopyInto

func (in *HCPClusterActiveVersion) DeepCopyInto(out *HCPClusterActiveVersion)

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

type HCPOpenShiftCluster

type HCPOpenShiftCluster struct {
	arm.TrackedResource

	CustomerProperties        HCPOpenShiftClusterCustomerProperties        `json:"customerProperties,omitempty"`
	ServiceProviderProperties HCPOpenShiftClusterServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
	Identity                  *arm.ManagedServiceIdentity                  `json:"identity,omitempty"`
}

HCPOpenShiftCluster represents an ARO HCP OpenShift cluster resource. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func ClusterTestCase

func ClusterTestCase(t *testing.T, tweaks *HCPOpenShiftCluster) *HCPOpenShiftCluster

func MinimumValidClusterTestCase

func MinimumValidClusterTestCase() *HCPOpenShiftCluster

func NewDefaultHCPOpenShiftCluster

func NewDefaultHCPOpenShiftCluster(resourceID *azcorearm.ResourceID, azureLocation string) *HCPOpenShiftCluster

Creates an HCPOpenShiftCluster with any non-zero default values.

func (*HCPOpenShiftCluster) DeepCopy

func (in *HCPOpenShiftCluster) DeepCopy() *HCPOpenShiftCluster

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

func (*HCPOpenShiftCluster) DeepCopyInto

func (in *HCPOpenShiftCluster) DeepCopyInto(out *HCPOpenShiftCluster)

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

func (*HCPOpenShiftCluster) DeepCopyObject

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

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

func (*HCPOpenShiftCluster) GetCosmosData

func (o *HCPOpenShiftCluster) GetCosmosData() *arm.CosmosMetadata

func (*HCPOpenShiftCluster) GetObjectKind

func (o *HCPOpenShiftCluster) GetObjectKind() schema.ObjectKind

func (*HCPOpenShiftCluster) GetObjectMeta

func (o *HCPOpenShiftCluster) GetObjectMeta() metav1.Object

func (*HCPOpenShiftCluster) Validate

func (o *HCPOpenShiftCluster) Validate() []arm.CloudErrorBody

type HCPOpenShiftClusterAdminCredential

type HCPOpenShiftClusterAdminCredential struct {
	ExpirationTimestamp time.Time `json:"expirationTimestamp"`
	Kubeconfig          string    `json:"kubeconfig"`
}

HCPOpenShiftClusterAdminCredential represents a temporary admin credential for an ARO HCP OpenShift cluster.

func (*HCPOpenShiftClusterAdminCredential) DeepCopy

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

func (*HCPOpenShiftClusterAdminCredential) DeepCopyInto

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

type HCPOpenShiftClusterCustomerProperties

type HCPOpenShiftClusterCustomerProperties struct {
	Version                 VersionProfile              `json:"version,omitempty"`
	DNS                     CustomerDNSProfile          `json:"dns,omitempty"`
	Network                 NetworkProfile              `json:"network,omitempty"`
	API                     CustomerAPIProfile          `json:"api,omitempty"`
	Platform                CustomerPlatformProfile     `json:"platform,omitempty"`
	Autoscaling             ClusterAutoscalingProfile   `json:"autoscaling,omitempty"`
	NodeDrainTimeoutMinutes int32                       `json:"nodeDrainTimeoutMinutes,omitempty"`
	Etcd                    EtcdProfile                 `json:"etcd,omitempty"`
	ClusterImageRegistry    ClusterImageRegistryProfile `json:"clusterImageRegistry,omitempty"`
}

HCPOpenShiftClusterCustomerProperties represents the property bag of a HCPOpenShiftCluster resource.

func (*HCPOpenShiftClusterCustomerProperties) DeepCopy

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

func (*HCPOpenShiftClusterCustomerProperties) DeepCopyInto

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

type HCPOpenShiftClusterExternalAuth

type HCPOpenShiftClusterExternalAuth struct {
	arm.ProxyResource
	Properties                HCPOpenShiftClusterExternalAuthProperties                `json:"properties"`
	ServiceProviderProperties HCPOpenShiftClusterExternalAuthServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
}

HCPOpenShiftClusterExternalAuth represents the external auth config resource for ARO HCP OpenShift clusters. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func MinimumValidExternalAuthTestCase

func MinimumValidExternalAuthTestCase() *HCPOpenShiftClusterExternalAuth

func NewDefaultHCPOpenShiftClusterExternalAuth

func NewDefaultHCPOpenShiftClusterExternalAuth(resourceID *azcorearm.ResourceID) *HCPOpenShiftClusterExternalAuth

func (*HCPOpenShiftClusterExternalAuth) DeepCopy

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

func (*HCPOpenShiftClusterExternalAuth) DeepCopyInto

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

func (*HCPOpenShiftClusterExternalAuth) DeepCopyObject

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

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

func (*HCPOpenShiftClusterExternalAuth) GetCosmosData

func (*HCPOpenShiftClusterExternalAuth) GetObjectKind

func (*HCPOpenShiftClusterExternalAuth) GetObjectMeta

func (o *HCPOpenShiftClusterExternalAuth) GetObjectMeta() metav1.Object

func (*HCPOpenShiftClusterExternalAuth) Validate

type HCPOpenShiftClusterExternalAuthList

type HCPOpenShiftClusterExternalAuthList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HCPOpenShiftClusterExternalAuth `json:"items"`
}

HCPOpenShiftClusterExternalAuthList is a list of ExternalAuths compatible with runtime.Object for use with Kubernetes informer machinery. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*HCPOpenShiftClusterExternalAuthList) DeepCopy

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

func (*HCPOpenShiftClusterExternalAuthList) DeepCopyInto

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

func (*HCPOpenShiftClusterExternalAuthList) DeepCopyObject

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

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

func (*HCPOpenShiftClusterExternalAuthList) GetObjectKind

type HCPOpenShiftClusterExternalAuthProperties

type HCPOpenShiftClusterExternalAuthProperties struct {
	ProvisioningState arm.ProvisioningState       `json:"provisioningState"`
	Condition         ExternalAuthCondition       `json:"condition,omitzero"`
	Issuer            TokenIssuerProfile          `json:"issuer"`
	Clients           []ExternalAuthClientProfile `json:"clients"`
	Claim             ExternalAuthClaimProfile    `json:"claim"`
}

HCPOpenShiftClusterNodePoolProperties represents the property bag of a HCPOpenShiftClusterNodePool resource.

func (*HCPOpenShiftClusterExternalAuthProperties) DeepCopy

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

func (*HCPOpenShiftClusterExternalAuthProperties) DeepCopyInto

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

type HCPOpenShiftClusterExternalAuthServiceProviderProperties

type HCPOpenShiftClusterExternalAuthServiceProviderProperties struct {
	ExistingCosmosUID string     `json:"-"`
	ClusterServiceID  InternalID `json:"clusterServiceID,omitempty"`
	ActiveOperationID string     `json:"activeOperationId,omitempty"`
}

func (*HCPOpenShiftClusterExternalAuthServiceProviderProperties) DeepCopy

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

func (*HCPOpenShiftClusterExternalAuthServiceProviderProperties) DeepCopyInto

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

type HCPOpenShiftClusterList

type HCPOpenShiftClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HCPOpenShiftCluster `json:"items"`
}

HCPOpenShiftClusterList is a list of Clusters compatible with runtime.Object for use with Kubernetes informer machinery. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*HCPOpenShiftClusterList) DeepCopy

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

func (*HCPOpenShiftClusterList) DeepCopyInto

func (in *HCPOpenShiftClusterList) DeepCopyInto(out *HCPOpenShiftClusterList)

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

func (*HCPOpenShiftClusterList) DeepCopyObject

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

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

func (*HCPOpenShiftClusterList) GetObjectKind

func (l *HCPOpenShiftClusterList) GetObjectKind() schema.ObjectKind

type HCPOpenShiftClusterNodePool

type HCPOpenShiftClusterNodePool struct {
	arm.TrackedResource
	Properties                HCPOpenShiftClusterNodePoolProperties                `json:"properties,omitempty"`
	ServiceProviderProperties HCPOpenShiftClusterNodePoolServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
	Identity                  *arm.ManagedServiceIdentity                          `json:"identity,omitempty"`
}

HCPOpenShiftClusterNodePool represents a node pool resource for ARO HCP OpenShift clusters. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func NewDefaultHCPOpenShiftClusterNodePool

func NewDefaultHCPOpenShiftClusterNodePool(resourceID *azcorearm.ResourceID, azureLocation string) *HCPOpenShiftClusterNodePool

func (*HCPOpenShiftClusterNodePool) DeepCopy

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

func (*HCPOpenShiftClusterNodePool) DeepCopyInto

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

func (*HCPOpenShiftClusterNodePool) DeepCopyObject

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

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

func (*HCPOpenShiftClusterNodePool) GetCosmosData

func (o *HCPOpenShiftClusterNodePool) GetCosmosData() *arm.CosmosMetadata

func (*HCPOpenShiftClusterNodePool) GetObjectKind

func (o *HCPOpenShiftClusterNodePool) GetObjectKind() schema.ObjectKind

func (*HCPOpenShiftClusterNodePool) GetObjectMeta

func (o *HCPOpenShiftClusterNodePool) GetObjectMeta() metav1.Object

func (*HCPOpenShiftClusterNodePool) Validate

func (nodePool *HCPOpenShiftClusterNodePool) Validate(cluster *HCPOpenShiftCluster) []arm.CloudErrorBody

type HCPOpenShiftClusterNodePoolList

type HCPOpenShiftClusterNodePoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []HCPOpenShiftClusterNodePool `json:"items"`
}

HCPOpenShiftClusterNodePoolList is a list of NodePools compatible with runtime.Object for use with Kubernetes informer machinery. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*HCPOpenShiftClusterNodePoolList) DeepCopy

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

func (*HCPOpenShiftClusterNodePoolList) DeepCopyInto

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

func (*HCPOpenShiftClusterNodePoolList) DeepCopyObject

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

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

func (*HCPOpenShiftClusterNodePoolList) GetObjectKind

type HCPOpenShiftClusterNodePoolProperties

type HCPOpenShiftClusterNodePoolProperties struct {
	ProvisioningState       arm.ProvisioningState   `json:"provisioningState,omitempty"`
	Version                 NodePoolVersionProfile  `json:"version,omitempty"`
	Platform                NodePoolPlatformProfile `json:"platform,omitempty"`
	Replicas                int32                   `json:"replicas,omitempty"`
	AutoRepair              bool                    `json:"autoRepair,omitempty"`
	AutoScaling             *NodePoolAutoScaling    `json:"autoScaling,omitempty"`
	Labels                  map[string]string       `json:"labels,omitempty"`
	Taints                  []Taint                 `json:"taints,omitempty"`
	NodeDrainTimeoutMinutes *int32                  `json:"nodeDrainTimeoutMinutes,omitempty"`
}

HCPOpenShiftClusterNodePoolProperties represents the property bag of a HCPOpenShiftClusterNodePool resource.

func (*HCPOpenShiftClusterNodePoolProperties) DeepCopy

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

func (*HCPOpenShiftClusterNodePoolProperties) DeepCopyInto

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

type HCPOpenShiftClusterNodePoolServiceProviderProperties

type HCPOpenShiftClusterNodePoolServiceProviderProperties struct {
	ExistingCosmosUID string     `json:"-"`
	ClusterServiceID  InternalID `json:"clusterServiceID,omitempty"`
	ActiveOperationID string     `json:"activeOperationId,omitempty"`
}

func (*HCPOpenShiftClusterNodePoolServiceProviderProperties) DeepCopy

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

func (*HCPOpenShiftClusterNodePoolServiceProviderProperties) DeepCopyInto

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

type HCPOpenShiftClusterServiceProviderProperties

type HCPOpenShiftClusterServiceProviderProperties struct {
	ExistingCosmosUID string                         `json:"-"`
	ProvisioningState arm.ProvisioningState          `json:"provisioningState,omitempty"`
	ClusterServiceID  InternalID                     `json:"clusterServiceID,omitempty"`
	ActiveOperationID string                         `json:"activeOperationId,omitempty"`
	DNS               ServiceProviderDNSProfile      `json:"dns,omitempty"`
	Console           ServiceProviderConsoleProfile  `json:"console,omitempty"`
	API               ServiceProviderAPIProfile      `json:"api,omitempty"`
	Platform          ServiceProviderPlatformProfile `json:"platform,omitempty"`

	// ExperimentalFeatures captures experimental feature state evaluated from
	// AFEC and per-resource tags. Stored in Cosmos but NOT exposed via ARM API.
	ExperimentalFeatures ExperimentalFeatures `json:"experimentalFeatures,omitzero"`
}

HCPOpenShiftClusterCustomerProperties represents the property bag of a HCPOpenShiftCluster resource.

func (*HCPOpenShiftClusterServiceProviderProperties) DeepCopy

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

func (*HCPOpenShiftClusterServiceProviderProperties) DeepCopyInto

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

type HCPOpenShiftVersion

type HCPOpenShiftVersion struct {
	arm.ProxyResource
	Properties HCPOpenShiftVersionProperties `json:"properties,omitempty"`
}

HCPOpenShiftVersion represents a location-based available HCP OpenShift version resource.

func (*HCPOpenShiftVersion) DeepCopy

func (in *HCPOpenShiftVersion) DeepCopy() *HCPOpenShiftVersion

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

func (*HCPOpenShiftVersion) DeepCopyInto

func (in *HCPOpenShiftVersion) DeepCopyInto(out *HCPOpenShiftVersion)

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

type HCPOpenShiftVersionProperties

type HCPOpenShiftVersionProperties struct {
	ChannelGroup       string    `json:"channelGroup"`
	Enabled            bool      `json:"enabled"`
	EndOfLifeTimestamp time.Time `json:"endOfLifeTimestamp"`
}

HCPOpenShiftVersionProperties contains details of an available HCP OpenShift version.

func (*HCPOpenShiftVersionProperties) DeepCopy

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

func (*HCPOpenShiftVersionProperties) DeepCopyInto

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

type InternalID

type InternalID struct {
	// contains filtered or unexported fields
}

InternalID represents a Cluster Service resource.

func NewInternalID

func NewInternalID(path string) (InternalID, error)

NewInternalID attempts to create a new InternalID from a Cluster Service API path, returning an error if the API path is invalid or unsupported.

func (*InternalID) ClusterID

func (id *InternalID) ClusterID() string

ClusterID returns the path element following "clusters", if present.

func (*InternalID) DeepCopy

func (in *InternalID) DeepCopy() *InternalID

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

func (*InternalID) DeepCopyInto

func (in *InternalID) DeepCopyInto(out *InternalID)

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

func (*InternalID) ID

func (id *InternalID) ID() string

ID returns the last path element of the resource described by InternalID.

func (*InternalID) Kind

func (id *InternalID) Kind() string

Kind returns the kind of resource described by InternalID, currently limited to "Cluster" and "NodePool".

func (InternalID) MarshalText

func (id InternalID) MarshalText() ([]byte, error)

MarshalText allows an InternalID to be used as an encoding.TextMarshaler.

func (*InternalID) Path

func (id *InternalID) Path() string

func (*InternalID) String

func (id *InternalID) String() string

String allows an InternalID to be used as a fmt.Stringer.

func (*InternalID) UnmarshalText

func (id *InternalID) UnmarshalText(text []byte) error

UnmarshalText allows an InternalID to be used as an encoding.TextUnmarshaler.

type InternalTestResource

type InternalTestResource struct {
	arm.TrackedResource
	Identity *arm.ManagedServiceIdentity `json:"identity"`
}

func (*InternalTestResource) DeepCopy

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

func (*InternalTestResource) DeepCopyInto

func (in *InternalTestResource) DeepCopyInto(out *InternalTestResource)

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

type KmsEncryptionProfile

type KmsEncryptionProfile struct {
	ActiveKey KmsKey `json:"activeKey,omitempty"`
}

KmsEncryptionProfile represents a data encryption configuration for ETCD using customer-managed Key Management Service (KMS) keys. Visibility for the entire struct is "read create".

func (*KmsEncryptionProfile) DeepCopy

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

func (*KmsEncryptionProfile) DeepCopyInto

func (in *KmsEncryptionProfile) DeepCopyInto(out *KmsEncryptionProfile)

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

type KmsKey

type KmsKey struct {
	Name      string `json:"name"`
	VaultName string `json:"vaultName"`
	Version   string `json:"version"`
}

KmsKey represents an Azure KeyVault secret. Visibility for the entire struct is "read create".

func (*KmsKey) DeepCopy

func (in *KmsKey) DeepCopy() *KmsKey

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

func (*KmsKey) DeepCopyInto

func (in *KmsKey) DeepCopyInto(out *KmsKey)

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

type NetworkProfile

type NetworkProfile struct {
	NetworkType NetworkType `json:"networkType,omitempty"`
	PodCIDR     string      `json:"podCidr,omitempty"`
	ServiceCIDR string      `json:"serviceCidr,omitempty"`
	MachineCIDR string      `json:"machineCidr,omitempty"`
	HostPrefix  int32       `json:"hostPrefix,omitempty"`
}

NetworkProfile represents a cluster network configuration. Visibility for the entire struct is "read create".

func (*NetworkProfile) DeepCopy

func (in *NetworkProfile) DeepCopy() *NetworkProfile

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

func (*NetworkProfile) DeepCopyInto

func (in *NetworkProfile) DeepCopyInto(out *NetworkProfile)

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

type NetworkType

type NetworkType string

NetworkType represents an OpenShift cluster network plugin.

const (
	NetworkTypeOVNKubernetes NetworkType = "OVNKubernetes"
	NetworkTypeOther         NetworkType = "Other"
)

type NodePoolAutoScaling

type NodePoolAutoScaling struct {
	Min int32 `json:"min,omitempty"`
	Max int32 `json:"max,omitempty"`
}

NodePoolAutoScaling represents a node pool autoscaling configuration. Visibility for the entire struct is "read create update". max=200 for both Min and Max when the node pool's Platform.AvailabilityZone is unset.

func (*NodePoolAutoScaling) DeepCopy

func (in *NodePoolAutoScaling) DeepCopy() *NodePoolAutoScaling

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

func (*NodePoolAutoScaling) DeepCopyInto

func (in *NodePoolAutoScaling) DeepCopyInto(out *NodePoolAutoScaling)

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

type NodePoolPlatformProfile

type NodePoolPlatformProfile struct {
	SubnetID               *azcorearm.ResourceID `json:"subnetId,omitempty"`
	VMSize                 string                `json:"vmSize,omitempty"`
	EnableEncryptionAtHost bool                  `json:"enableEncryptionAtHost"`
	OSDisk                 OSDiskProfile         `json:"osDisk"`
	AvailabilityZone       string                `json:"availabilityZone,omitempty"`
}

NodePoolPlatformProfile represents a worker node pool configuration. Visibility for the entire struct is "read create".

func (*NodePoolPlatformProfile) DeepCopy

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

func (*NodePoolPlatformProfile) DeepCopyInto

func (in *NodePoolPlatformProfile) DeepCopyInto(out *NodePoolPlatformProfile)

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

type NodePoolVersionProfile

type NodePoolVersionProfile struct {
	ID           string `json:"id,omitempty"`
	ChannelGroup string `json:"channelGroup,omitempty"`
}

NodePoolVersionProfile represents the worker node pool version. Visbility for the entire struct is "read create update".

func (*NodePoolVersionProfile) DeepCopy

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

func (*NodePoolVersionProfile) DeepCopyInto

func (in *NodePoolVersionProfile) DeepCopyInto(out *NodePoolVersionProfile)

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

type OSDiskProfile

type OSDiskProfile struct {
	SizeGiB                *int32                 `json:"sizeGiB,omitempty"`
	DiskStorageAccountType DiskStorageAccountType `json:"diskStorageAccountType,omitempty"`
	EncryptionSetID        *azcorearm.ResourceID  `json:"encryptionSetId,omitempty"`
}

OSDiskProfile represents a OS Disk configuration. Visibility for the entire struct is "read create".

func (*OSDiskProfile) DeepCopy

func (in *OSDiskProfile) DeepCopy() *OSDiskProfile

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

func (*OSDiskProfile) DeepCopyInto

func (in *OSDiskProfile) DeepCopyInto(out *OSDiskProfile)

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

type Operation

type Operation struct {
	CosmosMetadata `json:"cosmosMetadata"`

	// ResourceID must be serialized exactly here for the generic CRUD to work.
	// ResourceID here is NOT an ARM resourceID, it just parses like and one and is guarantee unique
	ResourceID *azcorearm.ResourceID `json:"resourceId"`

	// TenantID is the tenant ID of the client that requested the operation
	TenantID string `json:"tenantId,omitempty"`
	// ClientID is the object ID of the client that requested the operation
	ClientID string `json:"clientId,omitempty"`
	// Request is the type of asynchronous operation requested
	Request OperationRequest `json:"request,omitempty"`
	// ExternalID is the Azure resource ID of the cluster or node pool
	ExternalID *azcorearm.ResourceID `json:"externalId,omitempty"`
	// InternalID is the Cluster Service resource identifier in the form of a URL path
	InternalID InternalID `json:"internalId,omitempty"`
	// OperationID is the Azure resource ID of the operation status (may be nil if the
	// operation was implicit, such as deleting a child resource along with the parent)
	OperationID *azcorearm.ResourceID `json:"operationId,omitempty"`
	// ClientRequestID is provided by the "x-ms-client-request-id" request header
	ClientRequestID string `json:"clientRequestId,omitempty"`
	// CorrelationRequstID is provided by the "x-ms-correlation-request-id" request header
	CorrelationRequestID string `json:"correlationRequestId,omitempty"`
	// NotificationURI is provided by the Azure-AsyncNotificationUri header if the
	// Async Operation Callbacks ARM feature is enabled
	NotificationURI string `json:"notificationUri,omitempty"`

	// StartTime marks the start of the operation
	StartTime time.Time `json:"startTime,omitempty"`
	// LastTransitionTime marks the most recent state change
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty"`
	// Status is the current operation status, using the same set of values
	// as the resource's provisioning state
	Status arm.ProvisioningState `json:"status,omitempty"`
	// Error is an OData error, present when Status is "Failed" or "Canceled"
	Error *arm.CloudErrorBody `json:"error,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Operation) ComputeLogicalResourceID

func (o *Operation) ComputeLogicalResourceID() *azcorearm.ResourceID

func (*Operation) DeepCopy

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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

func (*Operation) DeepCopyObject

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

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

func (*Operation) GetObjectKind

func (o *Operation) GetObjectKind() schema.ObjectKind

func (*Operation) GetObjectMeta

func (o *Operation) GetObjectMeta() metav1.Object

type OperationList

type OperationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Operation `json:"items"`
}

OperationList is a list of Operations compatible with runtime.Object for use with Kubernetes informer machinery. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*OperationList) DeepCopy

func (in *OperationList) DeepCopy() *OperationList

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

func (*OperationList) DeepCopyInto

func (in *OperationList) DeepCopyInto(out *OperationList)

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

func (*OperationList) DeepCopyObject

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

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

func (*OperationList) GetObjectKind

func (l *OperationList) GetObjectKind() schema.ObjectKind

type OperationRequest

type OperationRequest string
const (
	OperationRequestCreate OperationRequest = "Create"
	OperationRequestUpdate OperationRequest = "Update"
	OperationRequestDelete OperationRequest = "Delete"

	// These are for POST actions on resources.
	OperationRequestRequestCredential OperationRequest = "RequestCredential"
	OperationRequestRevokeCredentials OperationRequest = "RevokeCredentials"
)

type OperatorsAuthenticationProfile

type OperatorsAuthenticationProfile struct {
	UserAssignedIdentities UserAssignedIdentitiesProfile `json:"userAssignedIdentities,omitempty"`
}

OperatorsAuthenticationProfile represents authentication configuration for OpenShift operators. Visibility for the entire struct is "read create".

func (*OperatorsAuthenticationProfile) DeepCopy

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

func (*OperatorsAuthenticationProfile) DeepCopyInto

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

type OutboundType

type OutboundType string

OutboundType represents a routing strategy to provide egress to the Internet.

const (
	OutboundTypeLoadBalancer OutboundType = "LoadBalancer"
)

type ServiceProviderAPIProfile

type ServiceProviderAPIProfile struct {
	URL string `json:"url,omitempty"`
}

func (*ServiceProviderAPIProfile) DeepCopy

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

func (*ServiceProviderAPIProfile) DeepCopyInto

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

type ServiceProviderCluster

type ServiceProviderCluster struct {
	// CosmosMetadata ResourceID is nested under the cluster so that association and cleanup work as expected
	// it will be the ServiceProviderCluster type and the name default
	CosmosMetadata `json:"cosmosMetadata"`

	// resourceID exists to match cosmosMetadata.resourceID until we're able to transition all types to use cosmosMetadata,
	// at which point we will stop using properties.resourceId in our queries. That will be about a month from now.
	ResourceID azcorearm.ResourceID `json:"resourceId"`

	LoadBalancerResourceID *azcorearm.ResourceID `json:"loadBalancerResourceID,omitempty"`

	Spec ServiceProviderClusterSpec `json:"spec"`

	// Status contains the observed state of the cluster.
	Status ServiceProviderClusterStatus `json:"status,omitempty"`
}

ServiceProviderCluster is used internally by controllers to track and pass information between them. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ServiceProviderCluster) DeepCopy

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

func (*ServiceProviderCluster) DeepCopyInto

func (in *ServiceProviderCluster) DeepCopyInto(out *ServiceProviderCluster)

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

func (*ServiceProviderCluster) DeepCopyObject

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

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

func (*ServiceProviderCluster) GetObjectKind

func (o *ServiceProviderCluster) GetObjectKind() schema.ObjectKind

func (*ServiceProviderCluster) GetObjectMeta

func (o *ServiceProviderCluster) GetObjectMeta() metav1.Object

type ServiceProviderClusterList

type ServiceProviderClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ServiceProviderCluster `json:"items"`
}

ServiceProviderClusterList is a list of ServiceProviderClusters compatible with runtime.Object for use with Kubernetes informer machinery. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ServiceProviderClusterList) DeepCopy

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

func (*ServiceProviderClusterList) DeepCopyInto

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

func (*ServiceProviderClusterList) DeepCopyObject

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

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

func (*ServiceProviderClusterList) GetObjectKind

func (l *ServiceProviderClusterList) GetObjectKind() schema.ObjectKind

type ServiceProviderClusterSpec

type ServiceProviderClusterSpec struct {
	// ControlPlaneVersion contains the desired control plane version information.
	// Example JSON structure:
	// {
	//   "control_plane_version": {
	//     "desired_version": "4.19.2"
	//   }
	// }
	ControlPlaneVersion ServiceProviderClusterSpecVersion `json:"control_plane_version,omitempty"`

	// DesiredHostedCluster is the HostedCluster that we want to exist on the management cluster.
	// We will only explicitly set the fields we care about, but serialization may store additional empty fields.
	// Once this contains the critical values, we will create it on management clusters.
	// We may or may not choose to store the actual state in status.  We may choose to store the actual state independently.
	DesiredHostedCluster *v1beta1.HostedCluster `json:"desiredHostedCluster,omitempty"`
}

ServiceProviderClusterSpec contains the desired state of the cluster.

func (*ServiceProviderClusterSpec) DeepCopy

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

func (*ServiceProviderClusterSpec) DeepCopyInto

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

type ServiceProviderClusterSpecVersion

type ServiceProviderClusterSpecVersion struct {
	// DesiredVersion is the full version the controller has resolved and wants to upgrade to (format: x.y.z)
	// This is compared on each sync to detect when a new upgrade should be triggered.
	DesiredVersion *semver.Version `json:"desired_version,omitempty"`
}

ServiceProviderClusterSpecVersion contains the desired version information.

func (*ServiceProviderClusterSpecVersion) DeepCopy

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

func (*ServiceProviderClusterSpecVersion) DeepCopyInto

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

type ServiceProviderClusterStatus

type ServiceProviderClusterStatus struct {
	// ControlPlaneVersion contains the actual control plane version information.
	// ActiveVersions contains all versions currently active in the control plane.
	// Currently, we maintain up to two versions, but this is designed to hold all active versions
	// and will be expanded to track the complete set when we start reading from Maestro.
	//
	// During an upgrade, multiple versions can be active simultaneously. For example:
	// - Simple upgrade: [vNew, vOld]
	// - Sequential upgrades before completion: [vNewest, vNewer, vNew, vOld]
	//
	// The list is ordered with the most recent version first.
	//
	// Example JSON structure:
	// {
	//   "control_plane_version": {
	//     "active_versions": [
	//       {"version": "4.19.2"},
	//       {"version": "4.19.1"}
	//     ]
	//   }
	// }
	ControlPlaneVersion ServiceProviderClusterStatusVersion `json:"control_plane_version,omitempty"`

	// Validations is a list of conditions that tracks the status of each cluster validation.
	// Each Condition Type represents a validation and it should be unique among all validations.
	// A Condition Status of True means that the validation passed successfully, and a Condition Status of False means that the validation failed.
	// The Condition Reason and Message are used to provide more details about the validation status.
	// The Condition LastTransitionTime is used to track the last time the validation transitioned from one status to another.
	Validations []Condition `json:"validations,omitempty"`
}

ServiceProviderClusterStatus contains the observed state of the cluster.

func (*ServiceProviderClusterStatus) DeepCopy

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

func (*ServiceProviderClusterStatus) DeepCopyInto

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

type ServiceProviderClusterStatusVersion

type ServiceProviderClusterStatusVersion struct {
	// ActiveVersions is an array of versions currently active in the control plane, ordered with the most recent first.
	// During upgrades, multiple versions can be active simultaneously.
	ActiveVersions []HCPClusterActiveVersion `json:"active_versions,omitempty"`
}

ServiceProviderClusterStatusVersion contains the actual version information.

func (*ServiceProviderClusterStatusVersion) DeepCopy

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

func (*ServiceProviderClusterStatusVersion) DeepCopyInto

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

type ServiceProviderConsoleProfile

type ServiceProviderConsoleProfile struct {
	URL string `json:"url,omitempty"`
}

ServiceProviderConsoleProfile represents a cluster web console configuration. Visibility for the entire struct is "read".

func (*ServiceProviderConsoleProfile) DeepCopy

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

func (*ServiceProviderConsoleProfile) DeepCopyInto

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

type ServiceProviderDNSProfile

type ServiceProviderDNSProfile struct {
	BaseDomain string `json:"baseDomain,omitempty"`
}

ServiceProviderDNSProfile represents the DNS configuration of the cluster.

func (*ServiceProviderDNSProfile) DeepCopy

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

func (*ServiceProviderDNSProfile) DeepCopyInto

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

type ServiceProviderNodePool

type ServiceProviderNodePool struct {
	// CosmosMetadata ResourceID is nested under the cluster so that association and cleanup work as expected
	// it will be the ServiceProviderNodePool type and the name default
	CosmosMetadata `json:"cosmosMetadata"`

	// resourceID exists to match cosmosMetadata.resourceID until we're able to transition all types to use cosmosMetadata,
	// at which point we will stop using properties.resourceId in our queries. That will be about a month from now.
	ResourceID azcorearm.ResourceID `json:"resourceId"`
}

ServiceProviderNodePool is used internally by controllers to track and pass information between them.

func (*ServiceProviderNodePool) DeepCopy

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

func (*ServiceProviderNodePool) DeepCopyInto

func (in *ServiceProviderNodePool) DeepCopyInto(out *ServiceProviderNodePool)

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

type ServiceProviderPlatformProfile

type ServiceProviderPlatformProfile struct {
	IssuerURL string `json:"issuerUrl,omitempty"`
}

func (*ServiceProviderPlatformProfile) DeepCopy

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

func (*ServiceProviderPlatformProfile) DeepCopyInto

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

type Taint

type Taint struct {
	Effect Effect `json:"effect,omitempty"`
	Key    string `json:"key,omitempty"`
	Value  string `json:"value,omitempty"`
}

Taint represents a Kubernetes taint for a node. Visibility for the entire struct is "read create update".

func (*Taint) DeepCopy

func (in *Taint) DeepCopy() *Taint

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

func (*Taint) DeepCopyInto

func (in *Taint) DeepCopyInto(out *Taint)

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

type TokenClaimMappingsProfile

type TokenClaimMappingsProfile struct {
	Username UsernameClaimProfile `json:"username"`
	Groups   *GroupClaimProfile   `json:"groups"`
}

External Auth claim mappings profile. At a minimum username or groups must be defined. Visibility for the entire struct is "read create update".

func (*TokenClaimMappingsProfile) DeepCopy

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

func (*TokenClaimMappingsProfile) DeepCopyInto

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

type TokenClaimValidationRule

type TokenClaimValidationRule struct {
	Type          TokenValidationRuleType `json:"type"`
	RequiredClaim TokenRequiredClaim      `json:"requiredClaim"`
}

External Auth claim validation rule Visibility for the entire struct is "read create update".

func (*TokenClaimValidationRule) DeepCopy

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

func (*TokenClaimValidationRule) DeepCopyInto

func (in *TokenClaimValidationRule) DeepCopyInto(out *TokenClaimValidationRule)

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

type TokenIssuerProfile

type TokenIssuerProfile struct {
	URL       string   `json:"url"`
	Audiences []string `json:"audiences"`
	CA        string   `json:"ca"`
}

Token issuer profile This configures how the platform interacts with the identity provider and how tokens issued from the identity provider are evaluated by the Kubernetes API server. Visbility for the entire struct is "read create update".

func (*TokenIssuerProfile) DeepCopy

func (in *TokenIssuerProfile) DeepCopy() *TokenIssuerProfile

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

func (*TokenIssuerProfile) DeepCopyInto

func (in *TokenIssuerProfile) DeepCopyInto(out *TokenIssuerProfile)

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

type TokenRequiredClaim

type TokenRequiredClaim struct {
	Claim         string `json:"claim"`
	RequiredValue string `json:"requiredValue"`
}

Token required claim validation rule. Visibility for the entire struct is "read create update".

func (*TokenRequiredClaim) DeepCopy

func (in *TokenRequiredClaim) DeepCopy() *TokenRequiredClaim

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

func (*TokenRequiredClaim) DeepCopyInto

func (in *TokenRequiredClaim) DeepCopyInto(out *TokenRequiredClaim)

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

type TokenValidationRuleType

type TokenValidationRuleType string
const (
	// TokenValidationRuleTypeRequiredClaim - the Kubernetes API server will be configured to validate that the
	// incoming JWT contains the required claim and that its value matches the required value.
	TokenValidationRuleTypeRequiredClaim TokenValidationRuleType = "RequiredClaim"
)

type UserAssignedIdentitiesProfile

type UserAssignedIdentitiesProfile struct {
	ControlPlaneOperators  map[string]*azcorearm.ResourceID `json:"controlPlaneOperators,omitempty"`
	DataPlaneOperators     map[string]*azcorearm.ResourceID `json:"dataPlaneOperators,omitempty"`
	ServiceManagedIdentity *azcorearm.ResourceID            `json:"serviceManagedIdentity,omitempty"`
}

UserAssignedIdentitiesProfile represents authentication configuration for OpenShift operators using user-assigned managed identities. Visibility for the entire struct is "read create".

func (*UserAssignedIdentitiesProfile) DeepCopy

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

func (*UserAssignedIdentitiesProfile) DeepCopyInto

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

type UsernameClaimPrefixPolicy

type UsernameClaimPrefixPolicy string
const (
	// UsernameClaimPrefixPolicyPrefix - prefix the JWT claim with the value of Prefix.
	UsernameClaimPrefixPolicyPrefix UsernameClaimPrefixPolicy = "Prefix"
	// UsernameClaimPrefixPolicyNoPrefix - do not prefix the JWT claim.
	UsernameClaimPrefixPolicyNoPrefix UsernameClaimPrefixPolicy = "NoPrefix"
	// UsernameClaimPrefixPolicyNone - let the platform choose an appropriate prefix.
	UsernameClaimPrefixPolicyNone UsernameClaimPrefixPolicy = "None"
)

type UsernameClaimProfile

type UsernameClaimProfile struct {
	Claim        string                    `json:"claim"`
	Prefix       string                    `json:"prefix"`
	PrefixPolicy UsernameClaimPrefixPolicy `json:"prefixPolicy"`
}

External Auth claim profile This configures how the username of a cluster identity should be constructed from the claims in a JWT token issued by the identity provider. Visibility for the entire struct is "read create update".

func (*UsernameClaimProfile) DeepCopy

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

func (*UsernameClaimProfile) DeepCopyInto

func (in *UsernameClaimProfile) DeepCopyInto(out *UsernameClaimProfile)

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

type ValidationPathMapperFunc

type ValidationPathMapperFunc func(path string) string

ValidationPathMapperFunc takes an internal path from validation and converts it to the external path for this particular version. This needs to be as close as possible, but perfection isn't required since fields could be split or combined.

type Version

type Version interface {
	fmt.Stringer

	ValidationPathRewriter(obj any) (ValidationPathMapperFunc, error)

	// Resource Types
	// Passing a nil pointer creates a resource with default values.
	NewHCPOpenShiftCluster(*HCPOpenShiftCluster) VersionedHCPOpenShiftCluster
	NewHCPOpenShiftClusterNodePool(*HCPOpenShiftClusterNodePool) VersionedHCPOpenShiftClusterNodePool
	NewHCPOpenShiftClusterExternalAuth(*HCPOpenShiftClusterExternalAuth) VersionedHCPOpenShiftClusterExternalAuth
	NewHCPOpenShiftVersion(*HCPOpenShiftVersion) VersionedHCPOpenShiftVersion

	// Response Marshaling
	MarshalHCPOpenShiftClusterAdminCredential(*HCPOpenShiftClusterAdminCredential) ([]byte, error)
}

type VersionProfile

type VersionProfile struct {
	ID           string `json:"id,omitempty"`
	ChannelGroup string `json:"channelGroup,omitempty"`
}

VersionProfile represents the cluster control plane version.

func (*VersionProfile) DeepCopy

func (in *VersionProfile) DeepCopy() *VersionProfile

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

func (*VersionProfile) DeepCopyInto

func (in *VersionProfile) DeepCopyInto(out *VersionProfile)

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

type VersionedCreatableResource

type VersionedCreatableResource[InternalAPIType any] interface {
	VersionedResource
	NewExternal() any
	SetDefaultValues(any) error
	ConvertToInternal() (*InternalAPIType, error)
}

type VersionedHCPOpenShiftVersion

type VersionedHCPOpenShiftVersion VersionedResource

type VersionedResource

type VersionedResource interface {
}

type Visibility

type Visibility string

Visibility represents the visibility of an API endpoint.

const (
	VisibilityPublic  Visibility = "Public"
	VisibilityPrivate Visibility = "Private"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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