coreapi

package
v0.0.0-...-e4d13e8 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	DefaultClusterVersionChannelGroup               = "stable"
	DefaultClusterNetworkPodCIDR                    = "10.128.0.0/14"
	DefaultClusterNetworkServiceCIDR                = "172.30.0.0/16"
	DefaultClusterNetworkMachineCIDR                = "10.0.0.0/16"
	DefaultClusterNetworkHostPrefix           int32 = 23
	DefaultClusterMaxPodGracePeriodSeconds    int32 = 600
	DefaultClusterMaxNodeProvisionTimeSeconds int32 = 900
	DefaultClusterPodPriorityThreshold        int32 = -10
)

Cluster defaults

View Source
const (
	DefaultNodePoolVersionChannelGroup       = "stable"
	DefaultNodePoolOSDiskSizeGiB       int32 = 64
)

NodePool defaults

DefaultNodePoolVersionChannelGroup is intentionally separate from DefaultClusterVersionChannelGroup to allow independent evolution.

View Source
const (
	CloudErrorCodeInternalServerError      = "InternalServerError"
	CloudErrorCodeServiceUnavailable       = "ServiceUnavailable"
	CloudErrorCodeInvalidParameter         = "InvalidParameter"
	CloudErrorCodeInvalidRequestContent    = "InvalidRequestContent"
	CloudErrorCodeInvalidResource          = "InvalidResource"
	CloudErrorCodeInvalidResourceType      = "InvalidResourceType"
	CloudErrorCodeMultipleErrorsOccurred   = "MultipleErrorsOccurred"
	CloudErrorCodeUnsupportedMediaType     = "UnsupportedMediaType"
	CloudErrorCodeCanceled                 = "Canceled"
	CloudErrorCodeConflict                 = "Conflict"
	CloudErrorCodeNotFound                 = "NotFound"
	CloudErrorCodeInvalidSubscriptionState = "InvalidSubscriptionState"
	CloudErrorCodeSubscriptionNotFound     = "SubscriptionNotFound"
	CloudErrorCodeResourceNotFound         = "ResourceNotFound"
	CloudErrorCodeResourceGroupNotFound    = "ResourceGroupNotFound"
	CloudErrorCodeInvalidSubscriptionID    = "InvalidSubscriptionID"
	CloudErrorCodeInvalidResourceName      = "InvalidResourceName"
	CloudErrorCodeInvalidResourceGroupName = "InvalidResourceGroupName"
	CloudErrorCodeLockContention           = "LockContention"
)

CloudError codes

View Source
const (
	// Azure-specific HTTP header names
	HeaderNameAsyncOperation       = "Azure-AsyncOperation"
	HeaderNameAsyncNotification    = "Azure-AsyncNotification"
	HeaderNameAsyncNotificationURI = "Azure-AsyncNotificationUri"

	// Microsoft-specific HTTP header names
	HeaderNameErrorCode             = "X-Ms-Error-Code"
	HeaderNameHomeTenantID          = "X-Ms-Home-Tenant-Id"
	HeaderNameClientObjectID        = "X-Ms-Client-Object-Id"
	HeaderNameRequestID             = "X-Ms-Request-Id"
	HeaderNameClientRequestID       = "X-Ms-Client-Request-Id"
	HeaderNameCorrelationRequestID  = "X-Ms-Correlation-Request-Id"
	HeaderNameReturnClientRequestID = "X-Ms-Return-Client-Request-Id"
	HeaderNameARMResourceSystemData = "X-Ms-Arm-Resource-System-Data"
	HeaderNameIdentityURL           = "X-Ms-Identity-Url"
	HeaderClientPrincipalName       = "X-Ms-Client-Principal-Name"
)
View Source
const (
	NamespaceOperationRead   = "read"
	NamespaceOperationWrite  = "write"
	NamespaceOperationDelete = "delete"
	NamespaceOperationAction = "action"
)

The last path segment of Name must be one of these.

View Source
const (
	ProviderNamespace                               = "Microsoft.RedHatOpenShift"
	ClusterResourceTypeName                         = "hcpOpenShiftClusters"
	ServiceProviderClusterResourceTypeName          = "serviceProviderClusters"
	ServiceProviderNodePoolResourceTypeName         = "serviceProviderNodePools"
	VersionResourceTypeName                         = "hcpOpenShiftVersions"
	NodePoolResourceTypeName                        = "nodePools"
	ExternalAuthResourceTypeName                    = "externalAuths"
	OperationResultResourceTypeName                 = "hcpOperationResults"
	OperationStatusResourceTypeName                 = "hcpOperationStatuses"
	ControllerResourceTypeName                      = "hcpOpenShiftControllers"
	RequestAdminCredentialActionTypeName            = "requestadmincredential"
	RevokeAdminCredentialsActionTypeName            = "revokecredentials"
	ManagementClusterContentResourceTypeName        = "managementClusterContents"
	SystemAdminCredentialRequestResourceTypeName    = "systemAdminCredentialRequests"
	SystemAdminCredentialRevocationResourceTypeName = "systemAdminCredentialRevocations"
)
View Source
const (
	VersionUpgradeNotAcceptedReason string = "VersionUpgradeNotAccepted"
	NoErrorsReason                  string = "NoErrors"
)

Known ServiceProviderCluster and ServiceProviderNodePool status condition Reason values (metav1.Condition.Reason).

View Source
const (
	// ExternalAuthConsoleClientComponentName is the name of the OpenShift console component to be configured to use the identity provider for authentication.
	ExternalAuthConsoleClientComponentName = "console"
	// ExternalAuthConsoleClientComponentNamespace is the namespace where the OpenShift console is deployed.
	ExternalAuthConsoleClientComponentNamespace = "openshift-console"
)
View Source
const (
	SystemAdminCredentialRequestConditionIssued             = "Issued"
	SystemAdminCredentialRequestConditionFailed             = "Failed"
	SystemAdminCredentialRequestConditionAwaitingRevocation = "AwaitingRevocation"
	SystemAdminCredentialRequestConditionRevoked            = "Revoked"
	SystemAdminCredentialRequestConditionContentDeleted     = "ContentDeleted"
)

SystemAdminCredentialRequest condition types.

View Source
const (
	SystemAdminCredentialRevocationConditionCredentialsMarkedForDeletion = "CredentialsMarkedForDeletion"
	SystemAdminCredentialRevocationConditionCertificatesRevoked          = "CertificatesRevoked"
	SystemAdminCredentialRevocationConditionComplete                     = "Complete"
)

SystemAdminCredentialRevocation condition types.

View Source
const (
	ControllerConditionReasonAsExpected = "AsExpected"
)

Known controller status condition Reason values (metav1.Condition.Reason).

View Source
const (
	ControllerConditionTypeIntentFailed = "IntentFailed"
)

Controller status condition Type values (metav1.Condition.Type) for HCP controller documents.

View Source
const (
	// DegradedCondition is True when the resource is in a degraded state.
	// Applies to ServiceProviderCluster and ServiceProviderNodePool.
	DegradedCondition = "Degraded"
)
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"
)
View Source
const SubscriptionAPIVersion = "2.0"

SubscriptionAPIVersion is the system API version for the subscription endpoint.

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))
	// ClusterScopedManagementClusterContentResourceType is managementClusterContents nested directly under a Cluster
	ClusterScopedManagementClusterContentResourceType = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, ManagementClusterContentResourceTypeName))
	// NodePoolScopedManagementClusterContentResourceType is managementClusterContents nested under a Node Pool
	NodePoolScopedManagementClusterContentResourceType = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, NodePoolResourceTypeName, ManagementClusterContentResourceTypeName))
	// SystemAdminCredentialRequestResourceType is systemAdminCredentialRequests nested directly under a Cluster
	SystemAdminCredentialRequestResourceType = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName+"/"+SystemAdminCredentialRequestResourceTypeName)
	// SystemAdminCredentialRequestControllerResourceType is controllers nested under systemAdminCredentialRequests
	SystemAdminCredentialRequestControllerResourceType = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, SystemAdminCredentialRequestResourceTypeName, ControllerResourceTypeName))
	// SystemAdminCredentialRevocationResourceType is systemAdminCredentialRevocations nested directly under a Cluster
	SystemAdminCredentialRevocationResourceType = azcorearm.NewResourceType(ProviderNamespace, ClusterResourceTypeName+"/"+SystemAdminCredentialRevocationResourceTypeName)
	// SystemAdminCredentialRevocationControllerResourceType is controllers nested under systemAdminCredentialRevocations
	SystemAdminCredentialRevocationControllerResourceType = azcorearm.NewResourceType(ProviderNamespace, filepath.Join(ClusterResourceTypeName, SystemAdminCredentialRevocationResourceTypeName, ControllerResourceTypeName))
)
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(metadataapi.InternalID{}, "path"),
		cmpopts.IgnoreFields(metadataapi.InternalID{}, "kind"),
	}
)

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 CloudErrorFromFieldErrors

func CloudErrorFromFieldErrors(fieldErrors field.ErrorList) error

func DeepCopyResourceID

func DeepCopyResourceID(id *azcorearm.ResourceID) *azcorearm.ResourceID

DeepCopyResourceID creates a true deep copy of an azcorearm.ResourceID by round-tripping through its string representation. This is necessary because ResourceID contains unexported fields (including parent pointers) that cannot be copied by simple struct assignment.

func DetectTLE

func DetectTLE(data []byte) (bool, error)

DetectTLE returns true if a Template Language Expression is detected in any part of the JSON input.

func IsTLE

func IsTLE(s string) bool

IsTLE returns true if s is a Template Language Expression.

func IsValidHostedClusterControlPlaneSize

func IsValidHostedClusterControlPlaneSize(s string) bool

IsValidHostedClusterControlPlaneSize reports whether s names a known tier.

func ListProvisioningStates

func ListProvisioningStates() iter.Seq[ProvisioningState]

ListProvisioningStates returns an iterator that yields all recognized ProvisioningState values. This function is intended as a test aid.

func ListSubscriptionStates

func ListSubscriptionStates() iter.Seq[SubscriptionState]

ListSubscriptionStates returns an iterator that yields all recognized SubscriptionState values. This function is intended as a test aid.

func MarshalJSON

func MarshalJSON(v any) ([]byte, error)

MarshalJSON returns the JSON encoding of v.

Call this function instead of the marshal functions in "encoding/json" for HTTP responses to ensure the formatting is consistent.

Note, there is nothing ARM-specific about this function other than all ARM response bodies are JSON-formatted. But the "arm" package is currently the lowest layer insofar as it has no dependencies on other ARO-HCP packages.

func ResourceIDStringToCosmosID

func ResourceIDStringToCosmosID(resourceID string) (string, error)

func ResourceIDToCosmosID

func ResourceIDToCosmosID(resourceID *azcorearm.ResourceID) (string, error)

func ToClusterResourceID

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

func ToClusterResourceIDString

func ToClusterResourceIDString(subscriptionName, resourceGroupName, clusterName string) string

func ToExternalAuthResourceID

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

func ToExternalAuthResourceIDString

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

func ToManagementClusterContentResourceIDString

func ToManagementClusterContentResourceIDString(subscriptionName, resourceGroupName, clusterName, managementClusterContentName 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 ToResourceGroupResourceID

func ToResourceGroupResourceID(subscriptionID, resourceGroupName string) (*azcorearm.ResourceID, error)

func ToResourceGroupResourceIDString

func ToResourceGroupResourceIDString(subscriptionName, resourceGroupName string) string

func ToServiceProviderClusterResourceIDString

func ToServiceProviderClusterResourceIDString(subscriptionName, resourceGroupName, clusterName string) string

func ToServiceProviderNodePoolResourceIDString

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

func ToSubscriptionResourceID

func ToSubscriptionResourceID(subscriptionName string) (*azcorearm.ResourceID, error)

func ToSubscriptionResourceIDString

func ToSubscriptionResourceIDString(subscriptionName string) string

func ToSystemAdminCredentialRequestResourceID

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

func ToSystemAdminCredentialRequestResourceIDString

func ToSystemAdminCredentialRequestResourceIDString(subscriptionName, resourceGroupName, clusterName, credentialName string) string

func ToSystemAdminCredentialRevocationResourceID

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

func ToSystemAdminCredentialRevocationResourceIDString

func ToSystemAdminCredentialRevocationResourceIDString(subscriptionName, resourceGroupName, clusterName, revocationName string) string

func WriteCloudError

func WriteCloudError(w http.ResponseWriter, err *CloudError)

WriteCloudError writes a CloudError to the given ResponseWriter

func WriteConflictError

func WriteConflictError(w http.ResponseWriter, resourceID *azcorearm.ResourceID, format string, a ...interface{})

WriteConflictError writes a conflict error to the given ResponseWriter

func WriteDeploymentPreflightResponse

func WriteDeploymentPreflightResponse(w http.ResponseWriter, preflightErrors []CloudErrorBody)

WriteDeploymentPreflightResponse writes an appropriately structured response body to a deployment preflight request using the given error slice. An empty error slice indicates successful validation.

func WriteError

func WriteError(w http.ResponseWriter, statusCode int, code, target, format string, a ...interface{})

WriteError constructs and writes a CloudError to the given ResponseWriter

func WriteInternalServerError

func WriteInternalServerError(w http.ResponseWriter)

WriteInternalServerError writes an internal server error to the given ResponseWriter

func WriteInvalidRequestContentError

func WriteInvalidRequestContentError(w http.ResponseWriter, err error)

WriteInvalidRequestContentError writes an invalid request content error to the given ResponseWriter

func WriteJSONResponse

func WriteJSONResponse(writer http.ResponseWriter, statusCode int, body any) (int, error)

WriteJSONResponse writes a JSON response body to the http.ResponseWriter in the proper sequence: first setting Content-Type to "application/json", then setting the HTTP status code, and finally writing a JSON encoding of body.

The function accepts anything for the body argument that can be marshalled to JSON. One special case, however, is a byte slice. A byte slice will be written verbatim with the expectation that it was produced by Marshal.

Note, there is nothing ARM-specific about this function other than all ARM response bodies are JSON-formatted. But the "arm" package is currently the lowest layer insofar as it has no dependencies on other ARO-HCP packages.

func WriteResourceNotFoundError

func WriteResourceNotFoundError(w http.ResponseWriter, resourceID *azcorearm.ResourceID)

WriteResourceNotFoundError writes a nonexistent resource error to the given ResponseWriter

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 AccountOwner

type AccountOwner struct {
	Puid  *string `json:"puid,omitempty"`
	Email *string `json:"-,omitempty"` // we don't need to nor want to serialize this field
}

func (*AccountOwner) DeepCopy

func (in *AccountOwner) DeepCopy() *AccountOwner

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

func (*AccountOwner) DeepCopyInto

func (in *AccountOwner) DeepCopyInto(out *AccountOwner)

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

type AvailabilityZone

type AvailabilityZone struct {
	Location     *string        `json:"location,omitempty"`
	ZoneMappings *[]ZoneMapping `json:"zoneMappings,omitempty"`
}

func (*AvailabilityZone) DeepCopy

func (in *AvailabilityZone) DeepCopy() *AvailabilityZone

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

func (*AvailabilityZone) DeepCopyInto

func (in *AvailabilityZone) DeepCopyInto(out *AvailabilityZone)

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

type AzureMultiReference

type AzureMultiReference struct {
	// PendingAzureResources contains resource IDs that have been requested but
	// not yet confirmed to exist in Azure.
	PendingAzureResources []*azcorearm.ResourceID `json:"pendingAzureResources,omitempty"`
	// AzureResources contains resource IDs that have been confirmed to exist in Azure.
	AzureResources []*azcorearm.ResourceID `json:"azureResources,omitempty"`
	// EarliestRecheckTime is the earliest time at which the controller should
	// re-check the pending resources. Nil means recheck immediately.
	// This allows for controllers to avoid repeatedly hitting an Azure API to recheck that the desired state is true.
	// Controllers should set this field with substantial jitter: without another concern, jitter of 50% is considered normal
	// so that any storms are quickly dissipated.
	// Additionally, long recheck times are recommended for resources outside of their active phases. Order of at least
	// six hours is, with durations up to 24 hours considered normal.
	EarliestRecheckTime *metav1.Time `json:"earliestRecheckTime,omitempty"`
}

AzureMultiReference tracks a set of Azure resources through their creation lifecycle. PendingAzureResources holds resource IDs that have been requested but not yet confirmed; AzureResources holds resource IDs that have been confirmed to exist.

func (*AzureMultiReference) DeepCopy

func (in *AzureMultiReference) DeepCopy() *AzureMultiReference

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

func (*AzureMultiReference) DeepCopyInto

func (in *AzureMultiReference) DeepCopyInto(out *AzureMultiReference)

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

type AzureReference

type AzureReference struct {
	// PendingAzureResource is the resource ID that has been requested but
	// not yet confirmed to exist in Azure.
	PendingAzureResource *azcorearm.ResourceID `json:"pendingAzureResource,omitempty"`
	// AzureResource is the resource ID that has been confirmed to exist in Azure.
	AzureResource *azcorearm.ResourceID `json:"azureResource,omitempty"`
	// EarliestRecheckTime is the earliest time at which the controller should
	// re-check the pending resources. Nil means recheck immediately.
	// This allows for controllers to avoid repeatedly hitting an Azure API to recheck that the desired state is true.
	// Controllers should set this field with substantial jitter: without another concern, jitter of 50% is considered normal
	// so that any storms are quickly dissipated.
	// Additionally, long recheck times are recommended for resources outside of their active phases. Order of at least
	// six hours is, with durations up to 24 hours considered normal.
	EarliestRecheckTime *metav1.Time `json:"earliestRecheckTime,omitempty"`
}

AzureReference tracks a single Azure resource through its creation lifecycle. PendingAzureResources holds a resource ID that has been requested but not yet confirmed; AzureResources holds a resource ID that has been confirmed to exist.

func (*AzureReference) DeepCopy

func (in *AzureReference) DeepCopy() *AzureReference

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

func (*AzureReference) DeepCopyInto

func (in *AzureReference) DeepCopyInto(out *AzureReference)

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

type AzureResources

type AzureResources struct {
	// DenyAssignments tracks the deny assignments applied to the cluster's resources.
	DenyAssignments AzureMultiReference `json:"denyAssignments,omitempty"`
	// ManagedResourceGroup tracks the managed resource group for the cluster.
	ManagedResourceGroup AzureReference `json:"managedResourceGroup,omitempty"`
}

AzureResources groups the Azure resource references associated with a cluster.

func (*AzureResources) DeepCopy

func (in *AzureResources) DeepCopy() *AzureResources

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

func (*AzureResources) DeepCopyInto

func (in *AzureResources) DeepCopyInto(out *AzureResources)

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

type BackupScheduleState

type BackupScheduleState string

BackupScheduleState represents the desired state of backup scheduling for a cluster. Maps to Velero Schedule spec.paused: Enabled → paused: false, Disabled → paused: true.

const (
	BackupScheduleStateEnabled  BackupScheduleState = "Enabled"
	BackupScheduleStateDisabled BackupScheduleState = "Disabled"
)

type CloudError

type CloudError struct {
	// The HTTP status code
	StatusCode int `json:"-"`

	// The response body to be converted to JSON
	*CloudErrorBody `json:"error,omitempty"`
}

CloudError represents a complete resource provider error.

func CloudErrorFromFieldError

func CloudErrorFromFieldError(fieldError *field.Error) *CloudError

func NewCloudError

func NewCloudError(statusCode int, code, target, format string, a ...interface{}) *CloudError

NewCloudError returns a new CloudError

func NewConflictError

func NewConflictError(resourceID *azcorearm.ResourceID, format string, a ...interface{}) *CloudError

NewConflictError creates a CloudError for a conflict error

func NewContentValidationError

func NewContentValidationError(errors []CloudErrorBody) *CloudError

NewContentValidationError creates a CloudError from a slice of validation errors. For convenience, if the slice is empty then NewContentValidationError returns nil.

func NewInternalServerError

func NewInternalServerError() *CloudError

NewInternalServerError creates a CloudError for an internal server error

func NewInvalidRequestContentError

func NewInvalidRequestContentError(err error) *CloudError

NewInvalidRequestContentError creates a CloudError for an invalid request content error

func NewResourceNotFoundError

func NewResourceNotFoundError(resourceID *azcorearm.ResourceID) *CloudError

NewResourceNotFoundError creates a CloudError for a nonexistent resource error

func (*CloudError) DeepCopy

func (in *CloudError) DeepCopy() *CloudError

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

func (*CloudError) DeepCopyInto

func (in *CloudError) DeepCopyInto(out *CloudError)

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

func (*CloudError) Error

func (err *CloudError) Error() string

type CloudErrorBody

type CloudErrorBody struct {
	// An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
	Code string `json:"code,omitempty"`

	// A message describing the error, intended to be suitable for display in a user interface.
	Message string `json:"message,omitempty"`

	// The target of the particular error. For example, the name of the property in error.
	Target string `json:"target,omitempty"`

	// A list of additional details about the error.
	Details []CloudErrorBody `json:"details,omitempty"`
}

CloudErrorBody represents the structure of the response body for a resource provider error. See https://github.com/cloud-and-ai-microsoft/resource-provider-contract/blob/master/v1.0/common-api-details.md#error-response-content

func NewCloudErrorBodyFromSlice

func NewCloudErrorBodyFromSlice(errors []CloudErrorBody, multipleErrorsMessage string) *CloudErrorBody

NewCloudErrorBodyFromSlice converts a CloudErrorBody slice to a single CloudErrorBody. If there is only one item in the provided slice, that item is returned directly. If there are multiple items in the provided slice, a CloudErrorBody is returned with the code "MultipleErrorsOccurred", the multipleErrorsMessage, and the Details field set to the provided slice. If the provided slice is empty, the function returns nil.

func (*CloudErrorBody) DeepCopy

func (in *CloudErrorBody) DeepCopy() *CloudErrorBody

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

func (*CloudErrorBody) DeepCopyInto

func (in *CloudErrorBody) DeepCopyInto(out *CloudErrorBody)

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

func (*CloudErrorBody) String

func (body *CloudErrorBody) String() string

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 metadataapi.ClusterImageRegistryState `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 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.
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

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

	Status ControllerStatus `json:"status"`
}

Controller represents a controller instance in the system. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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.

func (*Controller) DeepCopyObject

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

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

func (*Controller) GetObjectKind

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

func (*Controller) GetObjectMeta

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

type ControllerList

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

ControllerList is a list of Controller resources. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ControllerList) DeepCopy

func (in *ControllerList) DeepCopy() *ControllerList

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

func (*ControllerList) DeepCopyInto

func (in *ControllerList) DeepCopyInto(out *ControllerList)

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

func (*ControllerList) DeepCopyObject

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

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

func (*ControllerList) GetObjectKind

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

type ControllerStatus

type ControllerStatus struct {
	// every controller is expected to set a Degraded condition.
	Conditions []metav1.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 CorrelationData

type CorrelationData struct {
	// RequestID is a generated unique identifier for the current operation.
	RequestID uuid.UUID

	// ClientRequestID contains the value of header "x-ms-client-request-id".
	ClientRequestID string `json:"clientRequestId,omitempty"`

	// CorrelationRequestID contains the value of header "x-ms-correlation-request-id".
	CorrelationRequestID string `json:"correlationRequestId,omitempty"`

	// ClientPrincipalName contains the value of header "x-ms-client-principal-name".
	ClientPrincipalName string `json:"clientPrincipalName,omitempty"`
}

CorrelationData represents any data used for metrics or tracing. See: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md

func NewCorrelationData

func NewCorrelationData(r *http.Request) *CorrelationData

NewCorrelationData allocates and initializes a new CorrelationData from HTTP request headers.

func (*CorrelationData) DeepCopy

func (in *CorrelationData) DeepCopy() *CorrelationData

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

func (*CorrelationData) DeepCopyInto

func (in *CorrelationData) DeepCopyInto(out *CorrelationData)

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

type CosmosMetadata

type CosmosMetadata struct {
	ResourceID *azcorearm.ResourceID `json:"resourceID"`

	// ExistingCosmosUID exists to allow for a migration path from where we are today to a uuid based cosmosID
	// and this will be deleted afterwards.
	ExistingCosmosUID string `json:"-"`

	CosmosETag azcore.ETag `json:"etag,omitempty"`

	// InstanceVersion is a field that auto-increments every time the resource is updated.  This gives us the ability to
	// compare two instances of stored resources and determine which one is newer.  We will use this field to integrate
	// changefeeds for controllers and decide which changes are newer than the level we have already observed so that we
	// can periodically re-list all items.
	// The auto-incrementing happens automatically in the storage layer for conditional updates.
	InstanceVersion int64 `json:"instanceVersion"`

	// PartitionKey is the partition key for the CosmosDB document, it must be set before creation and must be all lowercase.
	// On the read-path, during our migration we will fill in an empty value based on the type we're reading.
	// Every type that embeds this struct must comment about what the PartitionKey is. For instance, subscriptionID, managementClusterID, etc.
	PartitionKey string `json:"partitionKey"`
}

CosmosMetadata contains the information that persisted resources must have for us to support CRUD against them. These are not (currently) all stored in the same place in our various types.

func (*CosmosMetadata) DeepCopy

func (in *CosmosMetadata) DeepCopy() *CosmosMetadata

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

func (*CosmosMetadata) DeepCopyInto

func (in *CosmosMetadata) DeepCopyInto(out *CosmosMetadata)

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

func (*CosmosMetadata) GetCosmosData

func (o *CosmosMetadata) GetCosmosData() *CosmosMetadata

func (*CosmosMetadata) GetCosmosUID

func (o *CosmosMetadata) GetCosmosUID() string

func (*CosmosMetadata) GetEtag

func (o *CosmosMetadata) GetEtag() azcore.ETag

func (*CosmosMetadata) GetInstanceVersion

func (o *CosmosMetadata) GetInstanceVersion() int64

GetInstanceVersion returns the monotonically-increasing version counter stored on the document. The CRUD layer auto-increments it via SetInstanceVersion on every Replace (see PrepareForReplace).

func (*CosmosMetadata) GetPartitionKey

func (o *CosmosMetadata) GetPartitionKey() string

GetPartitionKey returns the lowercased partition key stored on the metadata. The CosmosDB CRUD layer is responsible for populating this field on the write path (see EnsurePartitionKey) and on the read path (see the conversion layer's migration fallback); callers may rely on it being set after a successful Create/Get round-trip. The value is lowercased on the way out so callers do not have to do it themselves.

func (*CosmosMetadata) GetResourceID

func (o *CosmosMetadata) GetResourceID() *azcorearm.ResourceID

func (*CosmosMetadata) SetEtag

func (o *CosmosMetadata) SetEtag(cosmosETag azcore.ETag)

func (*CosmosMetadata) SetInstanceVersion

func (o *CosmosMetadata) SetInstanceVersion(v int64)

SetInstanceVersion overwrites the version counter. The CRUD layer is the only legitimate caller; tests can read it via GetInstanceVersion to assert the increment happened.

func (*CosmosMetadata) SetPartitionKey

func (o *CosmosMetadata) SetPartitionKey(partitionKey string)

SetPartitionKey stores the partition key on the metadata, lowercasing the supplied value. Cosmos partition keys are case-sensitive; lowercasing here matches the convention every CRUD already uses and removes a class of "the value differs only in case" bugs at the store/query boundary.

func (*CosmosMetadata) SetResourceID

func (o *CosmosMetadata) SetResourceID(resourceID *azcorearm.ResourceID)

type CosmosMetadataAccessor

type CosmosMetadataAccessor interface {
	CosmosPersistable
	GetCosmosUID() string
	GetResourceID() *azcorearm.ResourceID
	SetResourceID(*azcorearm.ResourceID)
	GetEtag() azcore.ETag
	SetEtag(cosmosETag azcore.ETag)
	GetPartitionKey() string
	SetPartitionKey(string)
	GetInstanceVersion() int64
	SetInstanceVersion(int64)
}

type CosmosMetadataAccessorPtr

type CosmosMetadataAccessorPtr[T any] interface {
	*T
	CosmosMetadataAccessor
}

CosmosMetadataAccessorPtr constrains a type parameter to be a pointer to T that also implements CosmosMetadataAccessor. Generic CRUD code uses this so that a `*T` newObj argument is guaranteed to expose the metadata accessors at compile time, without runtime type assertions.

type CosmosPersistable

type CosmosPersistable interface {
	GetCosmosData() *CosmosMetadata
}

type CreatedByType

type CreatedByType string

CreatedByType is the type of identity that created (or modified) the resource

const (
	CreatedByTypeApplication     CreatedByType = "Application"
	CreatedByTypeKey             CreatedByType = "Key"
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	CreatedByTypeUser            CreatedByType = "User"
)

type CustomerAPIProfile

type CustomerAPIProfile struct {
	Visibility      metadataapi.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 CustomerIngressProfile

type CustomerIngressProfile struct {
	Type metadataapi.IngressType `json:"type,omitempty"`
}

CustomerIngressProfile represents the cluster ingress configuration.

func (*CustomerIngressProfile) DeepCopy

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

func (*CustomerIngressProfile) DeepCopyInto

func (in *CustomerIngressProfile) DeepCopyInto(out *CustomerIngressProfile)

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

type CustomerManagedEncryptionProfile

type CustomerManagedEncryptionProfile struct {
	EncryptionType metadataapi.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 CustomerPlatformProfile

type CustomerPlatformProfile struct {
	ManagedResourceGroup    string                         `json:"managedResourceGroup,omitempty"`
	SubnetID                *azcorearm.ResourceID          `json:"subnetId,omitempty"`
	VnetIntegrationSubnetID *azcorearm.ResourceID          `json:"vnetIntegrationSubnetId,omitempty"`
	OutboundType            metadataapi.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 DeploymentPreflight

type DeploymentPreflight struct {
	Resources []json.RawMessage `json:"resources"`
}

DeploymentPreflight represents the body of a deployment preflight request. We use a RawMessage slice here because preflight validation is best effort. So if one resource cannot be unmarshaled we move on to the next instead of failing the whole operation.

func UnmarshalDeploymentPreflight

func UnmarshalDeploymentPreflight(data []byte) (*DeploymentPreflight, error)

UnmarshalDeploymentPreflight unmarshals JSON-encoded data and returns either a DeploymentPreflight instance or an appropriate CloudError with a 200 OK HTTP status code.

func (*DeploymentPreflight) DeepCopy

func (in *DeploymentPreflight) DeepCopy() *DeploymentPreflight

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

func (*DeploymentPreflight) DeepCopyInto

func (in *DeploymentPreflight) DeepCopyInto(out *DeploymentPreflight)

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

type DeploymentPreflightResource

type DeploymentPreflightResource struct {
	Name       string `json:"name"`
	Type       string `json:"type"`
	Location   string `json:"location"`
	APIVersion string `json:"apiVersion,omitempty"`

	// Preserve other tracked resource fields as raw data.
	Identity   json.RawMessage `json:"identity,omitempty"`
	Properties json.RawMessage `json:"properties,omitempty"`
	Tags       json.RawMessage `json:"tags,omitempty"`
	SystemData json.RawMessage `json:"systemData,omitempty"`
}

DeploymentPreflightResource represents a desired resource in a deployment preflight request.

func (*DeploymentPreflightResource) Convert

func (r *DeploymentPreflightResource) Convert(v any) error

Convert discards the APIVersion, marshals itself back to raw JSON, and then unmarshals the raw JSON to the given value, which should be an extension of the TrackedResource type.

func (*DeploymentPreflightResource) DeepCopy

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

func (*DeploymentPreflightResource) DeepCopyInto

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

func (*DeploymentPreflightResource) ResourceID

func (r *DeploymentPreflightResource) ResourceID(subscriptionID, resourceGroup string) string

ResourceID returns a resource ID string for the resource.

type DeploymentPreflightResponse

type DeploymentPreflightResponse struct {
	Status DeploymentPreflightStatus `json:"status"`
	Error  *CloudErrorBody           `json:"error,omitempty"`
}

DeploymentPreflightResponse represents the JSON response structure for a deployment preflight request.

func (*DeploymentPreflightResponse) DeepCopy

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

func (*DeploymentPreflightResponse) DeepCopyInto

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

type DeploymentPreflightStatus

type DeploymentPreflightStatus string

DeploymentPreflightStatus is used in a DeploymentPreflightResponse.

const (
	DeploymentPreflightStatusSucceeded DeploymentPreflightStatus = "Succeeded"
	DeploymentPreflightStatusFailed    DeploymentPreflightStatus = "Failed"
)

type EtcdDataEncryptionProfile

type EtcdDataEncryptionProfile struct {
	KeyManagementMode metadataapi.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"`

	// ControlPlaneOperatorImage overrides the control plane operator
	// image for a HostedCluster. When non-empty, the OCM converter sets
	// the control_plane_operator_image CS cluster property, which CS
	// translates into the HostedCluster annotation.
	ControlPlaneOperatorImage string `json:"controlPlaneOperatorImage,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        metadataapi.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 Feature

type Feature struct {
	Name  *string `json:"name,omitempty"`
	State *string `json:"state,omitempty"`
}

func (*Feature) DeepCopy

func (in *Feature) DeepCopy() *Feature

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

func (*Feature) DeepCopyInto

func (in *Feature) DeepCopyInto(out *Feature)

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

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"`
	// State is the update state from OpenShift (e.g. configv1.CompletedUpdate or configv1.PartialUpdate).
	State configv1.UpdateState `json:"state,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 HCPNodePoolActiveVersion

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

HCPNodePoolActiveVersion represents a single version active in the nodepool.

func (*HCPNodePoolActiveVersion) DeepCopy

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

func (*HCPNodePoolActiveVersion) DeepCopyInto

func (in *HCPNodePoolActiveVersion) DeepCopyInto(out *HCPNodePoolActiveVersion)

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

type HCPOpenShiftCluster

type HCPOpenShiftCluster struct {
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	TrackedResource

	// Written by: Frontend PUT/PATCH Cluster, ClusterBaseDomainPrefixSync
	CustomerProperties HCPOpenShiftClusterCustomerProperties `json:"customerProperties,omitempty"`
	// Written by: Frontend PUT/PATCH/DELETE Cluster, all Operation*Cluster controllers, ClusterPropertiesSync, ClusterClusterServiceCreate, ClusterDeletion* controllers, CreateBillingDoc
	ServiceProviderProperties HCPOpenShiftClusterServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster (Create/Update), IdentityMigration
	Identity *ManagedServiceIdentity `json:"identity,omitempty"`
	// Written by: ClusterDegradedAggregator, ClusterRequirementsValidAggregator
	Status HCPOpenShiftClusterStatus `json:"status"`
}

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

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) EnsureDefaults

func (cluster *HCPOpenShiftCluster) EnsureDefaults()

EnsureDefaults fills in default values for fields that may be absent in Cosmos documents created before the field was introduced, or on the create and preflight paths where the internal type is constructed from external input. Only fields where the zero value is never valid user input are safe to default here (string enums). See the DDR at docs/api-version-defaults-and-storage.md.

This method should be treated as append-only. Avoid removing defaulting rules until all Cosmos documents have been verified to contain the field.

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() []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 HCPOpenShiftClusterAdminCredentialRequest

type HCPOpenShiftClusterAdminCredentialRequest struct {
	CertificateSigningRequest string `json:"certificateSigningRequest,omitempty"`
}

func (*HCPOpenShiftClusterAdminCredentialRequest) DeepCopy

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

func (*HCPOpenShiftClusterAdminCredentialRequest) DeepCopyInto

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

type HCPOpenShiftClusterCustomerProperties

type HCPOpenShiftClusterCustomerProperties struct {
	// Written by: Frontend PUT/PATCH Cluster
	Version VersionProfile `json:"version,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster, ClusterBaseDomainPrefixSync (BaseDomainPrefix only)
	DNS CustomerDNSProfile `json:"dns,omitempty"`
	// Written by: Frontend PUT Cluster (Create)
	Network NetworkProfile `json:"network,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	API CustomerAPIProfile `json:"api,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	Ingress CustomerIngressProfile `json:"ingress,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	Platform CustomerPlatformProfile `json:"platform,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	Autoscaling ClusterAutoscalingProfile `json:"autoscaling,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	NodeDrainTimeoutMinutes int32 `json:"nodeDrainTimeoutMinutes,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	Etcd EtcdProfile `json:"etcd,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	ClusterImageRegistry ClusterImageRegistryProfile `json:"clusterImageRegistry,omitempty"`
	// Written by: Frontend PUT/PATCH Cluster
	ImageDigestMirrors []ImageDigestMirror `json:"imageDigestMirrors,omitempty"`
	// Written by: Frontend PUT Cluster
	CryptoRestrictions metadataapi.CryptoRestrictions `json:"cryptoRestrictions,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 {
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	ProxyResource
	// Written by: Frontend PUT/PATCH ExternalAuth, OperationExternalAuth* controllers
	Properties HCPOpenShiftClusterExternalAuthProperties `json:"properties"`
	// Written by: Frontend PUT/PATCH/DELETE ExternalAuth, OperationExternalAuth* controllers, ExternalAuthClusterServiceCreate, ExternalAuthDeletion* controllers
	ServiceProviderProperties HCPOpenShiftClusterExternalAuthServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
	// Written by: ExternalAuthDegradedAggregator
	Status HCPOpenShiftClusterExternalAuthStatus `json:"status"`
}

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

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) EnsureDefaults

func (ea *HCPOpenShiftClusterExternalAuth) EnsureDefaults()

EnsureDefaults fills in default values for fields that may be absent in Cosmos documents created before the field was introduced, or on the create and preflight paths where the internal type is constructed from external input. Only fields where the zero value is never valid user input are safe to default here (string enums). See the DDR at docs/api-version-defaults-and-storage.md.

This method should be treated as append-only. Avoid removing defaulting rules until all Cosmos documents have been verified to contain the field.

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 {
	// Written by: Frontend PUT/PATCH/DELETE ExternalAuth, OperationExternalAuthCreate, OperationExternalAuthUpdate, OperationExternalAuthDelete
	ProvisioningState ProvisioningState `json:"provisioningState"`
	// Written by: Frontend PUT/PATCH ExternalAuth
	Issuer TokenIssuerProfile `json:"issuer"`
	// Written by: Frontend PUT/PATCH ExternalAuth
	Clients []ExternalAuthClientProfile `json:"clients"`
	// Written by: Frontend PUT/PATCH ExternalAuth
	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 {
	// Written by: Frontend PUT ExternalAuth (Create), ExternalAuthClusterServiceCreate, ExternalAuthDeletionClusterServiceIDClearer
	ClusterServiceID *metadataapi.InternalID `json:"clusterServiceID,omitempty"`
	// Written by: Frontend PUT/PATCH/DELETE ExternalAuth, OperationExternalAuthCreate, OperationExternalAuthUpdate, OperationExternalAuthDelete
	ActiveOperationID string `json:"activeOperationId,omitempty"`
	// DeletionTimestamp is the timestamp at which the ExternalAuth deletion was requested.
	// The timestamp is in UTC.
	// A nil value indicates that the ExternalAuth deletion has not been requested.
	// Written by: Frontend DELETE ExternalAuth
	DeletionTimestamp *metav1.Time `json:"deletionTimestamp,omitempty"`
	// ClusterServiceDeletionTimestamp is written when a dispatch of a Cluster
	// Service Delete ExternalAuth request against Cluster Service for this
	// external auth has been handled.
	// Written by: ExternalAuthClusterServiceDeleteDispatch
	ClusterServiceDeletionTimestamp *metav1.Time `json:"clusterServiceDeletionTimestamp,omitempty"`

	// Written by: Frontend DELETE ExternalAuth
	UsesNewExternalAuthDeletionApproach bool `json:"usesNewExternalAuthDeletionApproach"`
}

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 HCPOpenShiftClusterExternalAuthStatus

type HCPOpenShiftClusterExternalAuthStatus struct {
	// Conditions are the top-level HCPOpenShiftClusterExternalAuth status conditions.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// Written by: ExternalAuthDegradedAggregator
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// UserFacingConditions is a list of conditions that tracks user-facing external auth
	// conditions. Each Condition Type should be unique among all conditions.
	// The conditions here are exposed to the ARM API. This means that UserFacingConditions
	// must not contain any internal details. This also means the Type and Reason
	// values become part of the public API.
	// Addition of new conditions here should be done only when strictly necessary, sparingly and only done
	// when there is a clear benefit to doing so. We expect the number of conditions at this
	// level to be kept to a minimum.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	UserFacingConditions []metav1.Condition `json:"userFacingConditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HCPOpenShiftClusterExternalAuthStatus contains the observed state of the external auth.

func (*HCPOpenShiftClusterExternalAuthStatus) DeepCopy

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

func (*HCPOpenShiftClusterExternalAuthStatus) 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 {
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	TrackedResource
	// Written by: Frontend PUT/PATCH NodePool, OperationNodePoolCreate, OperationNodePoolUpdate, OperationNodePoolDelete
	Properties HCPOpenShiftClusterNodePoolProperties `json:"properties,omitempty"`
	// Written by: Frontend PUT/PATCH/DELETE NodePool, OperationNodePool* controllers, NodePoolClusterServiceCreate, NodePoolDeletion* controllers
	ServiceProviderProperties HCPOpenShiftClusterNodePoolServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
	Identity                  *ManagedServiceIdentity                              `json:"identity,omitempty"`
	// Written by: NodePoolDegradedAggregator, NodePoolRequirementsValidAggregator
	Status HCPOpenShiftClusterNodePoolStatus `json:"status"`
}

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) EnsureDefaults

func (np *HCPOpenShiftClusterNodePool) EnsureDefaults()

EnsureDefaults fills in default values for fields that may be absent in Cosmos documents created before the field was introduced, or on the create and preflight paths where the internal type is constructed from external input. Only fields where the zero value is never valid user input are safe to default here (string enums). See the DDR at docs/api-version-defaults-and-storage.md.

This method should be treated as append-only. Avoid removing defaulting rules until all Cosmos documents have been verified to contain the field.

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) []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 {
	// Written by: Frontend PUT/PATCH/DELETE NodePool, OperationNodePoolCreate, OperationNodePoolUpdate, OperationNodePoolDelete
	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	Version NodePoolVersionProfile `json:"version,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	Platform NodePoolPlatformProfile `json:"platform,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	Replicas int32 `json:"replicas,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	AutoRepair bool `json:"autoRepair,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	AutoScaling *NodePoolAutoScaling `json:"autoScaling,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	Labels map[string]string `json:"labels,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	Taints []Taint `json:"taints,omitempty"`
	// Written by: Frontend PUT/PATCH NodePool
	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 {
	// Written by: Frontend PUT NodePool (Create), NodePoolClusterServiceCreate, NodePoolDeletionClusterServiceIDClearer
	ClusterServiceID *metadataapi.InternalID `json:"clusterServiceID,omitempty"`
	// Written by: Frontend PUT/PATCH/DELETE NodePool, OperationNodePoolCreate, OperationNodePoolUpdate, OperationNodePoolDelete
	ActiveOperationID string `json:"activeOperationId,omitempty"`
	// DeletionTimestamp is the timestamp at which the NodePool deletion was requested.
	// The timestamp is in UTC.
	// A nil value indicates that the NodePool deletion has not been requested.
	// Written by: Frontend DELETE NodePool
	DeletionTimestamp *metav1.Time `json:"deletionTimestamp,omitempty"`
	// ClusterServiceDeletionTimestamp is written when a dispatch of a Cluster
	// Service Delete NodePool request against Cluster Service for this node
	// pool has been handled.
	// Written by: NodePoolClusterServiceDeleteDispatch
	ClusterServiceDeletionTimestamp *metav1.Time `json:"clusterServiceDeletionTimestamp,omitempty"`

	// Written by: Frontend DELETE NodePool
	UsesNewNodePoolDeletionApproach bool `json:"usesNewNodePoolDeletionApproach"`

	// CreateOperationCompletionDeadline is the time by which the node pool creation operation must complete.
	// If it is not complete by this time, the operation will be marked as failed with the best message we can give at the time.
	// The default value is 60 minutes after the creation request is received.
	// When the subscription.HasRegisteredFeature(api.FeatureExperimentalReleaseFeatures), this value can be set
	// using the ExperimentalNodePoolTagPrefix + "max-creation-duration" tag, specified as a time.Duration.
	// The operation node pool create controller uses this value to decide about marking the install as failed.
	// The e2e tests set this value to one minute less than the default timeout.
	CreateOperationCompletionDeadline *metav1.Time `json:"createOperationCompletionDeadline,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 HCPOpenShiftClusterNodePoolStatus

type HCPOpenShiftClusterNodePoolStatus struct {
	// Conditions are the top-level HCPOpenShiftClusterNodePool status conditions.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// Written by: NodePoolDegradedAggregator
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// UserFacingConditions is a list of conditions that tracks user-facing node pool
	// conditions. Each Condition Type should be unique among all conditions.
	// The conditions here are exposed to the ARM API. This means that UserFacingConditions
	// must not contain any internal details. This also means the Type and Reason
	// values become part of the public API.
	// Addition of new conditions here should be done only when strictly necessary, sparingly and only done
	// when there is a clear benefit to doing so. We expect the number of conditions at this
	// level to be kept to a minimum.
	// Written by: NodePoolRequirementsValidAggregator
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	UserFacingConditions []metav1.Condition `json:"userFacingConditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HCPOpenShiftClusterNodePoolStatus contains the observed state of the node pool.

func (*HCPOpenShiftClusterNodePoolStatus) DeepCopy

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

func (*HCPOpenShiftClusterNodePoolStatus) DeepCopyInto

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

type HCPOpenShiftClusterServiceProviderProperties

type HCPOpenShiftClusterServiceProviderProperties struct {
	// Written by: Frontend PUT/PATCH/DELETE Cluster, OperationClusterCreate, OperationClusterUpdate, OperationClusterDelete
	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
	// Written by: ClusterPendingClusterServiceIDAssign
	PendingClusterServiceID *metadataapi.InternalID `json:"pendingClusterServiceID,omitempty"`
	// Written by: Frontend PUT Cluster (Create), ClusterClusterServiceCreate, ClusterDeletionClusterServiceIDClearer
	ClusterServiceID *metadataapi.InternalID `json:"clusterServiceID,omitempty"`
	// Written by: Frontend PUT/PATCH/DELETE Cluster, OperationClusterCreate, OperationClusterUpdate, OperationClusterDelete
	ActiveOperationID string `json:"activeOperationId,omitempty"`
	// Written by: Frontend POST RevokeCredentials, SystemAdminCredentialOperationRevokeCredentialsPoll
	RevokeCredentialsOperationID string `json:"revokeCredentialsOperationId,omitempty"`
	// Written by: ClusterPropertiesSync
	DNS ServiceProviderDNSProfile `json:"dns,omitempty"`
	// Written by: ClusterPropertiesSync
	Console ServiceProviderConsoleProfile `json:"console,omitempty"`
	// Written by: ClusterPropertiesSync
	API ServiceProviderAPIProfile `json:"api,omitempty"`
	// Written by: ClusterPropertiesSync
	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.
	// Written by: Frontend PUT Cluster (Create)
	ExperimentalFeatures ExperimentalFeatures `json:"experimentalFeatures,omitzero"`
	// ManagedIdentitiesDataPlaneIdentityURL is the Managed Identities Data Plane
	// Identity URL associated with the cluster. It is the URL that will be used
	// to communicate with the Managed Identities Resource Provider (MI RP).
	// Written by: Frontend PUT Cluster (Create)
	ManagedIdentitiesDataPlaneIdentityURL string `json:"managedIdentitiesDataPlaneIdentityURL,omitempty"`
	// Written by: BackfillClusterUID
	ClusterUID string `json:"clusterUID,omitempty"`
	// BillingDocumentCosmosID is the Cosmos DB document ID of the billing document
	// associated with this cluster. It is set when the billing document is created
	// and used to avoid redundant creation attempts.
	// Written by: CreateBillingDoc
	BillingDocumentCosmosID string `json:"billingDocumentCosmosID,omitempty"`
	// DeletionTimestamp is the timestamp at which the Cluster deletion was requested.
	// The timestamp is in UTC.
	// A nil value indicates that the Cluster deletion has not been requested.
	// Written by: Frontend DELETE Cluster
	DeletionTimestamp *metav1.Time `json:"deletionTimestamp,omitempty"`
	// ClusterServiceDeletionTimestamp is written when a dispatch of a Cluster
	// Service Delete Cluster request against Cluster Service for this cluster
	// has been handled. It is set after a successful DeleteCluster call to
	// Cluster Service, but also when it's determined that no delete call is
	// needed but we consider we should behave as if the delete call was
	// successfully issued.
	// A nil value indicates that the Cluster Service Deletion has not been requested.
	// The timestamp is in UTC.
	// Written by: ClusterClusterServiceDeleteDispatch
	ClusterServiceDeletionTimestamp *metav1.Time `json:"clusterServiceDeletionTimestamp,omitempty"`

	// TODO Temporary field to track whether the cluster operation is using the new deletion approach.
	// Written by: Frontend DELETE Cluster
	UsesNewClusterDeletionApproach bool `json:"usesNewClusterDeletionApproach"`

	// CreateOperationCompletionDeadline is the time by which the cluster creation operation must complete.
	// If it is not complete by this time, the operation will be marked as failed with the best message we can give at the time.
	// The default value is 60 minutes after the creation request is received.
	// When the subscription.HasRegisteredFeature(api.FeatureExperimentalReleaseFeatures), this value can be set
	// using the ExperimentalClusterTagPrefix + "max-creation-duration" tag, specified as a time.Duration.
	// The operation cluster create controller uses this value to decide about marking the install as failed.
	// The e2e tests set this value to one minute less than the default timeout.
	CreateOperationCompletionDeadline *metav1.Time `json:"createOperationCompletionDeadline,omitempty"`

	// DeleteOperationCompletionTimeout is the duration after which a cluster deletion operation will be
	// marked as failed with a message listing the remaining cosmos resources preventing deletion.
	// Set by admission on CREATE and UPDATE from the TagClusterMaxDeletionDuration tag.
	// Nil when the tag is absent or the ExperimentalReleaseFeatures AFEC is not registered.
	// The frontend DELETE handler computes the deadline as DeletionTimestamp + this duration.
	// Written by: Frontend PUT/PATCH Cluster (via admission)
	DeleteOperationCompletionTimeout *time.Duration `json:"deleteOperationCompletionTimeout,omitempty"`

	// DeleteOperationCompletionDeadline is the absolute time by which the cluster deletion operation
	// must complete. Computed by the frontend DELETE handler as DeletionTimestamp + DeleteOperationCompletionTimeout
	// (or DeletionTimestamp + 12h when DeleteOperationCompletionTimeout is nil).
	// Written by: Frontend DELETE Cluster
	DeleteOperationCompletionDeadline *metav1.Time `json:"deleteOperationCompletionDeadline,omitempty"`
}

HCPOpenShiftClusterServiceProviderProperties represents the service-provider-managed 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 HCPOpenShiftClusterStatus

type HCPOpenShiftClusterStatus struct {
	// Conditions are the top-level HCPOpenShiftCluster status conditions.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// Written by: ClusterDegradedAggregator
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// UserFacingConditions is a list of conditions that tracks user-facing cluster
	// conditions. Each Condition Type should be unique among all conditions.
	// The conditions here are exposed to the ARM API. This means that UserFacingConditions
	// must not contain any internal details. This also means the Type and Reason
	// values become part of the public API.
	// Addition of new conditions here should be done only when strictly necessary, sparingly and only done
	// when there is a clear benefit to doing so. We expect the number of conditions at this
	// level to be kept to a minimum.
	// Written by: ClusterRequirementsValidAggregator
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	UserFacingConditions []metav1.Condition `json:"userFacingConditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HCPOpenShiftClusterStatus contains the observed state of the cluster.

func (*HCPOpenShiftClusterStatus) DeepCopy

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

func (*HCPOpenShiftClusterStatus) DeepCopyInto

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

type HCPOpenShiftVersion

type HCPOpenShiftVersion struct {
	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 HostedClusterControlPlaneSize

type HostedClusterControlPlaneSize string

HostedClusterControlPlaneSize enumerates the SRE-selectable control-plane sizing tiers we expose for a HostedCluster. Stored as a *string on ServiceProviderClusterSpec so unset is distinguishable from "explicitly chosen."

const (
	HostedClusterControlPlaneSizeSmall   HostedClusterControlPlaneSize = "Small"
	HostedClusterControlPlaneSizeMedium  HostedClusterControlPlaneSize = "Medium"
	HostedClusterControlPlaneSizeLarge   HostedClusterControlPlaneSize = "Large"
	HostedClusterControlPlaneSizeXlarge  HostedClusterControlPlaneSize = "Xlarge"
	HostedClusterControlPlaneSizeXXlarge HostedClusterControlPlaneSize = "XXlarge"
)

type ImageDigestMirror

type ImageDigestMirror struct {
	Source  string   `json:"source,omitempty"`
	Mirrors []string `json:"mirrors,omitempty"`

	// MirrorSourcePolicy is not exposed in the customer-facing API as of
	// v20251223preview, but is still recorded in CosmosDB so that, if we
	// ever do expose this field, existing cluster documents in CosmosDB
	// will not need to be migrated.
	MirrorSourcePolicy metadataapi.MirrorSourcePolicy `json:"mirrorSourcePolicy,omitempty"`
}

ImageDigestMirror specifies image mirrors that can be used by cluster nodes to pull content.

func (*ImageDigestMirror) DeepCopy

func (in *ImageDigestMirror) DeepCopy() *ImageDigestMirror

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

func (*ImageDigestMirror) DeepCopyInto

func (in *ImageDigestMirror) DeepCopyInto(out *ImageDigestMirror)

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

type KmsEncryptionProfile

type KmsEncryptionProfile struct {
	Visibility metadataapi.KeyVaultVisibility `json:"visibility,omitempty"`
	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 MaestroBundleInternalName

type MaestroBundleInternalName string

MaestroBundleInternalName is a type that represents the internal name of a Maestro Bundle. It is used to identify the Maestro Bundle internally and to retrieve it from the MaestroBundleReferenceList.

const (
	// MaestroBundleInternalNameReadonlyHypershiftHostedCluster is the internal name of the Maestro Bundle that represents
	// the Cluster's Hypershift's HostedCluster K8s resource.
	MaestroBundleInternalNameReadonlyHypershiftHostedCluster MaestroBundleInternalName = "readonlyHypershiftHostedCluster"

	// ReadonlyHypershiftControlPlaneComponentClusterAutoscaler is the internal name of the ReadDesire that mirrors
	// the cluster-autoscaler ControlPlaneComponent on the management cluster control plane namespace.
	ReadonlyHypershiftControlPlaneComponentClusterAutoscaler MaestroBundleInternalName = "readonlyHypershiftControlPlaneComponentClusterAutoscaler"
)
const (
	// MaestroBundleInternalNameReadonlyHypershiftNodePool is the internal name of the Maestro Bundle that represents
	// the NodePool's Hypershift's NodePool K8s resource.
	MaestroBundleInternalNameReadonlyHypershiftNodePool MaestroBundleInternalName = "readonlyHypershiftNodePool"
)

type MaestroBundleReference

type MaestroBundleReference struct {
	// Name is a logical name that represents the Maestro Bundle conceptually.
	Name MaestroBundleInternalName `json:"name"`
	// MaestroAPIMaestroBundleName is the name of the Maestro Bundle in the Maestro API.
	// It must be unique within a given Maestro Consumer Name and Maestro Source ID.
	// Maestro's ManifestWorks Go client abstraction uses Maestro Bundle Names to
	// identify the Maestro Bundle.
	MaestroAPIMaestroBundleName string `json:"maestroAPIMaestroBundleName"`
	// MaestroAPIMaestroBundleID is the ID of the Maestro Bundle in the Maestro API.
	// Returned by the Maestro API when the Maestro Bundle is first created.
	// This attribute can be unset if the Maestro Bundle reference has been created
	// but the Maestro Bundle has not been created yet.
	// Maestro's REST API Go client abstraction uses Maestro Bundle IDs to identify the Maestro Bundle.
	MaestroAPIMaestroBundleID string `json:"maestroAPIMaestroBundleID"`
	// ResourceIdentifiers contains the identifiers for all resources within the Maestro Bundle.
	// Each entry corresponds to a ResourceIdentifier in the ManifestWork's ManifestConfigs.
	ResourceIdentifiers []MaestroBundleResourceIdentifier `json:"resourceIdentifiers,omitempty"`
}

func (*MaestroBundleReference) DeepCopy

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

func (*MaestroBundleReference) DeepCopyInto

func (in *MaestroBundleReference) DeepCopyInto(out *MaestroBundleReference)

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

type MaestroBundleReferenceList

type MaestroBundleReferenceList []*MaestroBundleReference

MaestroBundleReferenceList is a list of Maestro Bundle references.

func (MaestroBundleReferenceList) DeepCopy

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

func (MaestroBundleReferenceList) DeepCopyInto

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

func (MaestroBundleReferenceList) Get

Get returns a copy to the Maestro Bundle reference for a given Maestro Bundle internal name. It returns a pointer for a clear indication of "not found", it doesn't return a reference intended for mutation of the original list. If the Maestro Bundle reference identifies by name does not exist, it returns nil. If multiple Maestro Bundle references are found for the same internal name, it returns an error.

func (*MaestroBundleReferenceList) Remove

Remove removes the Maestro Bundle reference for a given Maestro Bundle internal name. If the Maestro Bundle reference identified by name does not exist, it is a no-op. If multiple Maestro Bundle references are found for the same internal name, it returns an error.

func (*MaestroBundleReferenceList) Set

func (l *MaestroBundleReferenceList) Set(maestroBundleReference *MaestroBundleReference) error

Set sets the Maestro Bundle reference for a given Maestro Bundle internal name. If the Maestro Bundle reference identifies by name does not exist, it is added. If the Maestro Bundle reference identifies by name already exists, it is updated.

type MaestroBundleResourceIdentifier

type MaestroBundleResourceIdentifier struct {
	// APIVersion is the API version of the resource (e.g. "hypershift.openshift.io/v1beta1").
	APIVersion string `json:"apiVersion"`
	// Kind is the kind of the resource (e.g. "HostedCluster").
	Kind string `json:"kind"`
	// Resource is the resource type (e.g. "hostedclusters").
	// This corresponds to the ResourceIdentifier.Resource in the ManifestWork's ManifestConfigs.
	Resource string `json:"resource"`
	// Name is the name of the resource.
	// For example, for a HostedCluster bundle this is the HostedCluster name on the management cluster.
	Name string `json:"name"`
	// Namespace is the namespace of the resource.
	// For example, for a HostedCluster bundle this is the HostedCluster namespace on the management cluster.
	Namespace string `json:"namespace"`
}

MaestroBundleResourceIdentifier identifies a single resource within a Maestro Bundle. This corresponds to a ResourceIdentifier in the ManifestWork's ManifestConfigs.

func (*MaestroBundleResourceIdentifier) DeepCopy

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

func (*MaestroBundleResourceIdentifier) DeepCopyInto

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

type ManagedServiceIdentity

type ManagedServiceIdentity struct {
	PrincipalID            string                           `json:"principalId,omitempty"`
	TenantID               string                           `json:"tenantId,omitempty"`
	Type                   ManagedServiceIdentityType       `json:"type"`
	UserAssignedIdentities map[string]*UserAssignedIdentity `json:"userAssignedIdentities,omitempty"`
}

Represents to support the ManagedServiceIdentity ARM resource.

func (*ManagedServiceIdentity) DeepCopy

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

func (*ManagedServiceIdentity) DeepCopyInto

func (in *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity)

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

type ManagedServiceIdentityType

type ManagedServiceIdentityType string
const (
	ManagedServiceIdentityTypeNone                       ManagedServiceIdentityType = "None"
	ManagedServiceIdentityTypeSystemAssigned             ManagedServiceIdentityType = "SystemAssigned"
	ManagedServiceIdentityTypeSystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned,UserAssigned"
	ManagedServiceIdentityTypeUserAssigned               ManagedServiceIdentityType = "UserAssigned"
)

type ManagementClusterContent

type ManagementClusterContent struct {
	// CosmosMetadata is nested under the corresponding resource type so that association and cleanup work as expected.
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	// Status track the status of the Management Cluster Content.
	Status ManagementClusterContentStatus `json:"status,omitempty"`
}

ManagementClusterContent represents K8s resources in the Management Cluster +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ManagementClusterContent) DeepCopy

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

func (*ManagementClusterContent) DeepCopyInto

func (in *ManagementClusterContent) DeepCopyInto(out *ManagementClusterContent)

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

func (*ManagementClusterContent) DeepCopyObject

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

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

func (*ManagementClusterContent) GetObjectKind

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

func (*ManagementClusterContent) GetObjectMeta

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

type ManagementClusterContentList

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

ManagementClusterContentList is a list of ManagementClusterContent resources. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ManagementClusterContentList) DeepCopy

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

func (*ManagementClusterContentList) DeepCopyInto

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

func (*ManagementClusterContentList) DeepCopyObject

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

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

func (*ManagementClusterContentList) GetObjectKind

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

type ManagementClusterContentStatus

type ManagementClusterContentStatus struct {
	// Conditions is a list of conditions that track the status of the Management Cluster Content.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// A Condition Status of True means that the condition is met, and a Condition Status of False means that the condition is not met.
	// The Condition Reason and Message are used to provide more details about the condition status.
	// The Condition LastTransitionTime is used to track the last time the condition transitioned from one status to another.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// KubeContent contains a list of K8s resources that represent content of the Management Cluster associated to this
	// resource ID.
	KubeContent *metav1.List `json:"kubeContent"`
}

func (*ManagementClusterContentStatus) DeepCopy

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

func (*ManagementClusterContentStatus) DeepCopyInto

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

type NamespaceOperation

type NamespaceOperation struct {
	// Operation name: {providerNamespace}/{resourceType}/{operation}
	Name string `json:"name"`

	// The object that describes the operation.
	Display NamespaceOperationDisplay `json:"display"`

	// Sources of requests to this operation. Valid values are
	// "user", "system", or, the default value, "user,system".
	Origin NamespaceOperationOrigin `json:"origin,omitempty"`

	// Indicates whether the operation applies to the data-plane.
	IsDataAction bool `json:"isDataAction"`
}

func (*NamespaceOperation) DeepCopy

func (in *NamespaceOperation) DeepCopy() *NamespaceOperation

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

func (*NamespaceOperation) DeepCopyInto

func (in *NamespaceOperation) DeepCopyInto(out *NamespaceOperation)

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

type NamespaceOperationDisplay

type NamespaceOperationDisplay struct {
	// The localized friendly form of the resource provider name.
	Provider string `json:"provider"`

	// The localized friendly form of the resource type related to this action/operation.
	Resource string `json:"resource"`

	// The localized friendly name for the operation, as it should be shown to the user.
	Operation string `json:"operation"`

	// The localized friendly description for the operation, as it should be shown to the user.
	Description string `json:"description"`
}

func (*NamespaceOperationDisplay) DeepCopy

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

func (*NamespaceOperationDisplay) DeepCopyInto

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

type NamespaceOperationOrigin

type NamespaceOperationOrigin string
const (
	NamespaceOperationOriginUser       NamespaceOperationOrigin = "user"
	NamespaceOperationOriginSystem     NamespaceOperationOrigin = "system"
	NamespaceOperationOriginUserSystem NamespaceOperationOrigin = "user,system"
)

type NetworkProfile

type NetworkProfile struct {
	NetworkType metadataapi.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 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 is the resource ID of the subnet to use for this Node Pool's virtual machines.
	// * If SubnetID is nil on CREATE, mutation defaults it to the parent cluster's subnet.
	// * SubnetID must belong to the same VNet as the parent cluster's subnet.
	// * The same subnet may be used across Node Pools of the same cluster (and may match
	//   the parent cluster's subnet), but a subnet cannot be reused across different
	//   ARO-HCP Clusters.
	SubnetID               *azcorearm.ResourceID `json:"subnetId,omitempty"`
	VMSize                 string                `json:"vmSize,omitempty"`
	EnableEncryptionAtHost bool                  `json:"enableEncryptionAtHost"`
	OSDisk                 OSDiskProfile         `json:"osDisk"`
	// AvailabilityZone can be empty.
	// * If AvailabilityZone is not specified during creation, then the Node Pool is not part of any Availability Zone and the Node Pool's
	//   virtual machines are included in an Availability Set.
	// * If AvailabilityZone is specified, then the virtual machines are deployed as standalone instances in the specified Availability Zone.
	// * It must not be specified for Node Pools whose parent cluster is in an Azure location that does not support Availability Zones
	// * It is a logical Availability Zone
	// * It is optional during creation and immutable
	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 metadataapi.DiskStorageAccountType `json:"diskStorageAccountType,omitempty"`
	EncryptionSetID        *azcorearm.ResourceID              `json:"encryptionSetId,omitempty"`
	DiskType               metadataapi.OsDiskType             `json:"diskType,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 {
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	// 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 metadataapi.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 ProvisioningState `json:"status,omitempty"`
	// Error is an OData error, present when Status is "Failed" or "Canceled"
	Error *CloudErrorBody `json:"error,omitempty"`

	// Temporary field to track whether the node pool operation is using the new deletion approach.
	// We are migrating from the node pool cs deletion synchronous in frontend to the backend, to be fully asynchronous
	// This boolean is true for NodePool delete operations that are created with new deletion approach.
	// This will be removed once all nodepools whose deletion was triggered before the new approach is fully rolled out have been
	// fully deleted in all ARO-HCP permanent environments, for all regions.
	UsesNewNodePoolDeletionApproach bool `json:"usesNewNodePoolDeletionApproach"`

	// TODO Temporary field to track whether the external auth operation is using the new deletion approach.
	// We are migrating from the external auth CS deletion synchronous in frontend to the backend, to be fully asynchronous.
	// This boolean is true for ExternalAuth delete operations that are created with new deletion approach.
	// This will be removed once all external auths whose deletion was triggered before the new approach is fully rolled out have been
	// fully deleted in all ARO-HCP permanent environments, for all regions.
	UsesNewExternalAuthDeletionApproach bool `json:"usesNewExternalAuthDeletionApproach"`

	// TODO Temporary field to track whether the cluster operation is using the new deletion approach.
	// We are migrating from the cluster CS deletion synchronous in frontend to the backend, to be fully asynchronous.
	// This boolean is true for Cluster delete operations that are created with new deletion approach.
	// This will be removed once all clusters whose deletion was triggered before the new approach is fully rolled out have been
	// fully deleted in all ARO-HCP permanent environments, for all regions.
	UsesNewClusterDeletionApproach bool `json:"usesNewClusterDeletionApproach"`

	// Written by: Frontend POST requestAdminCredential, backend systemadmincredentialcontrollers
	SystemAdminCredentialRequest *OperationSystemAdminCredentialRequest `json:"systemAdminCredentialRequest,omitempty"`
	// Written by: Frontend POST revokeCredentials, backend systemadmincredentialcontrollers
	SystemAdminCredentialRevocation *OperationSystemAdminCredentialRevocation `json:"systemAdminCredentialRevocation,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.
	OperationRequestSystemAdminCredentialRequest    OperationRequest = "RequestCredential"
	OperationRequestSystemAdminCredentialRevocation OperationRequest = "RevokeCredentials"
)

type OperationStatus

type OperationStatus struct {
	ID              *azcorearm.ResourceID `json:"id,omitempty"`
	Name            string                `json:"name,omitempty"`
	Status          ProvisioningState     `json:"status"`
	StartTime       *time.Time            `json:"startTime,omitempty"`
	EndTime         *time.Time            `json:"endTime,omitempty"`
	PercentComplete float64               `json:"percentComplete,omitempty"`
	Properties      json.RawMessage       `json:"properties,omitempty"`
	Error           *CloudErrorBody       `json:"error,omitempty"`
	Operations      []OperationStatus     `json:"operations,omitempty"`
}

OperationStatus is an ARM-defined resource returned by operation status endpoints.

func (*OperationStatus) DeepCopy

func (in *OperationStatus) DeepCopy() *OperationStatus

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

func (*OperationStatus) DeepCopyInto

func (in *OperationStatus) DeepCopyInto(out *OperationStatus)

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

type OperationSystemAdminCredentialRequest

type OperationSystemAdminCredentialRequest struct {
	CertificateSigningRequest              string                `json:"certificateSigningRequest,omitempty"`
	SystemAdminCredentialRequestResourceID *azcorearm.ResourceID `json:"systemAdminCredentialRequestResourceID,omitempty"`
}

OperationSystemAdminCredentialRequest groups state for the admin credential request lifecycle on an Operation document.

func (*OperationSystemAdminCredentialRequest) DeepCopy

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

func (*OperationSystemAdminCredentialRequest) DeepCopyInto

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

type OperationSystemAdminCredentialRevocation

type OperationSystemAdminCredentialRevocation struct {
	SystemAdminCredentialRevocationResourceID *azcorearm.ResourceID `json:"systemAdminCredentialRevocationResourceID,omitempty"`
}

OperationSystemAdminCredentialRevocation groups state for the admin credential revocation lifecycle on an Operation document.

func (*OperationSystemAdminCredentialRevocation) DeepCopy

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

func (*OperationSystemAdminCredentialRevocation) DeepCopyInto

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

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 PagedResponse

type PagedResponse struct {
	Value    []json.RawMessage `json:"value"`
	NextLink string            `json:"nextLink,omitempty"`
}

PagedResponse is the response format for resource collection requests.

func NewPagedResponse

func NewPagedResponse() PagedResponse

NewPagedResponse returns a new PagedResponse instance.

func (*PagedResponse) AddValue

func (r *PagedResponse) AddValue(value json.RawMessage)

AddValue adds a JSON encoded value to a PagedResponse.

func (*PagedResponse) DeepCopy

func (in *PagedResponse) DeepCopy() *PagedResponse

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

func (*PagedResponse) DeepCopyInto

func (in *PagedResponse) DeepCopyInto(out *PagedResponse)

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

func (r *PagedResponse) SetNextLink(baseURL, skipToken string) error

SetNextLink sets NextLink to a URL with a $skipToken parameter. If skipToken is empty, the function does nothing and returns nil.

type ProvisioningState

type ProvisioningState string

ProvisioningState represents the asynchronous provisioning state of an ARM resource See https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/async-api-reference.md#provisioningstate-property

const (
	// Terminal states, defined by ARM
	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
	ProvisioningStateFailed    ProvisioningState = "Failed"
	ProvisioningStateCanceled  ProvisioningState = "Canceled"

	// Non-terminal states, defined by ARO-HCP
	ProvisioningStateAccepted     ProvisioningState = "Accepted"
	ProvisioningStateDeleting     ProvisioningState = "Deleting"
	ProvisioningStateProvisioning ProvisioningState = "Provisioning"
	ProvisioningStateUpdating     ProvisioningState = "Updating"

	// Exclusive to ExternalAuth
	ProvisioningStateAwaitingSecret ProvisioningState = "AwaitingSecret"
)

func (ProvisioningState) IsTerminal

func (s ProvisioningState) IsTerminal() bool

IsTerminal returns true if the state is terminal.

type ProxyResource

type ProxyResource struct {
	Resource
}

ProxyResource represents an ARM resource without location/tags

func NewProxyResource

func NewProxyResource(resourceID *azcorearm.ResourceID) ProxyResource

NewProxyResource returns a ProxyResource initialized from resourceID.

func (*ProxyResource) DeepCopy

func (in *ProxyResource) DeepCopy() *ProxyResource

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

func (*ProxyResource) DeepCopyInto

func (in *ProxyResource) DeepCopyInto(out *ProxyResource)

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

type Resource

type Resource struct {
	ID         *azcorearm.ResourceID `json:"id,omitempty"`
	Name       string                `json:"name,omitempty"`
	Type       string                `json:"type,omitempty"`
	SystemData *SystemData           `json:"systemData,omitempty"`
}

Resource represents a basic ARM resource

func NewResource

func NewResource(resourceID *azcorearm.ResourceID) Resource

NewResource returns a Resource initialized from resourceID.

func (*Resource) DeepCopy

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

func (in *Resource) DeepCopyInto(out *Resource)

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

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.
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	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"`

	// DesiredHostedClusterControlPlaneSize is the SRE-selected control plane
	// sizing tier (one of "Small", "Medium", "Large", "Xlarge", "XXlarge") to
	// apply to the HostedCluster. Stored as *string so unset is distinguishable
	// from any explicit choice; nil means no tier has been requested. Valid
	// values are the HostedClusterControlPlaneSize* constants above.
	DesiredHostedClusterControlPlaneSize *string `json:"desiredHostedClusterControlPlaneSize,omitempty"`

	// BackupScheduleState is the desired backup scheduling state: Enabled or Disabled.
	// Default is Enabled. Set to Disabled via Admin API to pause scheduled backups.
	BackupScheduleState BackupScheduleState `json:"backupScheduleState,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 {
	// Conditions are the top-level ServiceProviderCluster status conditions.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// Known condition types are:
	// - "Progressing": True when the cluster is in the process of being created, updated, or deleted. Both end-user initiated actions as
	//   well as internal actions such as upgrades or other maintenance operations are in progress are included in thsi condition.
	// - "Degraded": True when the cluster is in a degraded state
	// Addition of new conditions here should be done only when strictly necessary, sparingly and only done
	// when there is a clear benefit to doing so. We expect the number of conditions at this
	// level to be kept to a minimum. Take into consideration that conditions at other levels can be specified within
	// ServiceProviderClusterStatus too.
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
	// ControlPlaneVersion contains the actual control plane version information.
	// ActiveVersions contains all versions currently active in the control plane.
	//
	// 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 (state is "Completed" or "Partial"):
	// {
	//   "control_plane_version": {
	//     "active_versions": [
	//       {"version": "4.19.2", "state": "Partial"},
	//       {"version": "4.19.1", "state": "Completed"}
	//     ]
	//   }
	// }
	ControlPlaneVersion ServiceProviderClusterStatusVersion `json:"control_plane_version,omitempty"`

	// DesiredVersionChannels mirrors the observed HostedCluster's
	// status.version.desired.channels (see hypershift ClusterVersionStatus ->
	// configv1.Release.Channels). Each entry is an OpenShift update channel name
	// such as "stable-4.19" or "candidate-4.20".
	//
	// A channel only appears in status.version.desired.channels when the
	// cluster's current desired release has a valid upgrade edge to a release
	// served by that channel. In other words, this is the set of channels the
	// cluster can currently move along; a channel being absent means there is no
	// supported upgrade path to that channel's release line yet.
	//
	// This list is mirrored here by the backend (which alone can observe the
	// HostedCluster) so that DB-free cluster admission can reject a version.id
	// change whose target channel ("<channelGroup>-<id>") is not reachable,
	// without the frontend ever needing access to the management cluster.
	// Written by: ControlPlaneActiveVersions
	DesiredVersionChannels []string `json:"desiredVersionChannels,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 []metav1.Condition `json:"validations,omitempty"`
	// MaestroReadonlyBundles contains a list of Maestro readonly bundles references.
	// These bundles are used to retrieve particular K8s resources from the Management Cluster.
	// The reference contains a mapping between the logical name we give to the Maestro bundle internally
	// and the Maestro Bundle Name and ID at the Maestro API level.
	MaestroReadonlyBundles MaestroBundleReferenceList `json:"maestroReadonlyBundles,omitempty"`
	// ManagementClusterResourceID is the resource ID of the management cluster
	// this HCP is placed on. Nil means placement has not been resolved yet.
	// Once set, this field is immutable.
	ManagementClusterResourceID *azcorearm.ResourceID `json:"managementClusterResourceID,omitempty"`

	// DesiredHostedClusterControlPlaneSize mirrors the value of
	// Spec.DesiredHostedClusterControlPlaneSize once cluster-service reflects
	// the effective size override (as confirmed by the desired-control-plane-size
	// status reconciler). It exists so NeedsWork can cheaply detect divergence,
	// including the unset transition (Spec nil, Status non-nil), where there
	// is no signal on Spec alone that dispatch still needs to clear the CS
	// property.
	DesiredHostedClusterControlPlaneSize *string `json:"desiredHostedClusterControlPlaneSize,omitempty"`

	// HostedClusterNamespace is the namespace of the actual HostedCluster.  It contains things like
	//  - HostedCluster CR — the primary user-facing API object
	//  - NodePool CRs — user creates these here
	//  - User-provided secrets — pull secret, SSH key, cloud credentials, encryption secrets, etcd encryption key, audit webhook config, additional trust bundles, service account signing key
	//  - Generated kubeconfig secrets — admin-kubeconfig (copied back from HCP namespace), kubeadmin-password
	//  - EtcdBackup CRs (if used)
	// Written by: ServiceProviderClusterPropertiesSync
	HostedClusterNamespace string `json:"hostedClusterNamespace,omitempty"`

	// ControlPlaneNamespace is the namespace containing the pods that manage and run the HostedCluster.  It contains things like
	//  - etcd
	//  - kube-apiserver
	//  - control-plane-operator
	//  - control-plane-pki-operator
	// it is derived as <hostedClusterNamespace>-<hostedClusterName> with dots replaced by dashes.
	// Hypershift uses the HostedControlPlaneNamespace function.
	// Written by: ServiceProviderClusterPropertiesSync
	ControlPlaneNamespace string `json:"controlPlaneNamespace,omitempty"`

	// ServingCABundle is the PEM-encoded serving CA bundle for the cluster's
	// kube-apiserver. Populated from a ReadDesire mirror of the management
	// cluster's serving CA Secret.
	// Written by: ServiceProviderClusterPropertiesSync
	ServingCABundle string `json:"servingCABundle,omitempty"`

	// AzureResources tracks the lifecycle of Azure resources associated with
	// the cluster, including deny assignments and the managed resource group.
	AzureResources AzureResources `json:"azureResources,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.
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	// Spec contains the desired state of the nodepool
	Spec ServiceProviderNodePoolSpec `json:"spec,omitempty"`

	// Status contains the observed state of the nodepool
	Status ServiceProviderNodePoolStatus `json:"status,omitempty"`
}

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

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.

func (*ServiceProviderNodePool) DeepCopyObject

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

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

func (*ServiceProviderNodePool) GetObjectKind

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

func (*ServiceProviderNodePool) GetObjectMeta

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

type ServiceProviderNodePoolList

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

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

func (*ServiceProviderNodePoolList) DeepCopy

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

func (*ServiceProviderNodePoolList) DeepCopyInto

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

func (*ServiceProviderNodePoolList) DeepCopyObject

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

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

func (*ServiceProviderNodePoolList) GetObjectKind

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

type ServiceProviderNodePoolSpec

type ServiceProviderNodePoolSpec struct {
	// NodePoolVersion contains the desired node pool version information.
	// Example JSON structure:
	// {
	//   "nodePoolVersion": {
	//     "desiredVersion": "4.19.2"
	//   }
	// }
	NodePoolVersion ServiceProviderNodePoolSpecVersion `json:"nodePoolVersion,omitempty"`
}

ServiceProviderNodePoolSpec contains the desired state of the nodepool.

func (*ServiceProviderNodePoolSpec) DeepCopy

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

func (*ServiceProviderNodePoolSpec) DeepCopyInto

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

type ServiceProviderNodePoolSpecVersion

type ServiceProviderNodePoolSpecVersion struct {
	// DesiredVersion is the full version the controller wants to upgrade to (format: x.y.z)
	DesiredVersion *semver.Version `json:"desiredVersion,omitempty"`
}

ServiceProviderNodePoolSpecVersion contains the desired version information.

func (*ServiceProviderNodePoolSpecVersion) DeepCopy

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

func (*ServiceProviderNodePoolSpecVersion) DeepCopyInto

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

type ServiceProviderNodePoolStatus

type ServiceProviderNodePoolStatus struct {
	// Conditions are the top-level ServiceProviderNodePoolStatus status conditions.
	// Each Condition Type represents a condition and it should be unique among all conditions.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// Known condition types are:
	// - "Progressing": True when the cluster is in the process of being created, updated, or deleted. Both end-user initiated actions as
	//   well as internal actions such as upgrades or other maintenance operations are in progress are included in thsi condition.
	// - "Degraded": True when the cluster is in a degraded state
	// Addition of new conditions here should be done only when strictly necessary, sparingly and only done
	// when there is a clear benefit to doing so. We expect the number of conditions at this
	// level to be kept to a minimum. Take into consideration that conditions at other levels can be specified within
	// ServiceProviderNodePoolStatus too.
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
	// NodePoolActiveVersions contains the actual node pool versions information
	// ServiceProviderNodePoolActiveVersions contains all versions currently active in the NodePool
	// During an upgrade, multiple versions can be active simultaneously. Meaning, there are nodes
	// with different versions. For example:
	// - Simple upgrade: [vNew, vOld]
	// - Sequential upgrades before completion: [vNewer, vNew, vOld]
	//
	// The list is ordered with the most recent version first.
	//
	// Example JSON structure:
	// {
	//   "nodePoolVersion":{
	//		"activeVersions": [
	//       {"version": "4.19.2"},
	//       {"version": "4.19.1"}
	//     ]
	//   }
	// }
	NodePoolVersion ServiceProviderNodePoolStatusVersion `json:"nodePoolVersion,omitempty"`

	// Validations is a list of conditions that tracks the status of each node pool 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 []metav1.Condition `json:"validations,omitempty"`

	// MaestroReadonlyBundles contains a list of Maestro readonly bundles references.
	// These bundles are used to retrieve particular K8s resources from the Management Cluster.
	// The reference contains a mapping between the logical name we give to the Maestro bundle internally
	// and the Maestro Bundle Name and ID at the Maestro API level.
	MaestroReadonlyBundles MaestroBundleReferenceList `json:"maestroReadonlyBundles,omitempty"`
}

ServiceProviderNodePoolStatus contains the observed state of the node pool.

func (*ServiceProviderNodePoolStatus) DeepCopy

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

func (*ServiceProviderNodePoolStatus) DeepCopyInto

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

type ServiceProviderNodePoolStatusVersion

type ServiceProviderNodePoolStatusVersion struct {
	// ActiveVersions is an array of versions currently active in the nodepool, ordered with the most recent first.
	// During upgrades, multiple versions can be active simultaneously.
	ActiveVersions []HCPNodePoolActiveVersion `json:"activeVersions,omitempty"`
}

ServiceProviderNodePoolStatusVersion contains the actual version information.

func (*ServiceProviderNodePoolStatusVersion) DeepCopy

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

func (*ServiceProviderNodePoolStatusVersion) DeepCopyInto

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 Subscription

type Subscription struct {
	// PartitionKey holds the lowercased subscriptionID.
	CosmosMetadata `json:"cosmosMetadata"`

	// kept so untyped client can function
	ResourceID *azcorearm.ResourceID `json:"resourceId,omitempty"`

	// The resource provider contract gives an example RegistrationDate
	// in RFC1123 format but does not explicitly state a required format
	// so we leave it a plain string.
	State            SubscriptionState       `json:"state"`
	RegistrationDate *string                 `json:"registrationDate"`
	Properties       *SubscriptionProperties `json:"properties"`

	// LastUpdated is a copy of the Cosmos DB system generated
	// "_ts" last updated timestamp field for metrics reporting.
	LastUpdated int `json:"-"`
}

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

func (*Subscription) DeepCopy

func (in *Subscription) DeepCopy() *Subscription

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

func (*Subscription) DeepCopyInto

func (in *Subscription) DeepCopyInto(out *Subscription)

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

func (*Subscription) DeepCopyObject

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

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

func (*Subscription) GetObjectKind

func (s *Subscription) GetObjectKind() schema.ObjectKind

func (*Subscription) GetObjectMeta

func (s *Subscription) GetObjectMeta() metav1.Object

GetObjectMeta returns metadata that allows Kubernetes informer machinery to key subscriptions by their subscription ID.

func (*Subscription) GetRegisteredFeatures

func (s *Subscription) GetRegisteredFeatures() []Feature

GetRegisteredFeatures safely returns the RegisteredFeatures from the subscription, returning an empty slice if Properties or RegisteredFeatures is nil.

func (*Subscription) HasRegisteredFeature

func (s *Subscription) HasRegisteredFeature(featureName string) bool

HasRegisteredFeature checks if a subscription has a specific feature registered. The feature name should be in the format "Microsoft.Provider/FeatureName". Returns true if the feature is present and its state is "Registered", false otherwise.

type SubscriptionList

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

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

func (*SubscriptionList) DeepCopy

func (in *SubscriptionList) DeepCopy() *SubscriptionList

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

func (*SubscriptionList) DeepCopyInto

func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)

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

func (*SubscriptionList) DeepCopyObject

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

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

func (*SubscriptionList) GetObjectKind

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

type SubscriptionProperties

type SubscriptionProperties struct {
	TenantId             *string              `json:"tenantId,omitempty"`
	LocationPlacementId  *string              `json:"locationPlacementId,omitempty"`
	QuotaId              *string              `json:"quotaId,omitempty"`
	RegisteredFeatures   *[]Feature           `json:"registeredFeatures,omitempty"`
	AvailabilityZones    *AvailabilityZone    `json:"availabilityZones,omitempty"`
	SpendingLimit        *string              `json:"spendingLimit,omitempty"`
	AccountOwner         *AccountOwner        `json:"accountOwner,omitempty"`
	ManagedByTenants     *[]map[string]string `json:"managedByTenants,omitempty"`
	AdditionalProperties any                  `json:"additionalProperties,omitempty"`
}

func (*SubscriptionProperties) DeepCopy

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

func (*SubscriptionProperties) DeepCopyInto

func (in *SubscriptionProperties) DeepCopyInto(out *SubscriptionProperties)

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

type SubscriptionState

type SubscriptionState string
const (
	SubscriptionStateRegistered   SubscriptionState = "Registered"
	SubscriptionStateUnregistered SubscriptionState = "Unregistered"
	SubscriptionStateWarned       SubscriptionState = "Warned"
	SubscriptionStateDeleted      SubscriptionState = "Deleted"
	SubscriptionStateSuspended    SubscriptionState = "Suspended"
)

type SystemAdminCredentialRequest

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

	Spec   SystemAdminCredentialRequestSpec   `json:"spec"`
	Status SystemAdminCredentialRequestStatus `json:"status"`
}

SystemAdminCredentialRequest represents a temporary admin credential request tracked in Cosmos, replacing the cluster-service break-glass credential flow.

Lifecycle is tracked via metav1.Conditions rather than an explicit Phase enum so that individual aspects of the request (issuance, revocation, cleanup) can progress independently and callers can reason about each concern separately.

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

func (*SystemAdminCredentialRequest) DeepCopy

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

func (*SystemAdminCredentialRequest) DeepCopyInto

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

func (*SystemAdminCredentialRequest) DeepCopyObject

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

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

func (*SystemAdminCredentialRequest) GetObjectKind

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

func (*SystemAdminCredentialRequest) GetObjectMeta

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

type SystemAdminCredentialRequestList

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

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

func (*SystemAdminCredentialRequestList) DeepCopy

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

func (*SystemAdminCredentialRequestList) DeepCopyInto

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

func (*SystemAdminCredentialRequestList) DeepCopyObject

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

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

func (*SystemAdminCredentialRequestList) GetObjectKind

type SystemAdminCredentialRequestSpec

type SystemAdminCredentialRequestSpec struct {
	// CreationTimestamp is when the credential request was created (server-set).
	// The garbage collector deletes each request once it is older than the
	// retention window, regardless of the request's status.
	// Written by: SystemAdminCredentialDispatchRequestCredential
	CreationTimestamp metav1.Time `json:"creationTimestamp"`
	// ExpirationTimestamp is when the cert ceases to be valid (server-set, now + 24h).
	// Written by: SystemAdminCredentialDispatchRequestCredential
	ExpirationTimestamp metav1.Time `json:"expirationTimestamp"`
	// OperationID is the ARM operation that created this credential request.
	// Written by: SystemAdminCredentialDispatchRequestCredential
	OperationID string `json:"operationID"`
	// CertificateSigningRequestPEM is the PEM-encoded PKCS#10 certificate signing
	// request provided by the caller. The backend embeds this directly in
	// the Kubernetes CertificateSigningRequest it creates on the management
	// cluster. The corresponding private key is held only by the caller.
	// Written by: SystemAdminCredentialDispatchRequestCredential
	CertificateSigningRequestPEM string `json:"certificateSigningRequestPEM"`
}

SystemAdminCredentialRequestSpec contains the desired state of the credential request. Written by: SystemAdminCredentialDispatchRequestCredential (all fields set at creation)

func (*SystemAdminCredentialRequestSpec) DeepCopy

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

func (*SystemAdminCredentialRequestSpec) DeepCopyInto

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

type SystemAdminCredentialRequestStatus

type SystemAdminCredentialRequestStatus struct {
	// SignedCertificate is the base64-encoded PEM certificate the
	// management-cluster signer produced (the CSR's Status.Certificate, which
	// the Kubernetes API guarantees to be PEM-encoded).
	// Written by: SystemAdminCredentialIssuanceObserver
	SignedCertificate string `json:"signedCertificate,omitempty"`
	// Conditions tracks lifecycle state using standard metav1.Conditions.
	// Known condition types:
	//   - "Issued": True when the CSR has been signed and the cert is available.
	//   - "Failed": True when the CSR was denied or issuance otherwise failed.
	//   - "AwaitingRevocation": True when revocation has been requested but not yet confirmed.
	//   - "Revoked": True when the credential has been revoked.
	//   - "ContentDeleted": True when all MC-side objects have been cleaned up.
	// Written by: SystemAdminCredentialIssuanceObserver (Issued, Failed)
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// RevokedAt is set when the Revoked condition transitions to True.
	RevokedAt *metav1.Time `json:"revokedAt,omitempty"`
	// DeletionTimestamp is set when deletion has been requested for this credential
	// request. Controllers use this to drive teardown of associated kube-applier
	// desires before removing the credential request document itself.
	// Written by: SystemAdminCredentialRevocationMarkRequests
	DeletionTimestamp *metav1.Time `json:"deletionTimestamp,omitempty"`
}

SystemAdminCredentialRequestStatus contains the observed state of the credential request.

func (*SystemAdminCredentialRequestStatus) DeepCopy

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

func (*SystemAdminCredentialRequestStatus) DeepCopyInto

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

type SystemAdminCredentialRevocation

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

	Spec   SystemAdminCredentialRevocationSpec   `json:"spec"`
	Status SystemAdminCredentialRevocationStatus `json:"status"`
}

SystemAdminCredentialRevocation represents a single revocation of all of a cluster's system admin credentials, tracked in Cosmos and nested under the cluster. When a RevokeCredentials operation fires, the dispatch controller creates one of these documents and records its resource ID on the operation's InternalID. Dedicated controllers then drive the revocation lifecycle:

  • one controller live-lists every SystemAdminCredentialRequest for the cluster and marks each with a DeletionTimestamp;
  • one controller manages the CertificateRevocationRequest (CRR) desires that ask the hosted cluster to revoke already-issued certificates;
  • one completion controller marks the revocation for deletion once the credentials are marked and the HCP confirms revocation;
  • one deletion controller tears down the revocation's desires and, when they are all gone, deletes this document.

The RevokeCredentials operation completes once this document no longer exists.

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

func (*SystemAdminCredentialRevocation) DeepCopy

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

func (*SystemAdminCredentialRevocation) DeepCopyInto

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

func (*SystemAdminCredentialRevocation) DeepCopyObject

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

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

func (*SystemAdminCredentialRevocation) GetObjectKind

func (*SystemAdminCredentialRevocation) GetObjectMeta

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

type SystemAdminCredentialRevocationList

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

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

func (*SystemAdminCredentialRevocationList) DeepCopy

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

func (*SystemAdminCredentialRevocationList) DeepCopyInto

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

func (*SystemAdminCredentialRevocationList) DeepCopyObject

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

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

func (*SystemAdminCredentialRevocationList) GetObjectKind

type SystemAdminCredentialRevocationSpec

type SystemAdminCredentialRevocationSpec struct {
	// OperationID is the ARM operation that triggered the revocation.
	// Written by: SystemAdminCredentialDispatchRevokeCredentials
	OperationID string `json:"operationID"`
	// RevokeOpSuffix is the shortened operation ID used in CRR object names.
	// Written by: SystemAdminCredentialDispatchRevokeCredentials
	RevokeOpSuffix string `json:"revokeOpSuffix"`
}

SystemAdminCredentialRevocationSpec contains the desired state of the revocation. Written by: SystemAdminCredentialDispatchRevokeCredentials (all fields set at creation)

func (*SystemAdminCredentialRevocationSpec) DeepCopy

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

func (*SystemAdminCredentialRevocationSpec) DeepCopyInto

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

type SystemAdminCredentialRevocationStatus

type SystemAdminCredentialRevocationStatus struct {
	// Conditions tracks revocation lifecycle using standard metav1.Conditions.
	// Known condition types:
	//   - "CredentialsMarkedForDeletion": True when every SystemAdminCredentialRequest
	//     for the cluster has been marked with a DeletionTimestamp.
	//   - "CertificatesRevoked": True when the CRR confirms previously-issued
	//     certificates have been revoked on the hosted cluster.
	//   - "Complete": True when the whole revocation flow is done and this document
	//     may be deleted.
	// Written by: SystemAdminCredentialRevocationMarkRequests (CredentialsMarkedForDeletion), SystemAdminCredentialRevocationCompletion (CertificatesRevoked, Complete)
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DeletionTimestamp is set once revocation is complete and the deletion
	// controller should tear down the revocation's desires and remove this
	// document.
	// Written by: SystemAdminCredentialRevocationCompletion
	DeletionTimestamp *metav1.Time `json:"deletionTimestamp,omitempty"`
}

SystemAdminCredentialRevocationStatus contains the observed state of the revocation.

func (*SystemAdminCredentialRevocationStatus) DeepCopy

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

func (*SystemAdminCredentialRevocationStatus) DeepCopyInto

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

type SystemData

type SystemData struct {
	// CreatedBy is a string identifier for the identity that created the resource
	CreatedBy string `json:"createdBy,omitempty"`
	// CreatedByType is the type of identity that created the resource: User, Application, ManagedIdentity
	CreatedByType CreatedByType `json:"createdByType,omitempty"`
	// The timestamp of resource creation (UTC)
	CreatedAt *time.Time `json:"createdAt,omitempty"`
	// LastModifiedBy is a string identifier for the identity that last modified the resource
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// LastModifiedByType is the type of identity that last modified the resource: User, Application, ManagedIdentity
	LastModifiedByType CreatedByType `json:"lastModifiedByType,omitempty"`
	// LastModifiedAt is the timestamp of resource last modification (UTC)
	LastModifiedAt *time.Time `json:"lastModifiedAt,omitempty"`
}

SystemData includes creation and modification metadata for resources See https://eng.ms/docs/products/arm/api_contracts/resourcesystemdata

func (*SystemData) DeepCopy

func (in *SystemData) DeepCopy() *SystemData

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

func (*SystemData) DeepCopyInto

func (in *SystemData) DeepCopyInto(out *SystemData)

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

type Taint

type Taint struct {
	Effect metadataapi.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          metadataapi.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 TrackedResource

type TrackedResource struct {
	Resource
	Location string            `json:"location,omitempty"`
	Tags     map[string]string `json:"tags,omitempty"`
}

TrackedResource represents a tracked ARM resource

func NewTrackedResource

func NewTrackedResource(resourceID *azcorearm.ResourceID, azureLocation string) TrackedResource

NewTrackedResource returns a TrackedResource initialized from resourceID.

func (*TrackedResource) DeepCopy

func (in *TrackedResource) DeepCopy() *TrackedResource

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

func (*TrackedResource) DeepCopyInto

func (in *TrackedResource) DeepCopyInto(out *TrackedResource)

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

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 UserAssignedIdentity

type UserAssignedIdentity struct {
	ClientID    *string `json:"clientId,omitempty"`
	PrincipalID *string `json:"principalId,omitempty"`
}

UserAssignedIdentity - User assigned identity properties https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/data-types/#Azure.ResourceManager.CommonTypes.UserAssignedIdentity

func (*UserAssignedIdentity) DeepCopy

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

func (*UserAssignedIdentity) DeepCopyInto

func (in *UserAssignedIdentity) DeepCopyInto(out *UserAssignedIdentity)

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

type UsernameClaimProfile

type UsernameClaimProfile struct {
	Claim        string                                `json:"claim"`
	Prefix       string                                `json:"prefix"`
	PrefixPolicy metadataapi.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

	// Request Unmarshaling
	UnmarshalHCPOpenShiftClusterAdminCredentialRequest([]byte) (*HCPOpenShiftClusterAdminCredentialRequest, error)

	// 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
	ConvertToInternal(existing *InternalAPIType) (*InternalAPIType, error)
}

type VersionedHCPOpenShiftVersion

type VersionedHCPOpenShiftVersion VersionedResource

type VersionedResource

type VersionedResource interface {
}

type ZoneMapping

type ZoneMapping struct {
	LogicalZone  *string `json:"logicalZone,omitempty"`
	PhysicalZone *string `json:"physicalZone,omitempty"`
}

func (*ZoneMapping) DeepCopy

func (in *ZoneMapping) DeepCopy() *ZoneMapping

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

func (*ZoneMapping) DeepCopyInto

func (in *ZoneMapping) DeepCopyInto(out *ZoneMapping)

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

Jump to

Keyboard shortcuts

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