Documentation
¶
Index ¶
- Constants
- Variables
- func CloudErrorFromFieldErrors(fieldErrors field.ErrorList) error
- func DeepCopyResourceID(id *azcorearm.ResourceID) *azcorearm.ResourceID
- func DetectTLE(data []byte) (bool, error)
- func IsTLE(s string) bool
- func MarshalJSON(v any) ([]byte, error)
- func ResourceIDStringToCosmosID(resourceID string) (string, error)
- func ResourceIDToCosmosID(resourceID *azcorearm.ResourceID) (string, error)
- type APIRegistry
- type AccountOwner
- type AvailabilityZone
- type AzureMultiReference
- type AzureReference
- type AzureResources
- type BackupScheduleState
- type CloudError
- func CloudErrorFromFieldError(fieldError *field.Error) *CloudError
- func NewCloudError(statusCode int, code, target, format string, a ...interface{}) *CloudError
- func NewConflictError(resourceID *azcorearm.ResourceID, format string, a ...interface{}) *CloudError
- func NewContentValidationError(errors []CloudErrorBody) *CloudError
- func NewInternalServerError() *CloudError
- func NewInvalidRequestContentError(err error) *CloudError
- func NewResourceNotFoundError(resourceID *azcorearm.ResourceID) *CloudError
- type CloudErrorBody
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (cluster *Cluster) EnsureDefaults()
- func (o *Cluster) GetObjectKind() schema.ObjectKind
- func (o *Cluster) GetObjectMeta() metav1.Object
- func (o *Cluster) Validate() []CloudErrorBody
- type ClusterAdminCredential
- type ClusterAdminCredentialRequest
- type ClusterAutoscalingProfile
- type ClusterCustomerProperties
- type ClusterImageRegistryProfile
- type ClusterList
- type ClusterServiceProviderProperties
- type ClusterStatus
- type ContainerRegistryProfile
- type ControlPlaneAvailability
- type ControlPlanePodSizing
- type Controller
- type ControllerList
- type ControllerStatus
- type CorrelationData
- type CosmosMetadata
- func (in *CosmosMetadata) DeepCopy() *CosmosMetadata
- func (in *CosmosMetadata) DeepCopyInto(out *CosmosMetadata)
- func (o *CosmosMetadata) GetCosmosData() *CosmosMetadata
- func (o *CosmosMetadata) GetCosmosUID() string
- func (o *CosmosMetadata) GetEtag() azcore.ETag
- func (o *CosmosMetadata) GetInstanceVersion() int64
- func (o *CosmosMetadata) GetPartitionKey() string
- func (o *CosmosMetadata) GetResourceID() *azcorearm.ResourceID
- func (o *CosmosMetadata) SetEtag(cosmosETag azcore.ETag)
- func (o *CosmosMetadata) SetInstanceVersion(v int64)
- func (o *CosmosMetadata) SetPartitionKey(partitionKey string)
- func (o *CosmosMetadata) SetResourceID(resourceID *azcorearm.ResourceID)
- type CosmosMetadataAccessor
- type CosmosMetadataAccessorPtr
- type CosmosPersistable
- type CreatedByType
- type CustomerAPIProfile
- type CustomerDNSProfile
- type CustomerIngressProfile
- type CustomerManagedEncryptionProfile
- type CustomerPlatformProfile
- type DenyAssignmentReference
- type DenyAssignmentReferences
- type DeploymentPreflight
- type DeploymentPreflightResource
- func (r *DeploymentPreflightResource) Convert(v any) error
- func (in *DeploymentPreflightResource) DeepCopy() *DeploymentPreflightResource
- func (in *DeploymentPreflightResource) DeepCopyInto(out *DeploymentPreflightResource)
- func (r *DeploymentPreflightResource) ResourceID(subscriptionID, resourceGroup string) string
- type DeploymentPreflightResponse
- type DeploymentPreflightStatus
- type EtcdDataEncryptionProfile
- type EtcdProfile
- type ExperimentalFeatures
- type ExternalAuth
- func (in *ExternalAuth) DeepCopy() *ExternalAuth
- func (in *ExternalAuth) DeepCopyInto(out *ExternalAuth)
- func (in *ExternalAuth) DeepCopyObject() runtime.Object
- func (ea *ExternalAuth) EnsureDefaults()
- func (o *ExternalAuth) GetObjectKind() schema.ObjectKind
- func (o *ExternalAuth) GetObjectMeta() metav1.Object
- func (o *ExternalAuth) Validate() []CloudErrorBody
- type ExternalAuthClaimProfile
- type ExternalAuthClientComponentProfile
- type ExternalAuthClientProfile
- type ExternalAuthList
- type ExternalAuthProperties
- type ExternalAuthServiceProviderProperties
- type ExternalAuthStatus
- type Feature
- type GroupClaimProfile
- type HCPClusterActiveVersion
- type HCPNodePoolActiveVersion
- type HostedClusterControlPlaneSize
- type ImageDigestMirror
- type KmsEncryptionProfile
- type KmsKey
- type MaestroBundleInternalName
- type MaestroBundleReference
- type MaestroBundleReferenceList
- func (in MaestroBundleReferenceList) DeepCopy() MaestroBundleReferenceList
- func (in MaestroBundleReferenceList) DeepCopyInto(out *MaestroBundleReferenceList)
- func (l MaestroBundleReferenceList) Get(name MaestroBundleInternalName) (*MaestroBundleReference, error)
- func (l *MaestroBundleReferenceList) Remove(name MaestroBundleInternalName) error
- func (l *MaestroBundleReferenceList) Set(maestroBundleReference *MaestroBundleReference) error
- type MaestroBundleResourceIdentifier
- type ManagedServiceIdentity
- type ManagedServiceIdentityType
- type ManagementClusterContent
- func (in *ManagementClusterContent) DeepCopy() *ManagementClusterContent
- func (in *ManagementClusterContent) DeepCopyInto(out *ManagementClusterContent)
- func (in *ManagementClusterContent) DeepCopyObject() runtime.Object
- func (o *ManagementClusterContent) GetObjectKind() schema.ObjectKind
- func (o *ManagementClusterContent) GetObjectMeta() metav1.Object
- type ManagementClusterContentList
- func (in *ManagementClusterContentList) DeepCopy() *ManagementClusterContentList
- func (in *ManagementClusterContentList) DeepCopyInto(out *ManagementClusterContentList)
- func (in *ManagementClusterContentList) DeepCopyObject() runtime.Object
- func (l *ManagementClusterContentList) GetObjectKind() schema.ObjectKind
- type ManagementClusterContentStatus
- type NamespaceOperation
- type NamespaceOperationDisplay
- type NamespaceOperationOrigin
- type NetworkProfile
- type NodePool
- func (in *NodePool) DeepCopy() *NodePool
- func (in *NodePool) DeepCopyInto(out *NodePool)
- func (in *NodePool) DeepCopyObject() runtime.Object
- func (np *NodePool) EnsureDefaults()
- func (o *NodePool) GetObjectKind() schema.ObjectKind
- func (o *NodePool) GetObjectMeta() metav1.Object
- func (nodePool *NodePool) Validate(cluster *Cluster) []CloudErrorBody
- type NodePoolAutoScaling
- type NodePoolList
- type NodePoolPlatformProfile
- type NodePoolProperties
- type NodePoolServiceProviderProperties
- type NodePoolStatus
- type NodePoolVersionProfile
- type OSDiskProfile
- type OpenShiftVersion
- type OpenShiftVersionProperties
- type Operation
- func (o *Operation) ComputeLogicalResourceID() *azcorearm.ResourceID
- func (in *Operation) DeepCopy() *Operation
- func (in *Operation) DeepCopyInto(out *Operation)
- func (in *Operation) DeepCopyObject() runtime.Object
- func (o *Operation) GetObjectKind() schema.ObjectKind
- func (o *Operation) GetObjectMeta() metav1.Object
- type OperationList
- type OperationRequest
- type OperationStatus
- type OperationSystemAdminCredentialRequest
- type OperationSystemAdminCredentialRevocation
- type OperatorsAuthenticationProfile
- type PagedResponse
- type ProvisioningState
- type ProxyResource
- type Resource
- type ServiceProviderAPIProfile
- type ServiceProviderCluster
- func (in *ServiceProviderCluster) DeepCopy() *ServiceProviderCluster
- func (in *ServiceProviderCluster) DeepCopyInto(out *ServiceProviderCluster)
- func (in *ServiceProviderCluster) DeepCopyObject() runtime.Object
- func (o *ServiceProviderCluster) GetObjectKind() schema.ObjectKind
- func (o *ServiceProviderCluster) GetObjectMeta() metav1.Object
- type ServiceProviderClusterActiveVersion
- type ServiceProviderClusterControlPlaneOperatorIdentity
- type ServiceProviderClusterDataPlaneOperatorManagedIdentity
- type ServiceProviderClusterDataPlaneOperatorsManagedIdentities
- type ServiceProviderClusterList
- func (in *ServiceProviderClusterList) DeepCopy() *ServiceProviderClusterList
- func (in *ServiceProviderClusterList) DeepCopyInto(out *ServiceProviderClusterList)
- func (in *ServiceProviderClusterList) DeepCopyObject() runtime.Object
- func (l *ServiceProviderClusterList) GetObjectKind() schema.ObjectKind
- type ServiceProviderClusterMSIManagedIdentities
- type ServiceProviderClusterPinnedVersion
- type ServiceProviderClusterPlacementStatus
- type ServiceProviderClusterServiceManagedIdentity
- type ServiceProviderClusterSpec
- type ServiceProviderClusterSpecVersion
- type ServiceProviderClusterStatus
- type ServiceProviderClusterStatusVersion
- type ServiceProviderConsoleProfile
- type ServiceProviderDNSProfile
- type ServiceProviderNodePool
- func (in *ServiceProviderNodePool) DeepCopy() *ServiceProviderNodePool
- func (in *ServiceProviderNodePool) DeepCopyInto(out *ServiceProviderNodePool)
- func (in *ServiceProviderNodePool) DeepCopyObject() runtime.Object
- func (o *ServiceProviderNodePool) GetObjectKind() schema.ObjectKind
- func (o *ServiceProviderNodePool) GetObjectMeta() metav1.Object
- type ServiceProviderNodePoolActiveVersion
- type ServiceProviderNodePoolList
- func (in *ServiceProviderNodePoolList) DeepCopy() *ServiceProviderNodePoolList
- func (in *ServiceProviderNodePoolList) DeepCopyInto(out *ServiceProviderNodePoolList)
- func (in *ServiceProviderNodePoolList) DeepCopyObject() runtime.Object
- func (l *ServiceProviderNodePoolList) GetObjectKind() schema.ObjectKind
- type ServiceProviderNodePoolSpec
- type ServiceProviderNodePoolSpecVersion
- type ServiceProviderNodePoolStatus
- type ServiceProviderNodePoolStatusVersion
- type ServiceProviderPlatformProfile
- type Subscription
- func (in *Subscription) DeepCopy() *Subscription
- func (in *Subscription) DeepCopyInto(out *Subscription)
- func (in *Subscription) DeepCopyObject() runtime.Object
- func (s *Subscription) GetObjectKind() schema.ObjectKind
- func (s *Subscription) GetObjectMeta() metav1.Object
- func (s *Subscription) GetRegisteredFeatures() []Feature
- func (s *Subscription) HasRegisteredFeature(featureName string) bool
- type SubscriptionList
- type SubscriptionProperties
- type SubscriptionState
- type SystemAdminCredentialRequest
- func (in *SystemAdminCredentialRequest) DeepCopy() *SystemAdminCredentialRequest
- func (in *SystemAdminCredentialRequest) DeepCopyInto(out *SystemAdminCredentialRequest)
- func (in *SystemAdminCredentialRequest) DeepCopyObject() runtime.Object
- func (o *SystemAdminCredentialRequest) GetObjectKind() schema.ObjectKind
- func (o *SystemAdminCredentialRequest) GetObjectMeta() metav1.Object
- type SystemAdminCredentialRequestList
- func (in *SystemAdminCredentialRequestList) DeepCopy() *SystemAdminCredentialRequestList
- func (in *SystemAdminCredentialRequestList) DeepCopyInto(out *SystemAdminCredentialRequestList)
- func (in *SystemAdminCredentialRequestList) DeepCopyObject() runtime.Object
- func (l *SystemAdminCredentialRequestList) GetObjectKind() schema.ObjectKind
- type SystemAdminCredentialRequestSpec
- type SystemAdminCredentialRequestStatus
- type SystemAdminCredentialRevocation
- func (in *SystemAdminCredentialRevocation) DeepCopy() *SystemAdminCredentialRevocation
- func (in *SystemAdminCredentialRevocation) DeepCopyInto(out *SystemAdminCredentialRevocation)
- func (in *SystemAdminCredentialRevocation) DeepCopyObject() runtime.Object
- func (o *SystemAdminCredentialRevocation) GetObjectKind() schema.ObjectKind
- func (o *SystemAdminCredentialRevocation) GetObjectMeta() metav1.Object
- type SystemAdminCredentialRevocationList
- func (in *SystemAdminCredentialRevocationList) DeepCopy() *SystemAdminCredentialRevocationList
- func (in *SystemAdminCredentialRevocationList) DeepCopyInto(out *SystemAdminCredentialRevocationList)
- func (in *SystemAdminCredentialRevocationList) DeepCopyObject() runtime.Object
- func (l *SystemAdminCredentialRevocationList) GetObjectKind() schema.ObjectKind
- type SystemAdminCredentialRevocationSpec
- type SystemAdminCredentialRevocationStatus
- type SystemData
- type Taint
- type TokenClaimMappingsProfile
- type TokenClaimValidationRule
- type TokenIssuerProfile
- type TokenRequiredClaim
- type TrackedResource
- type UserAssignedIdentitiesProfile
- type UserAssignedIdentity
- type UsernameClaimProfile
- type ValidationPathMapperFunc
- type Version
- type VersionProfile
- type VersionedCluster
- type VersionedCreatableResource
- type VersionedExternalAuth
- type VersionedNodePool
- type VersionedOpenShiftVersion
- type VersionedResource
- type ZStreamUpdatePolicy
- type ZoneMapping
Constants ¶
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
const ( DefaultNodePoolVersionChannelGroup = "stable" DefaultNodePoolOSDiskSizeGiB int32 = 64 )
NodePool defaults
DefaultNodePoolVersionChannelGroup is intentionally separate from DefaultClusterVersionChannelGroup to allow independent evolution.
const ( CloudErrorCodeInternalServerError = "InternalServerError" 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" CloudErrorCodeCapacityHeavyUse = "AROHCPCapacityHeavyUse" CloudErrorCodeDeadlineExceeded = "DeadlineExceeded" )
CloudError codes
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" )
const ( NamespaceOperationRead = "read" NamespaceOperationWrite = "write" NamespaceOperationDelete = "delete" NamespaceOperationAction = "action" )
The last path segment of Name must be one of these.
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" )
const ( // CapacityReasonAvailable means a suitable management cluster was found. CapacityReasonAvailable = "Available" // CapacityReasonInsufficientCapacity means eligible management clusters were // evaluated, but none had enough capacity. CapacityReasonInsufficientCapacity = "InsufficientCapacity" // CapacityReasonNoEligibleManagementCluster means all candidates were evaluated // and none were eligible (or there were no candidates). CapacityReasonNoEligibleManagementCluster = "NoEligibleManagementCluster" // CapacityReasonEvaluationIncomplete means observations or configuration are // missing, so capacity availability is Unknown. CapacityReasonEvaluationIncomplete = "EvaluationIncomplete" )
Known Reason values for the CapacityAvailable condition.
const ( VersionUpgradeNotAcceptedReason string = "VersionUpgradeNotAccepted" NoErrorsReason string = "NoErrors" )
Known ServiceProviderCluster and ServiceProviderNodePool status condition Reason values (metav1.Condition.Reason).
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" )
const ( SystemAdminCredentialRequestConditionIssued = "Issued" SystemAdminCredentialRequestConditionFailed = "Failed" SystemAdminCredentialRequestConditionAwaitingRevocation = "AwaitingRevocation" SystemAdminCredentialRequestConditionRevoked = "Revoked" SystemAdminCredentialRequestConditionContentDeleted = "ContentDeleted" )
SystemAdminCredentialRequest condition types.
const ( SystemAdminCredentialRevocationConditionCredentialsMarkedForDeletion = "CredentialsMarkedForDeletion" SystemAdminCredentialRevocationConditionCertificatesRevoked = "CertificatesRevoked" SystemAdminCredentialRevocationConditionComplete = "Complete" )
SystemAdminCredentialRevocation condition types.
const ( // CapacityAvailableConditionType describes capacity for this HCP's placement // attempt, not ongoing fleet capacity. False means evaluation established that // no usable capacity exists; Unknown means required observations or configuration // were unavailable. CapacityAvailableConditionType = "CapacityAvailable" )
const (
ControllerConditionReasonAsExpected = "AsExpected"
)
Known controller status condition Reason values (metav1.Condition.Reason).
const (
ControllerConditionTypeIntentFailed = "IntentFailed"
)
Controller status condition Type values (metav1.Condition.Type) for HCP controller documents.
const ( // DegradedCondition is True when the resource is in a degraded state. // Applies to ServiceProviderCluster and ServiceProviderNodePool. DegradedCondition = "Degraded" )
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" )
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" )
const SubscriptionAPIVersion = "2.0"
SubscriptionAPIVersion is the system API version for the subscription endpoint.
Variables ¶
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)) )
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"), } )
var ( ValidCreatedByTypes = sets.New[CreatedByType]( CreatedByTypeApplication, CreatedByTypeKey, CreatedByTypeManagedIdentity, CreatedByTypeUser) )
var ( ValidManagedServiceIdentityTypes = sets.New[ManagedServiceIdentityType]( ManagedServiceIdentityTypeNone, ManagedServiceIdentityTypeSystemAssigned, ManagedServiceIdentityTypeSystemAssignedUserAssigned, ManagedServiceIdentityTypeUserAssigned) )
var ( ValidNamespaceOperationOrigins = sets.New[NamespaceOperationOrigin]( NamespaceOperationOriginUser, NamespaceOperationOriginSystem, NamespaceOperationOriginUserSystem, ) )
var ( ValidNamespaceOperations = sets.New[string]( NamespaceOperationRead, NamespaceOperationWrite, NamespaceOperationDelete, NamespaceOperationAction, ) )
var ( ValidSubscriptionStates = sets.New( SubscriptionStateRegistered, SubscriptionStateUnregistered, SubscriptionStateWarned, SubscriptionStateDeleted, SubscriptionStateSuspended, ) )
Functions ¶
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 ¶
DetectTLE returns true if a Template Language Expression is detected in any part of the JSON input.
func MarshalJSON ¶
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 ResourceIDToCosmosID ¶
func ResourceIDToCosmosID(resourceID *azcorearm.ResourceID) (string, error)
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"`
}
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"`
}
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 DenyAssignmentReferences `json:"denyAssignments,omitempty"`
// ManagedResourceGroup tracks the managed resource group for the cluster.
// Written by: EnsureManagedResourceGroup
ManagedResourceGroup AzureReference `json:"managedResourceGroup,omitempty"`
// RoleAssignments tracks the role assignments created on the managed resource group
// for the cluster's control-plane and data-plane operator identities and its service
// managed identity.
// Written by: IdentityRoleAssignments
RoleAssignments AzureMultiReference `json:"roleAssignments,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 Cluster ¶
type Cluster struct {
// PartitionKey holds the lowercased subscriptionID.
CosmosMetadata `json:"cosmosMetadata"`
TrackedResource
// Written by: Frontend PUT/PATCH Cluster, ClusterBaseDomainPrefixSync
CustomerProperties ClusterCustomerProperties `json:"customerProperties,omitempty"`
// Written by: Frontend PUT/PATCH/DELETE Cluster, all Operation*Cluster controllers, ClusterPropertiesSync, ClusterClusterServiceCreate, ClusterDeletion* controllers, CreateBillingDoc
ServiceProviderProperties ClusterServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
// Written by: Frontend PUT/PATCH Cluster (Create/Update), ClusterIdentitySync
Identity *ManagedServiceIdentity `json:"identity,omitempty"`
// Written by: ClusterDegradedAggregator, ClusterRequirementsValidAggregator
Status ClusterStatus `json:"status"`
}
Cluster represents an ARO HCP OpenShift cluster resource. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func NewDefaultCluster ¶
func NewDefaultCluster(resourceID *azcorearm.ResourceID, azureLocation string) *Cluster
NewDefaultCluster creates a Cluster with any non-zero default values.
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) EnsureDefaults ¶
func (cluster *Cluster) 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 (*Cluster) GetObjectKind ¶
func (o *Cluster) GetObjectKind() schema.ObjectKind
func (*Cluster) GetObjectMeta ¶
func (*Cluster) Validate ¶
func (o *Cluster) Validate() []CloudErrorBody
type ClusterAdminCredential ¶
type ClusterAdminCredential struct {
ExpirationTimestamp time.Time `json:"expirationTimestamp"`
Kubeconfig string `json:"kubeconfig"`
}
ClusterAdminCredential represents a temporary admin credential for an ARO HCP OpenShift cluster.
func (*ClusterAdminCredential) DeepCopy ¶
func (in *ClusterAdminCredential) DeepCopy() *ClusterAdminCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAdminCredential.
func (*ClusterAdminCredential) DeepCopyInto ¶
func (in *ClusterAdminCredential) DeepCopyInto(out *ClusterAdminCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAdminCredentialRequest ¶
type ClusterAdminCredentialRequest struct {
CertificateSigningRequest string `json:"certificateSigningRequest,omitempty"`
}
func (*ClusterAdminCredentialRequest) DeepCopy ¶
func (in *ClusterAdminCredentialRequest) DeepCopy() *ClusterAdminCredentialRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAdminCredentialRequest.
func (*ClusterAdminCredentialRequest) DeepCopyInto ¶
func (in *ClusterAdminCredentialRequest) DeepCopyInto(out *ClusterAdminCredentialRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ClusterAutoscalingProfile) DeepCopy() *ClusterAutoscalingProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalingProfile.
func (*ClusterAutoscalingProfile) DeepCopyInto ¶
func (in *ClusterAutoscalingProfile) DeepCopyInto(out *ClusterAutoscalingProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCustomerProperties ¶
type ClusterCustomerProperties 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"`
}
ClusterCustomerProperties represents the property bag of a Cluster resource.
func (*ClusterCustomerProperties) DeepCopy ¶
func (in *ClusterCustomerProperties) DeepCopy() *ClusterCustomerProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCustomerProperties.
func (*ClusterCustomerProperties) DeepCopyInto ¶
func (in *ClusterCustomerProperties) DeepCopyInto(out *ClusterCustomerProperties)
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 ¶
func (in *ClusterImageRegistryProfile) DeepCopy() *ClusterImageRegistryProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterImageRegistryProfile.
func (*ClusterImageRegistryProfile) DeepCopyInto ¶
func (in *ClusterImageRegistryProfile) DeepCopyInto(out *ClusterImageRegistryProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterList ¶
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
ClusterList 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 (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterList) GetObjectKind ¶
func (l *ClusterList) GetObjectKind() schema.ObjectKind
type ClusterServiceProviderProperties ¶
type ClusterServiceProviderProperties 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"`
// UpdateOperationCompletionDeadline is the time by which the current cluster update must complete.
// Admission resets it on each update to 60 minutes from the request, unless overridden
// by the experimental max-update-duration tag (requires ExperimentalReleaseFeatures).
// The update operation controller fails pending operations after this deadline,
// including the current pending reasons in the returned error.
// Written by: Frontend PUT/PATCH Cluster (via admission)
UpdateOperationCompletionDeadline *metav1.Time `json:"updateOperationCompletionDeadline,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 adds this duration to the accepted attempt time, defaulting to 12 hours when nil.
// 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 the accepted attempt time plus
// DeleteOperationCompletionTimeout (or 12 hours when nil), preserving the original DeletionTimestamp.
// Written by: Frontend DELETE Cluster
DeleteOperationCompletionDeadline *metav1.Time `json:"deleteOperationCompletionDeadline,omitempty"`
}
ClusterServiceProviderProperties represents the service-provider-managed property bag of a Cluster resource.
func (*ClusterServiceProviderProperties) DeepCopy ¶
func (in *ClusterServiceProviderProperties) DeepCopy() *ClusterServiceProviderProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceProviderProperties.
func (*ClusterServiceProviderProperties) DeepCopyInto ¶
func (in *ClusterServiceProviderProperties) DeepCopyInto(out *ClusterServiceProviderProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct {
// Conditions are the top-level Cluster 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"`
// ActiveVersions are the active versions of the cluster control plane, ordered newest first.
// Written by: ControlPlaneActiveVersions
// +optional
// +listType=set
ActiveVersions []HCPClusterActiveVersion `json:"activeVersions,omitempty"`
}
ClusterStatus contains the observed state of the cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRegistryProfile ¶
type ContainerRegistryProfile struct {
// Written by: Frontend PUT Cluster (Create), Frontend PATCH Cluster (Update)
PullManagedIdentity *azcorearm.ResourceID `json:"pullManagedIdentity,omitempty"`
}
ContainerRegistryProfile represents Azure Container Registry pull configuration for the cluster.
func (*ContainerRegistryProfile) DeepCopy ¶
func (in *ContainerRegistryProfile) DeepCopy() *ContainerRegistryProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRegistryProfile.
func (*ContainerRegistryProfile) DeepCopyInto ¶
func (in *ContainerRegistryProfile) DeepCopyInto(out *ContainerRegistryProfile)
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"`
// ParentResourceID is the parent resource ID, populated on create and replace.
// It is nil when ResourceID is nil, when its parent is nil, or when the parent
// is the subscription root sentinel (whose string form is empty). The value is
// derived from the lower-cased parent: resource names and the provider namespace
// are lower-cased, while the Azure SDK canonicalizes reserved segment keywords
// (such as "resourceGroups") so those keep their canonical casing.
ParentResourceID *azcorearm.ResourceID `json:"parentResourceID,omitempty"`
// 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 ¶
func (in *CustomerIngressProfile) DeepCopy() *CustomerIngressProfile
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 ¶
func (in *CustomerManagedEncryptionProfile) DeepCopy() *CustomerManagedEncryptionProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionProfile.
func (*CustomerManagedEncryptionProfile) DeepCopyInto ¶
func (in *CustomerManagedEncryptionProfile) DeepCopyInto(out *CustomerManagedEncryptionProfile)
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"`
// Written by: Frontend PUT/PATCH Cluster
ContainerRegistry ContainerRegistryProfile `json:"containerRegistry,omitzero"`
}
CustomerPlatformProfile represents the Azure platform configuration. Most fields are "read create" (set at creation, immutable afterwards). The exception is ContainerRegistry, which is day-2 mutable (Read/Create/Update) and written by both PUT and PATCH.
func (*CustomerPlatformProfile) DeepCopy ¶
func (in *CustomerPlatformProfile) DeepCopy() *CustomerPlatformProfile
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 DenyAssignmentReference ¶
type DenyAssignmentReference struct {
// DenyAssignmentType identifies the category of deny assignment (e.g. "resources-deny-assignment").
// Used as a suffix when generating the deterministic deny assignment UUID.
// Written by: ClusterDenyAssignment
DenyAssignmentType string `json:"denyAssignmentType"`
// DenyAssignmentResourceID is the full Azure resource ID of the deny assignment,
// e.g. "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Authorization/denyAssignments/{uuid}".
// Written by: ClusterDenyAssignment
DenyAssignmentResourceID *azcorearm.ResourceID `json:"denyAssignmentResourceID"`
}
DenyAssignmentReference identifies a single Azure deny assignment. +k8s:deepcopy-gen=true
func (*DenyAssignmentReference) DeepCopy ¶
func (in *DenyAssignmentReference) DeepCopy() *DenyAssignmentReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyAssignmentReference.
func (*DenyAssignmentReference) DeepCopyInto ¶
func (in *DenyAssignmentReference) DeepCopyInto(out *DenyAssignmentReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DenyAssignmentReferences ¶
type DenyAssignmentReferences struct {
// PendingAzureResources contains resource IDs that have been requested but
// not yet confirmed to exist in Azure.
// Written by: ClusterDenyAssignment
PendingAzureResources []DenyAssignmentReference `json:"pendingDenyAssignments,omitempty"`
// AzureResources contains resource IDs that have been confirmed to exist in Azure.
// Written by: ClusterDenyAssignment
AzureResources []DenyAssignmentReference `json:"denyAssignments,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.
// Written by: ClusterDenyAssignment
EarliestRecheckTime *metav1.Time `json:"earliestRecheckTime,omitempty"`
}
func (*DenyAssignmentReferences) DeepCopy ¶
func (in *DenyAssignmentReferences) DeepCopy() *DenyAssignmentReferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyAssignmentReferences.
func (*DenyAssignmentReferences) DeepCopyInto ¶
func (in *DenyAssignmentReferences) DeepCopyInto(out *DenyAssignmentReferences)
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 (*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 ¶
func (in *DeploymentPreflightResource) DeepCopy() *DeploymentPreflightResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPreflightResource.
func (*DeploymentPreflightResource) DeepCopyInto ¶
func (in *DeploymentPreflightResource) DeepCopyInto(out *DeploymentPreflightResource)
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 ¶
func (in *DeploymentPreflightResponse) DeepCopy() *DeploymentPreflightResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPreflightResponse.
func (*DeploymentPreflightResponse) DeepCopyInto ¶
func (in *DeploymentPreflightResponse) DeepCopyInto(out *DeploymentPreflightResponse)
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 ¶
func (in *EtcdDataEncryptionProfile) DeepCopy() *EtcdDataEncryptionProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdDataEncryptionProfile.
func (*EtcdDataEncryptionProfile) DeepCopyInto ¶
func (in *EtcdDataEncryptionProfile) DeepCopyInto(out *EtcdDataEncryptionProfile)
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"`
// ControlPlaneExactVersion pins the control plane to an exact OpenShift
// release (e.g. 4.17.3) instead of letting the fleet version rollout resolve a
// version from Cincinnati. When non-nil on an unpinned cluster, the Forced
// Cluster Desired Version Assignment controller holds the cluster's desired
// control plane version at this value, and the Normal Cluster Desired Version
// Assignment controller excludes the cluster from rollout advancement. An SRE
// PinnedVersion, if present, takes precedence over this value.
ControlPlaneExactVersion *semver.Version `json:"controlPlaneExactVersion,omitempty"`
// ZStreamUpdatePolicy controls automatic z-stream advancement. Immediate
// follows the channel's best version without progressive rollout gates so
// production e2e tests do not depend on the fleet's canary progress. SRE pins
// and ControlPlaneExactVersion take precedence; unset uses normal rollout.
// Written by: Frontend PUT/PATCH Cluster (admission)
ZStreamUpdatePolicy ZStreamUpdatePolicy `json:"zStreamUpdatePolicy,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 ¶
func (in *ExperimentalFeatures) DeepCopy() *ExperimentalFeatures
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 ExternalAuth ¶
type ExternalAuth struct {
// PartitionKey holds the lowercased subscriptionID.
CosmosMetadata `json:"cosmosMetadata"`
ProxyResource
// Written by: Frontend PUT/PATCH ExternalAuth, OperationExternalAuth* controllers
Properties ExternalAuthProperties `json:"properties"`
// Written by: Frontend PUT/PATCH/DELETE ExternalAuth, OperationExternalAuth* controllers, ExternalAuthClusterServiceCreate, ExternalAuthDeletion* controllers
ServiceProviderProperties ExternalAuthServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
// Written by: ExternalAuthDegradedAggregator
Status ExternalAuthStatus `json:"status"`
}
ExternalAuth represents the external auth config resource for ARO HCP OpenShift clusters. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func NewDefaultExternalAuth ¶
func NewDefaultExternalAuth(resourceID *azcorearm.ResourceID) *ExternalAuth
func (*ExternalAuth) DeepCopy ¶
func (in *ExternalAuth) DeepCopy() *ExternalAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuth.
func (*ExternalAuth) DeepCopyInto ¶
func (in *ExternalAuth) DeepCopyInto(out *ExternalAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalAuth) DeepCopyObject ¶
func (in *ExternalAuth) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalAuth) EnsureDefaults ¶
func (ea *ExternalAuth) 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 (*ExternalAuth) GetObjectKind ¶
func (o *ExternalAuth) GetObjectKind() schema.ObjectKind
func (*ExternalAuth) GetObjectMeta ¶
func (o *ExternalAuth) GetObjectMeta() metav1.Object
func (*ExternalAuth) Validate ¶
func (o *ExternalAuth) Validate() []CloudErrorBody
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 ¶
func (in *ExternalAuthClaimProfile) DeepCopy() *ExternalAuthClaimProfile
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 ¶
func (in *ExternalAuthClientComponentProfile) DeepCopy() *ExternalAuthClientComponentProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientComponentProfile.
func (*ExternalAuthClientComponentProfile) DeepCopyInto ¶
func (in *ExternalAuthClientComponentProfile) DeepCopyInto(out *ExternalAuthClientComponentProfile)
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 ¶
func (in *ExternalAuthClientProfile) DeepCopy() *ExternalAuthClientProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthClientProfile.
func (*ExternalAuthClientProfile) DeepCopyInto ¶
func (in *ExternalAuthClientProfile) DeepCopyInto(out *ExternalAuthClientProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalAuthList ¶
type ExternalAuthList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExternalAuth `json:"items"`
}
ExternalAuthList 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 (*ExternalAuthList) DeepCopy ¶
func (in *ExternalAuthList) DeepCopy() *ExternalAuthList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthList.
func (*ExternalAuthList) DeepCopyInto ¶
func (in *ExternalAuthList) DeepCopyInto(out *ExternalAuthList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalAuthList) DeepCopyObject ¶
func (in *ExternalAuthList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalAuthList) GetObjectKind ¶
func (l *ExternalAuthList) GetObjectKind() schema.ObjectKind
type ExternalAuthProperties ¶
type ExternalAuthProperties 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"`
}
ExternalAuthProperties represents the property bag of a ExternalAuth resource.
func (*ExternalAuthProperties) DeepCopy ¶
func (in *ExternalAuthProperties) DeepCopy() *ExternalAuthProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthProperties.
func (*ExternalAuthProperties) DeepCopyInto ¶
func (in *ExternalAuthProperties) DeepCopyInto(out *ExternalAuthProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalAuthServiceProviderProperties ¶
type ExternalAuthServiceProviderProperties 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 (*ExternalAuthServiceProviderProperties) DeepCopy ¶
func (in *ExternalAuthServiceProviderProperties) DeepCopy() *ExternalAuthServiceProviderProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthServiceProviderProperties.
func (*ExternalAuthServiceProviderProperties) DeepCopyInto ¶
func (in *ExternalAuthServiceProviderProperties) DeepCopyInto(out *ExternalAuthServiceProviderProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalAuthStatus ¶
type ExternalAuthStatus struct {
// Conditions are the top-level ExternalAuth 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"`
}
ExternalAuthStatus contains the observed state of the external auth.
func (*ExternalAuthStatus) DeepCopy ¶
func (in *ExternalAuthStatus) DeepCopy() *ExternalAuthStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthStatus.
func (*ExternalAuthStatus) DeepCopyInto ¶
func (in *ExternalAuthStatus) DeepCopyInto(out *ExternalAuthStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Feature ¶
func (*Feature) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Feature.
func (*Feature) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupClaimProfile ¶
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 user-facing version in x.y format (e.g., "4.20")
// Written by: ControlPlaneActiveVersions
Version string `json:"version,omitempty"`
}
func (*HCPClusterActiveVersion) DeepCopy ¶
func (in *HCPClusterActiveVersion) DeepCopy() *HCPClusterActiveVersion
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 user-facing version in x.y.z format (e.g., "4.20.8")
// Written by: NodePoolActiveVersions
Version string `json:"version,omitempty"`
}
func (*HCPNodePoolActiveVersion) DeepCopy ¶
func (in *HCPNodePoolActiveVersion) DeepCopy() *HCPNodePoolActiveVersion
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 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 ¶
func (in *KmsEncryptionProfile) DeepCopy() *KmsEncryptionProfile
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KmsKey.
func (*KmsKey) DeepCopyInto ¶
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 ¶
func (in *MaestroBundleReference) DeepCopy() *MaestroBundleReference
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 ¶
func (in MaestroBundleReferenceList) DeepCopy() MaestroBundleReferenceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaestroBundleReferenceList.
func (MaestroBundleReferenceList) DeepCopyInto ¶
func (in MaestroBundleReferenceList) DeepCopyInto(out *MaestroBundleReferenceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MaestroBundleReferenceList) Get ¶
func (l MaestroBundleReferenceList) Get(name MaestroBundleInternalName) (*MaestroBundleReference, error)
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 ¶
func (l *MaestroBundleReferenceList) Remove(name MaestroBundleInternalName) error
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 ¶
func (in *MaestroBundleResourceIdentifier) DeepCopy() *MaestroBundleResourceIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaestroBundleResourceIdentifier.
func (*MaestroBundleResourceIdentifier) DeepCopyInto ¶
func (in *MaestroBundleResourceIdentifier) DeepCopyInto(out *MaestroBundleResourceIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedServiceIdentity ¶
type ManagedServiceIdentity struct {
// Written by: Frontend PUT/PATCH Cluster/NodePool (Update: preserves stored values; cleared from Create input)
PrincipalID string `json:"principalId,omitempty"`
// Written by: Frontend PUT/PATCH Cluster/NodePool (Update: preserves stored values; cleared from Create input)
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 ¶
func (in *ManagedServiceIdentity) DeepCopy() *ManagedServiceIdentity
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 ¶
func (in *ManagementClusterContent) DeepCopy() *ManagementClusterContent
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 ¶
func (in *ManagementClusterContentList) DeepCopy() *ManagementClusterContentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterContentList.
func (*ManagementClusterContentList) DeepCopyInto ¶
func (in *ManagementClusterContentList) DeepCopyInto(out *ManagementClusterContentList)
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 ¶
func (in *ManagementClusterContentStatus) DeepCopy() *ManagementClusterContentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterContentStatus.
func (*ManagementClusterContentStatus) DeepCopyInto ¶
func (in *ManagementClusterContentStatus) DeepCopyInto(out *ManagementClusterContentStatus)
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 ¶
func (in *NamespaceOperationDisplay) DeepCopy() *NamespaceOperationDisplay
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceOperationDisplay.
func (*NamespaceOperationDisplay) DeepCopyInto ¶
func (in *NamespaceOperationDisplay) DeepCopyInto(out *NamespaceOperationDisplay)
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 NodePool ¶
type NodePool struct {
// PartitionKey holds the lowercased subscriptionID.
CosmosMetadata `json:"cosmosMetadata"`
TrackedResource
// Written by: Frontend PUT/PATCH NodePool, OperationNodePoolCreate, OperationNodePoolUpdate, OperationNodePoolDelete
Properties NodePoolProperties `json:"properties,omitempty"`
// Written by: Frontend PUT/PATCH/DELETE NodePool, OperationNodePool* controllers, NodePoolClusterServiceCreate, NodePoolDeletion* controllers
ServiceProviderProperties NodePoolServiceProviderProperties `json:"serviceProviderProperties,omitempty"`
Identity *ManagedServiceIdentity `json:"identity,omitempty"`
// Written by: NodePoolDegradedAggregator, NodePoolRequirementsValidAggregator
Status NodePoolStatus `json:"status"`
}
NodePool represents a node pool resource for ARO HCP OpenShift clusters. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func NewDefaultNodePool ¶
func NewDefaultNodePool(resourceID *azcorearm.ResourceID, azureLocation string) *NodePool
func (*NodePool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool.
func (*NodePool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodePool) EnsureDefaults ¶
func (np *NodePool) 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 (*NodePool) GetObjectKind ¶
func (o *NodePool) GetObjectKind() schema.ObjectKind
func (*NodePool) GetObjectMeta ¶
func (*NodePool) Validate ¶
func (nodePool *NodePool) Validate(cluster *Cluster) []CloudErrorBody
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 NodePoolList ¶
type NodePoolList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NodePool `json:"items"`
}
NodePoolList 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 (*NodePoolList) DeepCopy ¶
func (in *NodePoolList) DeepCopy() *NodePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolList.
func (*NodePoolList) DeepCopyInto ¶
func (in *NodePoolList) DeepCopyInto(out *NodePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePoolList) DeepCopyObject ¶
func (in *NodePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodePoolList) GetObjectKind ¶
func (l *NodePoolList) GetObjectKind() schema.ObjectKind
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 ¶
func (in *NodePoolPlatformProfile) DeepCopy() *NodePoolPlatformProfile
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 NodePoolProperties ¶
type NodePoolProperties 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"`
}
NodePoolProperties represents the property bag of a NodePool resource.
func (*NodePoolProperties) DeepCopy ¶
func (in *NodePoolProperties) DeepCopy() *NodePoolProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolProperties.
func (*NodePoolProperties) DeepCopyInto ¶
func (in *NodePoolProperties) DeepCopyInto(out *NodePoolProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolServiceProviderProperties ¶
type NodePoolServiceProviderProperties 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"`
// UpdateOperationCompletionDeadline is the time by which the current node pool update must complete.
// Admission resets it on each update to 60 minutes from the request, unless overridden
// by the experimental max-update-duration tag (requires ExperimentalReleaseFeatures).
// The update operation controller fails pending operations after this deadline,
// including the current pending reasons in the returned error.
// Written by: Frontend PUT/PATCH NodePool (via admission)
UpdateOperationCompletionDeadline *metav1.Time `json:"updateOperationCompletionDeadline,omitempty"`
}
func (*NodePoolServiceProviderProperties) DeepCopy ¶
func (in *NodePoolServiceProviderProperties) DeepCopy() *NodePoolServiceProviderProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolServiceProviderProperties.
func (*NodePoolServiceProviderProperties) DeepCopyInto ¶
func (in *NodePoolServiceProviderProperties) DeepCopyInto(out *NodePoolServiceProviderProperties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolStatus ¶
type NodePoolStatus struct {
// Conditions are the top-level NodePool 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"`
// ActiveVersions are the active versions of the node pool, ordered newest first.
// Written by: NodePoolActiveVersions
// +optional
// +listType=set
ActiveVersions []HCPNodePoolActiveVersion `json:"activeVersions,omitempty"`
}
NodePoolStatus contains the observed state of the node pool.
func (*NodePoolStatus) DeepCopy ¶
func (in *NodePoolStatus) DeepCopy() *NodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolStatus.
func (*NodePoolStatus) DeepCopyInto ¶
func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)
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 ¶
func (in *NodePoolVersionProfile) DeepCopy() *NodePoolVersionProfile
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 OpenShiftVersion ¶
type OpenShiftVersion struct {
ProxyResource
Properties OpenShiftVersionProperties `json:"properties,omitempty"`
}
OpenShiftVersion represents a location-based available HCP OpenShift version resource.
func (*OpenShiftVersion) DeepCopy ¶
func (in *OpenShiftVersion) DeepCopy() *OpenShiftVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftVersion.
func (*OpenShiftVersion) DeepCopyInto ¶
func (in *OpenShiftVersion) DeepCopyInto(out *OpenShiftVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenShiftVersionProperties ¶
type OpenShiftVersionProperties struct {
ChannelGroup string `json:"channelGroup"`
Enabled bool `json:"enabled"`
EndOfLifeTimestamp time.Time `json:"endOfLifeTimestamp"`
}
OpenShiftVersionProperties contains details of an available HCP OpenShift version.
func (*OpenShiftVersionProperties) DeepCopy ¶
func (in *OpenShiftVersionProperties) DeepCopy() *OpenShiftVersionProperties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftVersionProperties.
func (*OpenShiftVersionProperties) DeepCopyInto ¶
func (in *OpenShiftVersionProperties) DeepCopyInto(out *OpenShiftVersionProperties)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.
func (*Operation) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Operation) DeepCopyObject ¶
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 ¶
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 ¶
func (in *OperationSystemAdminCredentialRequest) DeepCopy() *OperationSystemAdminCredentialRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationSystemAdminCredentialRequest.
func (*OperationSystemAdminCredentialRequest) DeepCopyInto ¶
func (in *OperationSystemAdminCredentialRequest) DeepCopyInto(out *OperationSystemAdminCredentialRequest)
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 ¶
func (in *OperationSystemAdminCredentialRevocation) DeepCopy() *OperationSystemAdminCredentialRevocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationSystemAdminCredentialRevocation.
func (*OperationSystemAdminCredentialRevocation) DeepCopyInto ¶
func (in *OperationSystemAdminCredentialRevocation) DeepCopyInto(out *OperationSystemAdminCredentialRevocation)
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 ¶
func (in *OperatorsAuthenticationProfile) DeepCopy() *OperatorsAuthenticationProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorsAuthenticationProfile.
func (*OperatorsAuthenticationProfile) DeepCopyInto ¶
func (in *OperatorsAuthenticationProfile) DeepCopyInto(out *OperatorsAuthenticationProfile)
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 (*PagedResponse) SetNextLink ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderAPIProfile ¶
type ServiceProviderAPIProfile struct {
// Written by: ClusterPropertiesSync
URL string `json:"url,omitempty"`
}
func (*ServiceProviderAPIProfile) DeepCopy ¶
func (in *ServiceProviderAPIProfile) DeepCopy() *ServiceProviderAPIProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderAPIProfile.
func (*ServiceProviderAPIProfile) DeepCopyInto ¶
func (in *ServiceProviderAPIProfile) DeepCopyInto(out *ServiceProviderAPIProfile)
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 ¶
func (in *ServiceProviderCluster) DeepCopy() *ServiceProviderCluster
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 ServiceProviderClusterActiveVersion ¶
type ServiceProviderClusterActiveVersion struct {
// Version is the full version in x.y.z format (e.g., "4.19.2")
// Written by: ControlPlaneActiveVersions
Version *semver.Version `json:"version,omitempty"`
// State is the update state from OpenShift (e.g. configv1.CompletedUpdate or configv1.PartialUpdate).
// Written by: ControlPlaneActiveVersions
State configv1.UpdateState `json:"state,omitempty"`
// LastTransitionTime is when we last observed this version enter its current
// State. It is used to decide when a cluster has held an achieved version
// long enough to be considered successfully upgraded.
// Written by: ControlPlaneActiveVersions
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
ServiceProviderClusterActiveVersion represents a single version active in the control plane.
func (*ServiceProviderClusterActiveVersion) DeepCopy ¶
func (in *ServiceProviderClusterActiveVersion) DeepCopy() *ServiceProviderClusterActiveVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterActiveVersion.
func (*ServiceProviderClusterActiveVersion) DeepCopyInto ¶
func (in *ServiceProviderClusterActiveVersion) DeepCopyInto(out *ServiceProviderClusterActiveVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterControlPlaneOperatorIdentity ¶
type ServiceProviderClusterControlPlaneOperatorIdentity struct {
// ResourceID is the Azure Resource ID of the Azure User Assigned Managed Identity.
// Its value comes from the Cluster's CustomerProperties.
// The ControlPlaneOperatorsIdentities map key is the fully lowercased form
// of this ID used for lookups.
ResourceID *azcorearm.ResourceID `json:"resourceId,omitempty"`
// ClientID is the Client ID of the Azure User Assigned Managed Identity represented by ResourceID.
// Fetched from Azure and written here by the FetchMSIIdentitiesInfo.
// It may be nil or empty.
ClientID *string `json:"clientId,omitempty"`
// PrincipalID is the Principal ID of the Azure User Assigned Managed Identity represented by ResourceID.
// Fetched from Azure and written here by the FetchMSIIdentitiesInfo.
// It may be nil or empty.
PrincipalID *string `json:"principalId,omitempty"`
}
ServiceProviderClusterControlPlaneOperatorIdentity is the resolved metadata for a single Managed Service Identity (MSI) based Azure User-Assigned Managed Identity used by one or more control plane operators. Which operators reference this identity is tracked on Cluster.CustomerProperties.Platform.OperatorsAuthentication.UserAssignedIdentities.ControlPlaneOperators.
func (*ServiceProviderClusterControlPlaneOperatorIdentity) DeepCopy ¶
func (in *ServiceProviderClusterControlPlaneOperatorIdentity) DeepCopy() *ServiceProviderClusterControlPlaneOperatorIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterControlPlaneOperatorIdentity.
func (*ServiceProviderClusterControlPlaneOperatorIdentity) DeepCopyInto ¶
func (in *ServiceProviderClusterControlPlaneOperatorIdentity) DeepCopyInto(out *ServiceProviderClusterControlPlaneOperatorIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterDataPlaneOperatorManagedIdentity ¶
type ServiceProviderClusterDataPlaneOperatorManagedIdentity struct {
// ResourceID is the Azure Resource ID of the Azure User Assigned Managed Identity.
// This field is an input: its value is mirrored from the Cluster's CustomerProperties
// (Platform.OperatorsAuthentication.UserAssignedIdentities.DataPlaneOperators) into this status.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
ResourceID *azcorearm.ResourceID `json:"resourceID,omitempty"`
// ClientID is the Client ID of the Azure User Assigned Managed Identity represented by ResourceID.
// This field is an output: it is fetched from Azure and written here by the controller.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
ClientID *string `json:"clientId,omitempty"`
// PrincipalID is the Principal ID of the Azure User Assigned Managed Identity represented by ResourceID.
// This field is an output: it is fetched from Azure and written here by the controller.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
PrincipalID *string `json:"principalId,omitempty"`
// RetrievalError, when non-nil, is the error (truncated to the first 1024 characters) from the
// most recent attempt to retrieve this identity's metadata from Azure. When set, ClientID and
// PrincipalID are nil because the last retrieval attempt failed - either the identity was not
// found in Azure or the Get call returned an error - and any previously resolved values are no
// longer trustworthy. It is nil when the last retrieval succeeded.
// This field is an output: it is written here by the controller.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
RetrievalError *string `json:"retrievalError,omitempty"`
}
ServiceProviderClusterDataPlaneOperatorManagedIdentity contains resolved ClientID/PrincipalID for an Azure User Assigned Managed Identity used by one or more of a cluster's data plane operators. A cluster's data plane operator is a customer operator associated with the cluster that runs in the cluster's data plane. Which operators reference this identity is tracked on Cluster.CustomerProperties.Platform.OperatorsAuthentication.UserAssignedIdentities.DataPlaneOperators.
func (*ServiceProviderClusterDataPlaneOperatorManagedIdentity) DeepCopy ¶
func (in *ServiceProviderClusterDataPlaneOperatorManagedIdentity) DeepCopy() *ServiceProviderClusterDataPlaneOperatorManagedIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterDataPlaneOperatorManagedIdentity.
func (*ServiceProviderClusterDataPlaneOperatorManagedIdentity) DeepCopyInto ¶
func (in *ServiceProviderClusterDataPlaneOperatorManagedIdentity) DeepCopyInto(out *ServiceProviderClusterDataPlaneOperatorManagedIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterDataPlaneOperatorsManagedIdentities ¶
type ServiceProviderClusterDataPlaneOperatorsManagedIdentities struct {
// Identities is a map containing resolved ClientID/PrincipalID for the Azure
// User Assigned Managed Identities associated with the cluster's data plane
// operators. The key is the fully lowercased Azure Resource ID of the
// identity. Which operators reference each identity is tracked on
// Cluster.CustomerProperties, not here. Multiple operators may share one
// identity entry.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
Identities map[string]*ServiceProviderClusterDataPlaneOperatorManagedIdentity `json:"identities,omitempty"`
}
ServiceProviderClusterDataPlaneOperatorsManagedIdentities holds the resolved managed-identity metadata for all data plane operators on a cluster.
func (*ServiceProviderClusterDataPlaneOperatorsManagedIdentities) DeepCopy ¶
func (in *ServiceProviderClusterDataPlaneOperatorsManagedIdentities) DeepCopy() *ServiceProviderClusterDataPlaneOperatorsManagedIdentities
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterDataPlaneOperatorsManagedIdentities.
func (*ServiceProviderClusterDataPlaneOperatorsManagedIdentities) DeepCopyInto ¶
func (in *ServiceProviderClusterDataPlaneOperatorsManagedIdentities) DeepCopyInto(out *ServiceProviderClusterDataPlaneOperatorsManagedIdentities)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ServiceProviderClusterList) DeepCopy() *ServiceProviderClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterList.
func (*ServiceProviderClusterList) DeepCopyInto ¶
func (in *ServiceProviderClusterList) DeepCopyInto(out *ServiceProviderClusterList)
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 ServiceProviderClusterMSIManagedIdentities ¶
type ServiceProviderClusterMSIManagedIdentities struct {
// ControlPlaneOperatorsIdentities is a map containing resolved ClientID/PrincipalID
// for Managed Service Identity (MSI) based Azure User-Assigned Managed Identities
// used by the cluster's control plane operators. The key is the fully lowercased
// Azure Resource ID of the identity. Which operators reference each identity is
// tracked on Cluster.CustomerProperties, not here. Multiple operators may share
// one identity entry.
// Written by: FetchMSIIdentitiesInfo
ControlPlaneOperatorsIdentities map[string]*ServiceProviderClusterControlPlaneOperatorIdentity `json:"controlPlaneOperatorsIdentities,omitempty"`
// ServiceManagedIdentity holds resolved ClientID/PrincipalID for the cluster's
// service managed identity.
// Written by: FetchMSIIdentitiesInfo
ServiceManagedIdentity *ServiceProviderClusterServiceManagedIdentity `json:"serviceManagedIdentity,omitempty"`
}
ServiceProviderClusterMSIManagedIdentities holds Managed Service Identity (MSI) based identity metadata resolved by FetchMSIIdentitiesInfo and consumed by ClusterIdentitySync to populate Cluster.Identity.UserAssignedIdentities.
func (*ServiceProviderClusterMSIManagedIdentities) DeepCopy ¶
func (in *ServiceProviderClusterMSIManagedIdentities) DeepCopy() *ServiceProviderClusterMSIManagedIdentities
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterMSIManagedIdentities.
func (*ServiceProviderClusterMSIManagedIdentities) DeepCopyInto ¶
func (in *ServiceProviderClusterMSIManagedIdentities) DeepCopyInto(out *ServiceProviderClusterMSIManagedIdentities)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterPinnedVersion ¶
type ServiceProviderClusterPinnedVersion struct {
// ExactVersion is the exact z-stream this cluster is pinned to regardless of
// its previous version.
// Written by: Forced Cluster Desired Version Assignment (clear); Admin API setter planned
ExactVersion *semver.Version `json:"exactVersion,omitempty"`
// UntilExactVersion is the fleet bestExactVersion at or above which the pin is
// released and normal upgrade selection may continue.
// Written by: Forced Cluster Desired Version Assignment (clear); Admin API setter planned
UntilExactVersion *semver.Version `json:"untilExactVersion,omitempty"`
}
ServiceProviderClusterPinnedVersion is an SRE-specified exact-version pin for a single cluster, held until the fleet's best version reaches UntilExactVersion.
func (*ServiceProviderClusterPinnedVersion) DeepCopy ¶
func (in *ServiceProviderClusterPinnedVersion) DeepCopy() *ServiceProviderClusterPinnedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterPinnedVersion.
func (*ServiceProviderClusterPinnedVersion) DeepCopyInto ¶
func (in *ServiceProviderClusterPinnedVersion) DeepCopyInto(out *ServiceProviderClusterPinnedVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterPlacementStatus ¶
type ServiceProviderClusterPlacementStatus struct {
// Conditions holds placement conditions. Known types:
// - "CapacityAvailable": True when suitable placement capacity was found;
// False when no usable capacity exists; Unknown when required observations or
// configuration are unavailable. Placement itself is recorded in
// Spec.ManagementClusterResourceID.
// Written by: PlacementController
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}
ServiceProviderClusterPlacementStatus holds placement-specific status for a ServiceProviderCluster. It is kept off the top-level Status.Conditions per the minimalism guidance there ("conditions at other levels can be specified within ServiceProviderClusterStatus too").
func (*ServiceProviderClusterPlacementStatus) DeepCopy ¶
func (in *ServiceProviderClusterPlacementStatus) DeepCopy() *ServiceProviderClusterPlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterPlacementStatus.
func (*ServiceProviderClusterPlacementStatus) DeepCopyInto ¶
func (in *ServiceProviderClusterPlacementStatus) DeepCopyInto(out *ServiceProviderClusterPlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderClusterServiceManagedIdentity ¶
type ServiceProviderClusterServiceManagedIdentity struct {
// ResourceID is the Azure Resource ID of the Azure User Assigned Managed Identity that is associated to the cluster's Service Managed Identity.
// Its value comes from the Cluster's CustomerProperties.
ResourceID *azcorearm.ResourceID `json:"resourceId,omitempty"`
// ClientID is the Client ID of the Azure User Assigned Managed Identity represented by ResourceID.
// Fetched from Azure and written here by the FetchMSIIdentitiesInfo.
// It may be nil or empty.
ClientID *string `json:"clientId,omitempty"`
// PrincipalID is the Principal ID of the Azure User Assigned Managed Identity represented by ResourceID.
// Fetched from Azure and written here by the FetchMSIIdentitiesInfo.
// It may be nil or empty.
PrincipalID *string `json:"principalId,omitempty"`
}
ServiceProviderClusterServiceManagedIdentity is the resolved metadata for the cluster's service managed identity.
func (*ServiceProviderClusterServiceManagedIdentity) DeepCopy ¶
func (in *ServiceProviderClusterServiceManagedIdentity) DeepCopy() *ServiceProviderClusterServiceManagedIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterServiceManagedIdentity.
func (*ServiceProviderClusterServiceManagedIdentity) DeepCopyInto ¶
func (in *ServiceProviderClusterServiceManagedIdentity) DeepCopyInto(out *ServiceProviderClusterServiceManagedIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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"`
// ManagementClusterResourceID is the resource ID of the management cluster the
// scheduler has selected for this HCP. This is the scheduler's intent (desired
// placement): nil means placement has not been resolved yet. Downstream
// controllers (cluster creation gating and Cluster Service provision-shard
// pinning) rely on it once set.
//
// It is set once by the PlacementController and is not otherwise mutated.
// Written by: PlacementController
ManagementClusterResourceID *azcorearm.ResourceID `json:"managementClusterResourceID,omitempty"`
// EarliestRecheckTimesByController records, per controller, the earliest time
// at which that controller should next re-query Azure (or another external
// system) for the state it maintains. The map key is the controller's
// ControllerName constant; a nil or absent entry means recheck immediately.
// Centralizing these per-controller recheck times here lets each controller
// avoid repeatedly hitting an external API to confirm the desired state is
// still true, without every tracked struct carrying its own recheck field.
// Controllers should set their entry 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.
// Written by: FetchMSIIdentitiesInfo, FetchDataPlaneOperatorsManagedIdentitiesInfoController, IdentityRoleAssignments
EarliestRecheckTimesByController map[string]*metav1.Time `json:"earliestRecheckTimesByController,omitempty"`
// PinnedVersion, when its ExactVersion is set, is an SRE-specified
// cluster-specific exact-version override. The Forced Cluster Desired Version
// Assignment controller holds this cluster at PinnedVersion.ExactVersion until
// the fleet's bestExactVersion reaches PinnedVersion.UntilExactVersion, after
// which the pin is cleared and normal rollout selection resumes. An empty
// PinnedVersion (nil ExactVersion) means no pin and serializes as {}. The
// Admin API setter is a follow-up; this change only implements consuming pins.
// Written by: Forced Cluster Desired Version Assignment (clear)
PinnedVersion ServiceProviderClusterPinnedVersion `json:"pinnedVersion,omitempty"`
}
ServiceProviderClusterSpec contains the desired state of the cluster.
func (*ServiceProviderClusterSpec) DeepCopy ¶
func (in *ServiceProviderClusterSpec) DeepCopy() *ServiceProviderClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterSpec.
func (*ServiceProviderClusterSpec) DeepCopyInto ¶
func (in *ServiceProviderClusterSpec) DeepCopyInto(out *ServiceProviderClusterSpec)
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.
// Written by: Forced Cluster Desired Version Assignment, Z-stream Progressive Desired Version Rollout, InitialNormalClusterDesiredVersion, MinorUpgradeNormalClusterDesiredVersion
DesiredVersion *semver.Version `json:"desired_version,omitempty"`
// DesiredVersionLastTransitionTime is when DesiredVersion last changed. It is
// used to decide when a cluster has been mismatched (desired set but not yet
// achieved) for longer than the allowed upgrade duration.
// Legacy missing/zero timestamps are initialized at first observation by
// InitialNormalClusterDesiredVersion without changing the desired version.
// TODO: align DesiredVersion with its transition time into a better structure
// (mirroring ServiceProviderClusterActiveVersion), instead of two loosely-coupled fields.
// Written by: Forced Cluster Desired Version Assignment, Z-stream Progressive Desired Version Rollout, InitialNormalClusterDesiredVersion, MinorUpgradeNormalClusterDesiredVersion
DesiredVersionLastTransitionTime *metav1.Time `json:"desired_version_last_transition_time,omitempty"`
}
ServiceProviderClusterSpecVersion contains the desired version information.
func (*ServiceProviderClusterSpecVersion) DeepCopy ¶
func (in *ServiceProviderClusterSpecVersion) DeepCopy() *ServiceProviderClusterSpecVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterSpecVersion.
func (*ServiceProviderClusterSpecVersion) DeepCopyInto ¶
func (in *ServiceProviderClusterSpecVersion) DeepCopyInto(out *ServiceProviderClusterSpecVersion)
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"`
// ActualHostedCluster is the HostedCluster as it currently exists on the
// management cluster, mirrored here from the kube-applier ReadDesire by the
// backend. Both spec and status are carried, so this is the single place the
// frontend can consult for observed management-cluster state.
//
// The frontend is deliberately denied any path to a management cluster (no
// kube-applier container access, no ReadDesireLister, no Maestro), so a
// frontend compromise cannot create arbitrary resources on a management
// cluster. Anything admission needs to know about the real HostedCluster has
// to travel through this field; see internal/admission/CLAUDE.md.
//
// The object is mirrored verbatim, exactly as observed on the management
// cluster. Nothing is stripped or rewritten on the way in, so a consumer can
// read any field without having to know a mirroring policy.
//
// nil means there is no observed HostedCluster to report: the backend has not
// observed one yet (the cluster is still being created, or the first sync has
// not run), or a completed read found no HostedCluster on the management
// cluster, in which case the mirror is retracted rather than left pointing at
// an object that no longer exists. Consumers must treat nil as unavailable
// observed state. Safety-critical admission checks must fail closed while it
// is nil; they cannot assume a required property such as a data-plane image
// mirror is present.
//
// Backend controllers must NOT read this field. They have first-class access
// to the ReadDesire mirror and are expected to read that instead, staying as
// close to the source as possible rather than waiting for this copy to catch up.
// Written by: ActualHostedCluster
ActualHostedCluster *v1beta1.HostedCluster `json:"actualHostedCluster,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"`
// Placement holds capacity availability for the HCP's placement attempt.
// CapacityAvailable=True is recorded on the same Replace that sets
// Spec.ManagementClusterResourceID.
// Written by: PlacementController
Placement *ServiceProviderClusterPlacementStatus `json:"placement,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"`
// MSIManagedIdentities tracks resolved ClientID/PrincipalID for
// the Managed Service Identity (MSI) based Azure User-Assigned Managed Identities
// associated to the cluster. Those are the cluster's control plane operators and
// the cluster's service managed identity.
// A cluster's control plane operator is a kubernetes operator associated to
// the cluster that runs in the cluster's control plane. For example,
// the Cluster's CustomerProperties.Platform.OperatorsAuthentication.UserAssignedIdentities.ControlPlaneOperators
// map contains (and is not limited to) the set of required control plane operators associated to a Cluster.
// The cluster's service managed identity is used to read and modify
// customer-provided Azure resources (for example the cluster subnet),
// subject to the permissions granted to that identity.
// MSI-based user-assigned managed identities are the identities defined in
// the Cluster's `identity` section. Credentials for those identities can be
// obtained from Microsoft's Managed Identities Data Plane service.
// In ARO-HCP environments where Microsoft's Managed Identities Data Plane
// service is unavailable, a fake Managed Identities Data Plane client is
// used. That client always returns the same identity metadata and
// credentials, regardless of which identity is requested. The returned
// values belong to the "MI Mock" identity, so the ClientID and PrincipalID
// stored for each entry here will not match that entry's ResourceID key,
// nor the real ClientID/PrincipalID of the corresponding identity in the
// Cluster's `identity` section.
// Additionally, this also tracks when Azure should next be re-queried for that info.
// Written by: FetchMSIIdentitiesInfo
MSIManagedIdentities ServiceProviderClusterMSIManagedIdentities `json:"msiManagedIdentities,omitempty"`
// DataPlaneOperatorsManagedIdentities tracks resolved ClientID/PrincipalID for
// the Azure User Assigned Managed Identities associated with the cluster's data
// plane operators, plus when Azure should next be re-queried for that info.
// A cluster's data plane operator is a Kubernetes operator associated with the
// cluster that runs in the cluster's data plane.
// For example, the Cluster's CustomerProperties.Platform.OperatorsAuthentication.UserAssignedIdentities.DataPlaneOperators map
// contains the set of required data plane operators associated with a Cluster.
// Written by: FetchDataPlaneOperatorsManagedIdentitiesInfoController
DataPlaneOperatorsManagedIdentities ServiceProviderClusterDataPlaneOperatorsManagedIdentities `json:"dataPlaneOperatorsManagedIdentities,omitempty"`
// KeyRotationBackupFingerprint identifies the active-key fingerprint of the
// most recent KMS rotation whose on-demand backup outcome (completed or
// skipped because backups were paused) has been durably recorded, so it's
// never acted on again. Only a later rotation with a new fingerprint is
// eligible for a new backup. Empty means no rotation has been handled yet.
// Written by: KeyRotationBackup
KeyRotationBackupFingerprint string `json:"keyRotationBackupFingerprint,omitempty"`
}
ServiceProviderClusterStatus contains the observed state of the cluster.
func (*ServiceProviderClusterStatus) DeepCopy ¶
func (in *ServiceProviderClusterStatus) DeepCopy() *ServiceProviderClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterStatus.
func (*ServiceProviderClusterStatus) DeepCopyInto ¶
func (in *ServiceProviderClusterStatus) DeepCopyInto(out *ServiceProviderClusterStatus)
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.
// Written by: ControlPlaneActiveVersions
ActiveVersions []ServiceProviderClusterActiveVersion `json:"active_versions,omitempty"`
}
ServiceProviderClusterStatusVersion contains the actual version information.
func (*ServiceProviderClusterStatusVersion) DeepCopy ¶
func (in *ServiceProviderClusterStatusVersion) DeepCopy() *ServiceProviderClusterStatusVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderClusterStatusVersion.
func (*ServiceProviderClusterStatusVersion) DeepCopyInto ¶
func (in *ServiceProviderClusterStatusVersion) DeepCopyInto(out *ServiceProviderClusterStatusVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderConsoleProfile ¶
type ServiceProviderConsoleProfile struct {
// Written by: ClusterPropertiesSync
URL string `json:"url,omitempty"`
}
ServiceProviderConsoleProfile represents a cluster web console configuration. Visibility for the entire struct is "read".
func (*ServiceProviderConsoleProfile) DeepCopy ¶
func (in *ServiceProviderConsoleProfile) DeepCopy() *ServiceProviderConsoleProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderConsoleProfile.
func (*ServiceProviderConsoleProfile) DeepCopyInto ¶
func (in *ServiceProviderConsoleProfile) DeepCopyInto(out *ServiceProviderConsoleProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderDNSProfile ¶
type ServiceProviderDNSProfile struct {
// Written by: ClusterPropertiesSync
BaseDomain string `json:"baseDomain,omitempty"`
}
ServiceProviderDNSProfile represents the DNS configuration of the cluster.
func (*ServiceProviderDNSProfile) DeepCopy ¶
func (in *ServiceProviderDNSProfile) DeepCopy() *ServiceProviderDNSProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderDNSProfile.
func (*ServiceProviderDNSProfile) DeepCopyInto ¶
func (in *ServiceProviderDNSProfile) DeepCopyInto(out *ServiceProviderDNSProfile)
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 ¶
func (in *ServiceProviderNodePool) DeepCopy() *ServiceProviderNodePool
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 ServiceProviderNodePoolActiveVersion ¶
type ServiceProviderNodePoolActiveVersion struct {
// Version is the full version in x.y.z format (e.g., "4.19.2")
// Written by: NodePoolActiveVersions
Version *semver.Version `json:"version,omitempty"`
}
ServiceProviderNodePoolActiveVersion represents a single version active in the nodepool.
func (*ServiceProviderNodePoolActiveVersion) DeepCopy ¶
func (in *ServiceProviderNodePoolActiveVersion) DeepCopy() *ServiceProviderNodePoolActiveVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolActiveVersion.
func (*ServiceProviderNodePoolActiveVersion) DeepCopyInto ¶
func (in *ServiceProviderNodePoolActiveVersion) DeepCopyInto(out *ServiceProviderNodePoolActiveVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ServiceProviderNodePoolList) DeepCopy() *ServiceProviderNodePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolList.
func (*ServiceProviderNodePoolList) DeepCopyInto ¶
func (in *ServiceProviderNodePoolList) DeepCopyInto(out *ServiceProviderNodePoolList)
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 ¶
func (in *ServiceProviderNodePoolSpec) DeepCopy() *ServiceProviderNodePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolSpec.
func (*ServiceProviderNodePoolSpec) DeepCopyInto ¶
func (in *ServiceProviderNodePoolSpec) DeepCopyInto(out *ServiceProviderNodePoolSpec)
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 ¶
func (in *ServiceProviderNodePoolSpecVersion) DeepCopy() *ServiceProviderNodePoolSpecVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolSpecVersion.
func (*ServiceProviderNodePoolSpecVersion) DeepCopyInto ¶
func (in *ServiceProviderNodePoolSpecVersion) DeepCopyInto(out *ServiceProviderNodePoolSpecVersion)
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 ¶
func (in *ServiceProviderNodePoolStatus) DeepCopy() *ServiceProviderNodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolStatus.
func (*ServiceProviderNodePoolStatus) DeepCopyInto ¶
func (in *ServiceProviderNodePoolStatus) DeepCopyInto(out *ServiceProviderNodePoolStatus)
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.
// Written by: NodePoolActiveVersions
ActiveVersions []ServiceProviderNodePoolActiveVersion `json:"activeVersions,omitempty"`
}
ServiceProviderNodePoolStatusVersion contains the actual version information.
func (*ServiceProviderNodePoolStatusVersion) DeepCopy ¶
func (in *ServiceProviderNodePoolStatusVersion) DeepCopy() *ServiceProviderNodePoolStatusVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderNodePoolStatusVersion.
func (*ServiceProviderNodePoolStatusVersion) DeepCopyInto ¶
func (in *ServiceProviderNodePoolStatusVersion) DeepCopyInto(out *ServiceProviderNodePoolStatusVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceProviderPlatformProfile ¶
type ServiceProviderPlatformProfile struct {
// Written by: ClusterPropertiesSync
IssuerURL string `json:"issuerUrl,omitempty"`
}
func (*ServiceProviderPlatformProfile) DeepCopy ¶
func (in *ServiceProviderPlatformProfile) DeepCopy() *ServiceProviderPlatformProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderPlatformProfile.
func (*ServiceProviderPlatformProfile) DeepCopyInto ¶
func (in *ServiceProviderPlatformProfile) DeepCopyInto(out *ServiceProviderPlatformProfile)
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"`
// 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 ¶
func (in *SubscriptionProperties) DeepCopy() *SubscriptionProperties
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 ¶
func (in *SystemAdminCredentialRequest) DeepCopy() *SystemAdminCredentialRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRequest.
func (*SystemAdminCredentialRequest) DeepCopyInto ¶
func (in *SystemAdminCredentialRequest) DeepCopyInto(out *SystemAdminCredentialRequest)
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 ¶
func (in *SystemAdminCredentialRequestList) DeepCopy() *SystemAdminCredentialRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRequestList.
func (*SystemAdminCredentialRequestList) DeepCopyInto ¶
func (in *SystemAdminCredentialRequestList) DeepCopyInto(out *SystemAdminCredentialRequestList)
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 ¶
func (l *SystemAdminCredentialRequestList) GetObjectKind() schema.ObjectKind
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 ¶
func (in *SystemAdminCredentialRequestSpec) DeepCopy() *SystemAdminCredentialRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRequestSpec.
func (*SystemAdminCredentialRequestSpec) DeepCopyInto ¶
func (in *SystemAdminCredentialRequestSpec) DeepCopyInto(out *SystemAdminCredentialRequestSpec)
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 ¶
func (in *SystemAdminCredentialRequestStatus) DeepCopy() *SystemAdminCredentialRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRequestStatus.
func (*SystemAdminCredentialRequestStatus) DeepCopyInto ¶
func (in *SystemAdminCredentialRequestStatus) DeepCopyInto(out *SystemAdminCredentialRequestStatus)
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 ¶
func (in *SystemAdminCredentialRevocation) DeepCopy() *SystemAdminCredentialRevocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRevocation.
func (*SystemAdminCredentialRevocation) DeepCopyInto ¶
func (in *SystemAdminCredentialRevocation) DeepCopyInto(out *SystemAdminCredentialRevocation)
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 (o *SystemAdminCredentialRevocation) GetObjectKind() schema.ObjectKind
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 ¶
func (in *SystemAdminCredentialRevocationList) DeepCopy() *SystemAdminCredentialRevocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRevocationList.
func (*SystemAdminCredentialRevocationList) DeepCopyInto ¶
func (in *SystemAdminCredentialRevocationList) DeepCopyInto(out *SystemAdminCredentialRevocationList)
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 ¶
func (l *SystemAdminCredentialRevocationList) GetObjectKind() schema.ObjectKind
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 ¶
func (in *SystemAdminCredentialRevocationSpec) DeepCopy() *SystemAdminCredentialRevocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRevocationSpec.
func (*SystemAdminCredentialRevocationSpec) DeepCopyInto ¶
func (in *SystemAdminCredentialRevocationSpec) DeepCopyInto(out *SystemAdminCredentialRevocationSpec)
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 ¶
func (in *SystemAdminCredentialRevocationStatus) DeepCopy() *SystemAdminCredentialRevocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemAdminCredentialRevocationStatus.
func (*SystemAdminCredentialRevocationStatus) DeepCopyInto ¶
func (in *SystemAdminCredentialRevocationStatus) DeepCopyInto(out *SystemAdminCredentialRevocationStatus)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint.
func (*Taint) DeepCopyInto ¶
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 ¶
func (in *TokenClaimMappingsProfile) DeepCopy() *TokenClaimMappingsProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenClaimMappingsProfile.
func (*TokenClaimMappingsProfile) DeepCopyInto ¶
func (in *TokenClaimMappingsProfile) DeepCopyInto(out *TokenClaimMappingsProfile)
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 ¶
func (in *TokenClaimValidationRule) DeepCopy() *TokenClaimValidationRule
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 ¶
func (in *UserAssignedIdentitiesProfile) DeepCopy() *UserAssignedIdentitiesProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentitiesProfile.
func (*UserAssignedIdentitiesProfile) DeepCopyInto ¶
func (in *UserAssignedIdentitiesProfile) DeepCopyInto(out *UserAssignedIdentitiesProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserAssignedIdentity ¶
type UserAssignedIdentity struct {
// Written by: ClusterIdentitySync (resolved values), Frontend PUT/PATCH Cluster/NodePool (Update: preserves stored values)
ClientID *string `json:"clientId,omitempty"`
// Written by: ClusterIdentitySync (resolved values), Frontend PUT/PATCH Cluster/NodePool (Update: preserves stored values)
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 ¶
func (in *UserAssignedIdentity) DeepCopy() *UserAssignedIdentity
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 ¶
func (in *UsernameClaimProfile) DeepCopy() *UsernameClaimProfile
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 ¶
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.
NewCluster(*Cluster) VersionedCluster
NewNodePool(*NodePool) VersionedNodePool
NewExternalAuth(*ExternalAuth) VersionedExternalAuth
NewOpenShiftVersion(*OpenShiftVersion) VersionedOpenShiftVersion
// Request Unmarshaling
UnmarshalClusterAdminCredentialRequest([]byte) (*ClusterAdminCredentialRequest, error)
// Response Marshaling
MarshalClusterAdminCredential(*ClusterAdminCredential) ([]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 VersionedCluster ¶
type VersionedCluster VersionedCreatableResource[Cluster]
type VersionedCreatableResource ¶
type VersionedCreatableResource[InternalAPIType any] interface { VersionedResource NewExternal() any // ClearReadOnlyFields discards server-owned fields from a decoded create request. // Name is retained for path mismatch validation and preflight routing. ClearReadOnlyFields() ConvertToInternal(existing *InternalAPIType) (*InternalAPIType, error) }
type VersionedExternalAuth ¶
type VersionedExternalAuth VersionedCreatableResource[ExternalAuth]
type VersionedNodePool ¶
type VersionedNodePool VersionedCreatableResource[NodePool]
type VersionedOpenShiftVersion ¶
type VersionedOpenShiftVersion VersionedResource
type VersionedResource ¶
type VersionedResource interface {
}
type ZStreamUpdatePolicy ¶
type ZStreamUpdatePolicy string
ZStreamUpdatePolicy controls how automatic z-stream updates are assigned.
const ImmediateZStreamUpdatePolicy ZStreamUpdatePolicy = "Immediate"
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.
Source Files
¶
- arm_types_cosmosdata.go
- arm_types_runtime.go
- controller_conditions.go
- correlation.go
- defaults.go
- doc.go
- error.go
- headers.go
- identity.go
- namespace.go
- operation.go
- preflight.go
- registry.go
- resource.go
- response.go
- service_provider_cluster_conditions.go
- service_provider_conditions.go
- subscription.go
- types_admincredential.go
- types_cluster.go
- types_controller.go
- types_experimental.go
- types_externalauth.go
- types_management_cluster_content.go
- types_nodepool.go
- types_openshiftversion.go
- types_operation.go
- types_runtime.go
- types_serviceprovider_cluster.go
- types_serviceprovider_nodepool.go
- types_systemadmincredential.go
- types_systemadmincredentialrevocation.go
- zz_generated.deepcopy.go