Documentation
¶
Overview ¶
Package v1alpha1 provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.
Package v1alpha1 provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.
Index ¶
- func GetSwagger() (swagger *openapi3.T, err error)
- func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)
- type Agent
- type AgentProxy
- type AgentStatus
- type Assessment
- type AssessmentForm
- type AssessmentList
- type AssessmentRvtoolsForm
- type AssessmentSourceType
- type AssessmentUpdate
- type CalculateAssessmentClusterRequirementsJSONRequestBody
- type CalculateMigrationComplexityJSONRequestBody
- type CalculateMigrationEstimationByComplexityJSONRequestBody
- type CalculateMigrationEstimationJSONRequestBody
- type ClusterRequirementsRequest
- type ClusterRequirementsRequestControlPlaneNodeCount
- type ClusterRequirementsRequestCpuOverCommitRatio
- type ClusterRequirementsRequestMemoryOverCommitRatio
- type ClusterRequirementsResponse
- type ClusterSizing
- type ComplexityDiskScoreEntry
- type ComplexityOSNameEntry
- type ComplexityOSScoreEntry
- type CreateAssessmentJSONRequestBody
- type CreateGroupJSONRequestBody
- type CreateGroupMemberJSONRequestBody
- type CreateRVToolsAssessmentMultipartRequestBody
- type CreateSourceJSONRequestBody
- type Datastore
- type DiskSizeTierSummary
- type DiskTypeSummary
- type Error
- type EstimationContext
- type EstimationDetail
- type Group
- type GroupCreate
- type GroupCreateKind
- type GroupKind
- type GroupList
- type GroupUpdate
- type Histogram
- type Host
- type Identity
- type IdentityKind
- type Info
- type Infra
- type Inventory
- type InventoryData
- type InventoryTotals
- type Ipv4Config
- type Job
- type JobStatus
- type Label
- type ListAssessmentsParams
- type ListGroupsParams
- type ListGroupsParamsKind
- type Member
- type MemberCreate
- type MemberList
- type MemberUpdate
- type MigrationComplexityRequest
- type MigrationComplexityResponse
- type MigrationEstimationByComplexityResponse
- type MigrationEstimationRequest
- type MigrationEstimationResponse
- type MigrationIssue
- type MigrationIssues
- type Network
- type NetworkType
- type OsDiskEstimationEntry
- type OsInfo
- type PresignedUrl
- type SchemaEstimationResult
- type SizingOverCommitRatio
- type SizingResourceConsumption
- type SizingResourceLimits
- type Snapshot
- type Source
- type SourceCreate
- type SourceList
- type SourceUpdate
- type Status
- type UpdateAssessmentJSONRequestBody
- type UpdateGroupJSONRequestBody
- type UpdateGroupMemberJSONRequestBody
- type UpdateInventory
- type UpdateInventoryJSONRequestBody
- type UpdateSourceJSONRequestBody
- type VCenter
- type VMResourceBreakdown
- type VMs
- type ValidatedCertificateChain
- type ValidatedOptionalSourceName
- type ValidatedSSHPublicKey
- type ValidatedSourceName
- type VmNetwork
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSwagger ¶
GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.
Types ¶
type Agent ¶
type Agent struct {
CreatedAt time.Time `json:"createdAt"`
CredentialUrl string `json:"credentialUrl"`
Id openapi_types.UUID `json:"id"`
Status AgentStatus `json:"status"`
StatusInfo string `json:"statusInfo"`
UpdatedAt time.Time `json:"updatedAt"`
Version string `json:"version"`
}
Agent defines model for Agent.
type AgentProxy ¶
type AgentProxy struct {
HttpUrl *string `json:"httpUrl" validate:"omitnil,url,startsnotwith=https"`
HttpsUrl *string `json:"httpsUrl" validate:"omitnil,url,startswith=https"`
NoProxy *string `json:"noProxy" validate:"omitnil,max=1000"`
}
AgentProxy defines model for AgentProxy.
type AgentStatus ¶
type AgentStatus string
AgentStatus defines model for Agent.Status.
const ( AgentStatusError AgentStatus = "error" AgentStatusGatheringInitialInventory AgentStatus = "gathering-initial-inventory" AgentStatusNotConnected AgentStatus = "not-connected" AgentStatusSourceGone AgentStatus = "source-gone" AgentStatusUpToDate AgentStatus = "up-to-date" AgentStatusWaitingForCredentials AgentStatus = "waiting-for-credentials" )
Defines values for AgentStatus.
func StringToAgentStatus ¶
func StringToAgentStatus(s string) AgentStatus
type Assessment ¶
type Assessment struct {
CreatedAt time.Time `json:"createdAt"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
// OwnerFirstName Owner's first name
OwnerFirstName *string `json:"ownerFirstName,omitempty"`
// OwnerLastName Owner's last name
OwnerLastName *string `json:"ownerLastName,omitempty"`
Snapshots []Snapshot `json:"snapshots"`
SourceId *openapi_types.UUID `json:"sourceId,omitempty"`
SourceType AssessmentSourceType `json:"sourceType"`
}
Assessment defines model for Assessment.
type AssessmentForm ¶
type AssessmentForm struct {
Inventory *Inventory `json:"inventory,omitempty"`
Name string `json:"name" validate:"required,assessment_name"`
SourceId *openapi_types.UUID `json:"sourceId,omitempty"`
// SourceType Source of the assessment data:
// * `inventory` - Manual inventory upload via JSON
// * `agent` - Collected by OpenShift Migration Advisor agent
SourceType string `json:"sourceType" validate:"required,oneof=inventory agent"`
}
AssessmentForm defines model for AssessmentForm.
type AssessmentList ¶
type AssessmentList = []Assessment
AssessmentList defines model for AssessmentList.
type AssessmentRvtoolsForm ¶
type AssessmentRvtoolsForm struct {
// File File upload for assessment data
File openapi_types.File `json:"file" validate:"required"`
// Name Name of the assessment
Name string `json:"name" validate:"required,assessment_name"`
}
AssessmentRvtoolsForm defines model for AssessmentRvtoolsForm.
type AssessmentSourceType ¶
type AssessmentSourceType string
AssessmentSourceType defines model for Assessment.SourceType.
const ( AssessmentSourceTypeInventory AssessmentSourceType = "inventory" AssessmentSourceTypeRvtools AssessmentSourceType = "rvtools" AssessmentSourceTypeSource AssessmentSourceType = "source" )
Defines values for AssessmentSourceType.
type AssessmentUpdate ¶
type AssessmentUpdate struct {
// Name Name of the assessment
Name *string `json:"name,omitempty" validate:"required,assessment_name"`
}
AssessmentUpdate Update form of the assessment.
type CalculateAssessmentClusterRequirementsJSONRequestBody ¶ added in v0.4.0
type CalculateAssessmentClusterRequirementsJSONRequestBody = ClusterRequirementsRequest
CalculateAssessmentClusterRequirementsJSONRequestBody defines body for CalculateAssessmentClusterRequirements for application/json ContentType.
type CalculateMigrationComplexityJSONRequestBody ¶ added in v0.7.0
type CalculateMigrationComplexityJSONRequestBody = MigrationComplexityRequest
CalculateMigrationComplexityJSONRequestBody defines body for CalculateMigrationComplexity for application/json ContentType.
type CalculateMigrationEstimationByComplexityJSONRequestBody ¶ added in v0.10.0
type CalculateMigrationEstimationByComplexityJSONRequestBody = MigrationEstimationRequest
CalculateMigrationEstimationByComplexityJSONRequestBody defines body for CalculateMigrationEstimationByComplexity for application/json ContentType.
type CalculateMigrationEstimationJSONRequestBody ¶ added in v0.5.1
type CalculateMigrationEstimationJSONRequestBody = MigrationEstimationRequest
CalculateMigrationEstimationJSONRequestBody defines body for CalculateMigrationEstimation for application/json ContentType.
type ClusterRequirementsRequest ¶ added in v0.4.0
type ClusterRequirementsRequest struct {
// ClusterId ID of the cluster to calculate requirements for
ClusterId string `json:"clusterId" validate:"required"`
// ControlPlaneCPU CPU cores per control plane node (default: 6)
ControlPlaneCPU *int `json:"controlPlaneCPU,omitempty" validate:"omitempty,min=2,max=200"`
// ControlPlaneMemory Memory in GB per control plane node (default: 16)
ControlPlaneMemory *int `json:"controlPlaneMemory,omitempty" validate:"omitempty,min=4,max=512"`
// ControlPlaneNodeCount Number of control plane nodes: 1 or 3 (default: 3)
ControlPlaneNodeCount *ClusterRequirementsRequestControlPlaneNodeCount `json:"controlPlaneNodeCount,omitempty" validate:"omitempty,oneof=1 3"`
// ControlPlaneSchedulable Allow workload scheduling on control plane nodes (default: false)
ControlPlaneSchedulable *bool `json:"controlPlaneSchedulable,omitempty"`
// CpuOverCommitRatio CPU over-commit ratio (e.g., "1:4")
CpuOverCommitRatio ClusterRequirementsRequestCpuOverCommitRatio `json:"cpuOverCommitRatio" validate:"required"`
// HostedControlPlane If true, control plane is hosted externally. Incompatible with control plane fields (default: false)
HostedControlPlane *bool `json:"hostedControlPlane,omitempty"`
// MemoryOverCommitRatio Memory over-commit ratio (e.g., "1:2")
MemoryOverCommitRatio ClusterRequirementsRequestMemoryOverCommitRatio `json:"memoryOverCommitRatio" validate:"required"`
// WorkerNodeCPU CPU cores per worker node
WorkerNodeCPU int `json:"workerNodeCPU" validate:"required,min=2,max=200"`
// WorkerNodeMemory Memory (GB) per worker node
WorkerNodeMemory int `json:"workerNodeMemory" validate:"required,min=4,max=512"`
// WorkerNodeThreads Number of CPU threads per worker node (for SMT calculation). If not provided, assumes no SMT (threads = cores). Must be >= workerNodeCPU
WorkerNodeThreads *int `json:"workerNodeThreads,omitempty" validate:"omitempty,min=2,max=2000"`
}
ClusterRequirementsRequest Request payload for calculating cluster requirements
type ClusterRequirementsRequestControlPlaneNodeCount ¶ added in v0.7.0
type ClusterRequirementsRequestControlPlaneNodeCount int
ClusterRequirementsRequestControlPlaneNodeCount Number of control plane nodes: 1 or 3 (default: 3)
const ( N1 ClusterRequirementsRequestControlPlaneNodeCount = 1 N3 ClusterRequirementsRequestControlPlaneNodeCount = 3 )
Defines values for ClusterRequirementsRequestControlPlaneNodeCount.
type ClusterRequirementsRequestCpuOverCommitRatio ¶ added in v0.5.0
type ClusterRequirementsRequestCpuOverCommitRatio string
ClusterRequirementsRequestCpuOverCommitRatio CPU over-commit ratio (e.g., "1:4")
const ( CpuOneToFour ClusterRequirementsRequestCpuOverCommitRatio = "1:4" CpuOneToOne ClusterRequirementsRequestCpuOverCommitRatio = "1:1" CpuOneToSix ClusterRequirementsRequestCpuOverCommitRatio = "1:6" CpuOneToTwo ClusterRequirementsRequestCpuOverCommitRatio = "1:2" )
Defines values for ClusterRequirementsRequestCpuOverCommitRatio.
type ClusterRequirementsRequestMemoryOverCommitRatio ¶ added in v0.5.0
type ClusterRequirementsRequestMemoryOverCommitRatio string
ClusterRequirementsRequestMemoryOverCommitRatio Memory over-commit ratio (e.g., "1:2")
const ( MemoryOneToFour ClusterRequirementsRequestMemoryOverCommitRatio = "1:4" MemoryOneToOne ClusterRequirementsRequestMemoryOverCommitRatio = "1:1" MemoryOneToTwo ClusterRequirementsRequestMemoryOverCommitRatio = "1:2" )
Defines values for ClusterRequirementsRequestMemoryOverCommitRatio.
type ClusterRequirementsResponse ¶ added in v0.4.0
type ClusterRequirementsResponse struct {
// ClusterSizing Overall cluster sizing summary
ClusterSizing ClusterSizing `json:"clusterSizing"`
// InventoryTotals Inventory totals for the cluster
InventoryTotals InventoryTotals `json:"inventoryTotals"`
// ResourceConsumption Resource consumption across the cluster
ResourceConsumption SizingResourceConsumption `json:"resourceConsumption"`
}
ClusterRequirementsResponse Cluster requirements calculation results
type ClusterSizing ¶ added in v0.4.0
type ClusterSizing struct {
// ControlPlaneNodes Number of control plane nodes
ControlPlaneNodes int `json:"controlPlaneNodes"`
// FailoverNodes Number of failover nodes added for availability
FailoverNodes int `json:"failoverNodes"`
// TotalCPU Total CPU cores across all nodes
TotalCPU int `json:"totalCPU"`
// TotalMemory Total memory (GB) across all nodes
TotalMemory int `json:"totalMemory"`
// TotalNodes Total number of nodes (worker + control plane)
TotalNodes int `json:"totalNodes"`
// WorkerNodes Number of worker nodes
WorkerNodes int `json:"workerNodes"`
}
ClusterSizing Overall cluster sizing summary
type ComplexityDiskScoreEntry ¶ added in v0.7.0
type ComplexityDiskScoreEntry struct {
// Score Complexity score from 1 to 4, where 1 is the least complex disk footprint and 4 is the most complex. Score 1: <=10 TB provisioned; score 2: <=20 TB; score 3: <=50 TB; score 4: >50 TB.
Score int `json:"score"`
// TotalSizeTB Total provisioned storage in TB for VMs at this score
TotalSizeTB float64 `json:"totalSizeTB"`
// VmCount Number of VMs at this complexity score
VmCount int `json:"vmCount"`
}
ComplexityDiskScoreEntry One entry in the disk complexity breakdown
type ComplexityOSNameEntry ¶ added in v0.8.0
type ComplexityOSNameEntry struct {
// OsName The OS name exactly as it appears in vms.osInfo (e.g. "Red Hat Enterprise Linux 9 (64-bit)").
OsName string `json:"osName"`
// Score Complexity score assigned by ClassifyOS. 0 = unknown, 1 = least complex, 4 = most complex.
Score int `json:"score"`
// VmCount Number of VMs running this OS.
VmCount int `json:"vmCount"`
}
ComplexityOSNameEntry One entry in the per-OS-name complexity breakdown.
type ComplexityOSScoreEntry ¶ added in v0.7.0
type ComplexityOSScoreEntry struct {
// Score Complexity score from 0 to 4, where 1 indicates the least complex OS to migrate and 0 indicates an OS with unknown complexity.
Score int `json:"score"`
// VmCount Number of VMs at this complexity score
VmCount int `json:"vmCount"`
}
ComplexityOSScoreEntry One entry in the OS complexity breakdown
type CreateAssessmentJSONRequestBody ¶
type CreateAssessmentJSONRequestBody = AssessmentForm
CreateAssessmentJSONRequestBody defines body for CreateAssessment for application/json ContentType.
type CreateGroupJSONRequestBody ¶ added in v0.11.0
type CreateGroupJSONRequestBody = GroupCreate
CreateGroupJSONRequestBody defines body for CreateGroup for application/json ContentType.
type CreateGroupMemberJSONRequestBody ¶ added in v0.11.0
type CreateGroupMemberJSONRequestBody = MemberCreate
CreateGroupMemberJSONRequestBody defines body for CreateGroupMember for application/json ContentType.
type CreateRVToolsAssessmentMultipartRequestBody ¶ added in v0.3.0
type CreateRVToolsAssessmentMultipartRequestBody = AssessmentRvtoolsForm
CreateRVToolsAssessmentMultipartRequestBody defines body for CreateRVToolsAssessment for multipart/form-data ContentType.
type CreateSourceJSONRequestBody ¶
type CreateSourceJSONRequestBody = SourceCreate
CreateSourceJSONRequestBody defines body for CreateSource for application/json ContentType.
type Datastore ¶
type Datastore struct {
DiskId string `json:"diskId"`
FreeCapacityGB int `json:"freeCapacityGB"`
HardwareAcceleratedMove bool `json:"hardwareAcceleratedMove"`
// HostId Identifier of the host where this datastore is attached
HostId *string `json:"hostId"`
Model string `json:"model"`
ProtocolType string `json:"protocolType"`
TotalCapacityGB int `json:"totalCapacityGB"`
Type string `json:"type"`
Vendor string `json:"vendor"`
}
Datastore defines model for Datastore.
type DiskSizeTierSummary ¶ added in v0.2.1
type DiskSizeTierSummary struct {
// TotalSizeTB Total disk size in TB for this tier
TotalSizeTB float64 `json:"totalSizeTB"`
// VmCount Number of VMs in this tier
VmCount int `json:"vmCount"`
}
DiskSizeTierSummary defines model for diskSizeTierSummary.
type DiskTypeSummary ¶ added in v0.3.0
type DiskTypeSummary struct {
// TotalSizeTB Total disk size in TB for this disk type
TotalSizeTB float64 `json:"totalSizeTB"`
// VmCount Number of VMs that have at least one disk of this type
VmCount int `json:"vmCount"`
}
DiskTypeSummary defines model for diskTypeSummary.
type Error ¶
type Error struct {
// Message Error message
Message string `json:"message"`
}
Error defines model for Error.
type EstimationContext ¶ added in v0.10.0
type EstimationContext struct {
Params *map[string]float32 `json:"params,omitempty"`
Schemas *[]string `json:"schemas,omitempty"`
}
EstimationContext defines model for EstimationContext.
type EstimationDetail ¶ added in v0.5.1
type EstimationDetail struct {
// Duration Estimated duration for this component (point calculators only)
Duration *string `json:"duration,omitempty"`
// MaxDuration Maximum estimated duration (ranged calculators only)
MaxDuration *string `json:"maxDuration,omitempty"`
// MinDuration Minimum estimated duration (ranged calculators only)
MinDuration *string `json:"minDuration,omitempty"`
// Reason Explanation of how the estimation was calculated
Reason string `json:"reason"`
}
EstimationDetail Detailed estimation result from a single calculator
type Group ¶ added in v0.11.0
type Group struct {
Company string `json:"company"`
CreatedAt time.Time `json:"createdAt"`
Description *string `json:"description,omitempty"`
Icon string `json:"icon"`
Id openapi_types.UUID `json:"id"`
Kind GroupKind `json:"kind"`
Name string `json:"name"`
UpdatedAt time.Time `json:"updatedAt"`
}
Group defines model for Group.
type GroupCreate ¶ added in v0.11.0
type GroupCreate struct {
Company string `json:"company" validate:"required"`
Description string `json:"description" validate:"required"`
Icon string `json:"icon" validate:"required"`
Kind GroupCreateKind `json:"kind" validate:"required,oneof=partner admin"`
Name string `json:"name" validate:"required"`
}
GroupCreate defines model for GroupCreate.
type GroupCreateKind ¶ added in v0.11.0
type GroupCreateKind string
GroupCreateKind defines model for GroupCreate.Kind.
const ( GroupCreateKindAdmin GroupCreateKind = "admin" GroupCreateKindPartner GroupCreateKind = "partner" )
Defines values for GroupCreateKind.
type GroupUpdate ¶ added in v0.11.0
type GroupUpdate struct {
Company *string `json:"company,omitempty" validate:"omitempty"`
Description *string `json:"description,omitempty" validate:"omitempty"`
Icon *string `json:"icon,omitempty"`
Name *string `json:"name,omitempty" validate:"omitempty"`
}
GroupUpdate defines model for GroupUpdate.
type Histogram ¶
type Histogram struct {
Data []int `json:"data"`
MinValue int `json:"minValue"`
Step int `json:"step"`
}
Histogram defines model for Histogram.
type Host ¶
type Host struct {
// CpuCores Number of CPU cores
CpuCores *int `json:"cpuCores"`
// CpuSockets Number of CPU sockets
CpuSockets *int `json:"cpuSockets"`
// Id Unique identifier for this host
Id *string `json:"id,omitempty"`
// MemoryMB Host memory in MB
MemoryMB *int64 `json:"memoryMB"`
Model string `json:"model"`
Vendor string `json:"vendor"`
}
Host defines model for Host.
type Identity ¶ added in v0.11.0
type Identity struct {
GroupId *string `json:"groupId"`
Kind IdentityKind `json:"kind"`
PartnerId *string `json:"partnerId"`
Username string `json:"username"`
}
Identity defines model for Identity.
type IdentityKind ¶ added in v0.11.0
type IdentityKind string
IdentityKind defines model for Identity.Kind.
const ( IdentityKindAdmin IdentityKind = "admin" IdentityKindCustomer IdentityKind = "customer" IdentityKindPartner IdentityKind = "partner" IdentityKindRegular IdentityKind = "regular" )
Defines values for IdentityKind.
type Info ¶
type Info struct {
// AgentGitCommit Agent git commit hash
AgentGitCommit *string `json:"agentGitCommit"`
// AgentVersionName Agent version name, based on git tag
AgentVersionName *string `json:"agentVersionName"`
// GitCommit Git commit hash
GitCommit string `json:"gitCommit"`
// VersionName Version name, based on git tag
VersionName string `json:"versionName"`
}
Info OpenShift Migration Advisor information
type Infra ¶
type Infra struct {
ClustersPerDatacenter *[]int `json:"clustersPerDatacenter,omitempty"`
// CpuOverCommitment CPU Overcommitment Ratio. Calculated as total Allocated vCPUs / Total Physical Cores
CpuOverCommitment *float64 `json:"cpuOverCommitment,omitempty"`
Datastores []Datastore `json:"datastores"`
HostPowerStates map[string]int `json:"hostPowerStates"`
Hosts *[]Host `json:"hosts,omitempty"`
// Deprecated:
HostsPerCluster *[]int `json:"hostsPerCluster,omitempty"`
// MemoryOverCommitment RAM memory Overcommitment Ratio. Calculated as total Allocated memory / Total memory available
MemoryOverCommitment *float64 `json:"memoryOverCommitment,omitempty"`
Networks []Network `json:"networks"`
// Deprecated:
TotalClusters *int `json:"totalClusters,omitempty"`
TotalDatacenters *int `json:"totalDatacenters,omitempty"`
TotalHosts int `json:"totalHosts"`
// Deprecated:
VmsPerCluster *[]int `json:"vmsPerCluster,omitempty"`
}
Infra defines model for Infra.
type Inventory ¶
type Inventory struct {
// Clusters Map of cluster names to their inventory data
Clusters map[string]InventoryData `json:"clusters"`
Vcenter *InventoryData `json:"vcenter,omitempty"`
// VcenterId ID of the vCenter
VcenterId string `json:"vcenter_id"`
}
Inventory defines model for Inventory.
type InventoryData ¶ added in v0.3.0
type InventoryData struct {
Infra Infra `json:"infra"`
Vcenter *VCenter `json:"vcenter,omitempty"`
Vms VMs `json:"vms"`
}
InventoryData defines model for InventoryData.
type InventoryTotals ¶ added in v0.4.0
type InventoryTotals struct {
// TotalCPU Total CPU cores across all VMs in the cluster
TotalCPU int `json:"totalCPU"`
// TotalMemory Total memory (GB) across all VMs in the cluster
TotalMemory int `json:"totalMemory"`
// TotalVMs Total number of VMs in the cluster
TotalVMs int `json:"totalVMs"`
}
InventoryTotals Inventory totals for the cluster
type Ipv4Config ¶
type Ipv4Config struct {
DefaultGateway string `json:"defaultGateway" validate:"required,ip4_addr,max=15"`
Dns string `json:"dns" validate:"required,ip4_addr,max=15"`
IpAddress string `json:"ipAddress" validate:"required,ip4_addr,max=15"`
SubnetMask string `json:"subnetMask" validate:"required,subnet_mask,max=2"`
}
Ipv4Config defines model for Ipv4Config.
type Job ¶ added in v0.3.0
type Job struct {
// AssessmentId Assessment ID when job completed successfully
AssessmentId *openapi_types.UUID `json:"assessmentId,omitempty"`
// Error Error message if job failed
Error *string `json:"error,omitempty"`
// Id Job ID
Id int64 `json:"id"`
// Status Job status:
// * `pending` - Job is queued
// * `parsing` - Parsing RVTools Excel file
// * `validating` - Running OPA VM validations
// * `completed` - Assessment created successfully
// * `failed` - Job failed with error
// * `cancelled` - Job was cancelled
Status JobStatus `json:"status"`
}
Job Background job for async assessment creation
type JobStatus ¶ added in v0.3.0
type JobStatus string
JobStatus Job status:
- `pending` - Job is queued
- `parsing` - Parsing RVTools Excel file
- `validating` - Running OPA VM validations
- `completed` - Assessment created successfully
- `failed` - Job failed with error
- `cancelled` - Job was cancelled
type Label ¶
type Label struct {
Key string `json:"key" validate:"required,label"`
Value string `json:"value" validate:"required,label"`
}
Label defines model for Label.
type ListAssessmentsParams ¶ added in v0.5.0
type ListAssessmentsParams struct {
// SourceId Filter assessments by source ID
SourceId *openapi_types.UUID `form:"sourceId,omitempty" json:"sourceId,omitempty"`
}
ListAssessmentsParams defines parameters for ListAssessments.
type ListGroupsParams ¶ added in v0.11.0
type ListGroupsParams struct {
// Kind Filter by group kind
Kind *ListGroupsParamsKind `form:"kind,omitempty" json:"kind,omitempty"`
// Name Filter by name (case-insensitive partial match)
Name *string `form:"name,omitempty" json:"name,omitempty"`
// Company Filter by company (case-insensitive partial match)
Company *string `form:"company,omitempty" json:"company,omitempty"`
}
ListGroupsParams defines parameters for ListGroups.
type ListGroupsParamsKind ¶ added in v0.11.0
type ListGroupsParamsKind string
ListGroupsParamsKind defines parameters for ListGroups.
const ( ListGroupsParamsKindAdmin ListGroupsParamsKind = "admin" ListGroupsParamsKindPartner ListGroupsParamsKind = "partner" )
Defines values for ListGroupsParamsKind.
type Member ¶ added in v0.11.0
type Member struct {
CreatedAt time.Time `json:"createdAt"`
Email openapi_types.Email `json:"email"`
GroupId openapi_types.UUID `json:"groupId"`
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
Username string `json:"username"`
}
Member defines model for Member.
type MemberCreate ¶ added in v0.11.0
type MemberCreate struct {
Email openapi_types.Email `json:"email" validate:"required,email"`
Username string `json:"username" validate:"required"`
}
MemberCreate defines model for MemberCreate.
type MemberList ¶ added in v0.11.0
type MemberList = []Member
MemberList defines model for MemberList.
type MemberUpdate ¶ added in v0.11.0
type MemberUpdate struct {
Email *openapi_types.Email `json:"email,omitempty" validate:"omitempty,email"`
}
MemberUpdate defines model for MemberUpdate.
type MigrationComplexityRequest ¶ added in v0.7.0
type MigrationComplexityRequest struct {
// ClusterId ID of the cluster to calculate complexity estimation for
ClusterId string `json:"clusterId" validate:"required"`
}
MigrationComplexityRequest Request payload for calculating migration complexity estimation
type MigrationComplexityResponse ¶ added in v0.7.0
type MigrationComplexityResponse struct {
// ComplexityByDisk Disk-size complexity scores, one entry per score level (1-4). Score 1 is the least complex disk footprint; score 4 is the most complex. Scores correspond to provisioned disk size: 1 (<=10 TB), 2 (<=20 TB), 3 (<=50 TB), 4 (>50 TB). All four score levels are always present.
ComplexityByDisk []ComplexityDiskScoreEntry `json:"complexityByDisk"`
// ComplexityByOS OS complexity scores, one entry per score level (0-4). Score 1 indicates the least complex OS to migrate; score 0 indicates an OS with unknown complexity. All five score levels are always present.
ComplexityByOS []ComplexityOSScoreEntry `json:"complexityByOS"`
// ComplexityByOSName Per-OS-name complexity breakdown. One entry per distinct OS name found in the cluster's inventory. Each entry carries the OS name string, its numeric complexity score (0–4), and the number of VMs running it.
ComplexityByOSName []ComplexityOSNameEntry `json:"complexityByOSName"`
// DiskSizeRatings Static lookup table mapping each disk-size tier label to its numeric complexity score. The content is identical for every cluster and reflects the DiskSizeScores configuration in the complexity package.
DiskSizeRatings map[string]int `json:"diskSizeRatings"`
// OsRatings Per-OS-name score for every OS found in this cluster's inventory. Keys are the OS name strings exactly as they appear in vms.osInfo; values are the numeric complexity score assigned by ClassifyOS (0 = unknown, 1-4 = increasing complexity). The map contains one entry per distinct OS name in the cluster, regardless of how many VMs run it.
OsRatings map[string]int `json:"osRatings"`
}
MigrationComplexityResponse Migration complexity estimation results
type MigrationEstimationByComplexityResponse ¶ added in v0.10.0
type MigrationEstimationByComplexityResponse struct {
// ComplexityByOsDisk Combined OS+Disk complexity distribution with per-bucket estimation. All 5 score levels (0-4) always present.
ComplexityByOsDisk []OsDiskEstimationEntry `json:"complexityByOsDisk"`
// ComplexityMatrix Decision matrix: outer keys are OS scores (0-4), inner keys are disk scores (1-4), values are combined scores.
ComplexityMatrix map[string]map[string]int `json:"complexityMatrix"`
EstimationContext *EstimationContext `json:"estimationContext,omitempty"`
}
MigrationEstimationByComplexityResponse defines model for MigrationEstimationByComplexityResponse.
type MigrationEstimationRequest ¶ added in v0.5.1
type MigrationEstimationRequest struct {
// ClusterId ID of the cluster to calculate migration estimation for
ClusterId string `json:"clusterId" validate:"required"`
// EstimationSchema Schemas to run. Valid values: "network-based", "storage-offload". If omitted, all schemas are run.
EstimationSchema *[]string `json:"estimationSchema,omitempty"`
// Params Optional calculator parameter overrides. Keys must match known calculator param names (e.g. "transfer_rate_mbps", "work_hours_per_day", "troubleshoot_mins_per_vm", "post_migration_engineers"). User-supplied values take precedence over both defaults and inventory-derived values. Unknown keys are rejected with HTTP 400.
Params *map[string]interface{} `json:"params,omitempty"`
}
MigrationEstimationRequest Request payload for calculating migration time estimation
type MigrationEstimationResponse ¶ added in v0.5.1
type MigrationEstimationResponse struct {
// Estimation Estimation results keyed by schema name (e.g. "network-based", "storage-offload").
Estimation map[string]SchemaEstimationResult `json:"estimation"`
EstimationContext EstimationContext `json:"estimationContext"`
}
MigrationEstimationResponse Migration estimation result, including per-schema results and the parameters used.
type MigrationIssue ¶
type MigrationIssue struct {
Assessment string `json:"assessment"`
Count int `json:"count"`
Id *string `json:"id,omitempty"`
Label string `json:"label"`
}
MigrationIssue defines model for MigrationIssue.
type MigrationIssues ¶
type MigrationIssues = []MigrationIssue
MigrationIssues defines model for MigrationIssues.
type Network ¶
type Network struct {
Dvswitch *string `json:"dvswitch,omitempty"`
Name string `json:"name"`
Type NetworkType `json:"type"`
VlanId *string `json:"vlanId,omitempty"`
VmsCount *int `json:"vmsCount,omitempty"`
}
Network defines model for Network.
type NetworkType ¶
type NetworkType string
NetworkType defines model for Network.Type.
const ( Distributed NetworkType = "distributed" Dvswitch NetworkType = "dvswitch" Standard NetworkType = "standard" Unsupported NetworkType = "unsupported" )
Defines values for NetworkType.
type OsDiskEstimationEntry ¶ added in v0.10.0
type OsDiskEstimationEntry struct {
// Estimation Full estimation breakdown keyed by schema name. Absent for empty buckets (vmCount == 0).
Estimation *map[string]SchemaEstimationResult `json:"estimation,omitempty"`
// Score Combined OS+Disk complexity score (0-4).
Score int `json:"score"`
// TotalDiskSizeTB Total provisioned disk across VMs in this bucket (decimal TB). 0.0 when ComplexityDistribution is absent from the inventory.
TotalDiskSizeTB float32 `json:"totalDiskSizeTB"`
// VmCount Number of VMs at this complexity level.
VmCount int `json:"vmCount"`
}
OsDiskEstimationEntry defines model for OsDiskEstimationEntry.
type OsInfo ¶
type OsInfo struct {
Count int `json:"count"`
Supported bool `json:"supported"`
// UpgradeRecommendation Recommended OS upgrade for MTV unsupported OS that can be upgraded to a supported OS
UpgradeRecommendation *string `json:"upgradeRecommendation,omitempty"`
}
OsInfo defines model for osInfo.
type PresignedUrl ¶
type PresignedUrl struct {
// ExpiresAt Expiration time for the URL token.
ExpiresAt *time.Time `json:"expires_at,omitempty"`
// Url Pre-signed URL for downloading the source discovery image.
Url string `json:"url"`
}
PresignedUrl defines model for presigned-url.
type SchemaEstimationResult ¶ added in v0.9.0
type SchemaEstimationResult struct {
// Breakdown Per-calculator results
Breakdown map[string]EstimationDetail `json:"breakdown"`
// MaxTotalDuration Maximum total estimated duration across all calculators
MaxTotalDuration string `json:"maxTotalDuration"`
// MinTotalDuration Minimum total estimated duration across all calculators
MinTotalDuration string `json:"minTotalDuration"`
}
SchemaEstimationResult Estimation results for a single schema
type SizingOverCommitRatio ¶ added in v0.4.0
type SizingOverCommitRatio struct {
// Cpu CPU over-commit ratio
Cpu float64 `json:"cpu"`
// Memory Memory over-commit ratio
Memory float64 `json:"memory"`
}
SizingOverCommitRatio Over-commit ratios
type SizingResourceConsumption ¶ added in v0.4.0
type SizingResourceConsumption struct {
// Cpu Total CPU requested
Cpu float64 `json:"cpu"`
// Limits Resource limits
Limits *SizingResourceLimits `json:"limits,omitempty"`
// Memory Total memory (GB) requested
Memory float64 `json:"memory"`
// OverCommitRatio Over-commit ratios
OverCommitRatio *SizingOverCommitRatio `json:"overCommitRatio,omitempty"`
}
SizingResourceConsumption Resource consumption across the cluster
type SizingResourceLimits ¶ added in v0.4.0
type SizingResourceLimits struct {
// Cpu Total CPU limits
Cpu float64 `json:"cpu"`
// Memory Total memory (GB) limits
Memory float64 `json:"memory"`
}
SizingResourceLimits Resource limits
type Snapshot ¶
type Snapshot struct {
CreatedAt time.Time `json:"createdAt"`
Inventory Inventory `json:"inventory"`
}
Snapshot defines model for Snapshot.
type Source ¶
type Source struct {
Agent *Agent `json:"agent,omitempty"`
// AgentVersion Agent version (version tag) stored when OVA was downloaded
AgentVersion *string `json:"agentVersion"`
// AgentVersionWarning Warning message if stored agent version differs from current agent version
AgentVersionWarning *string `json:"agentVersionWarning"`
CreatedAt time.Time `json:"createdAt"`
Id openapi_types.UUID `json:"id"`
Infra *struct {
Proxy *AgentProxy `json:"proxy,omitempty"`
SshPublicKey *ValidatedSSHPublicKey `json:"sshPublicKey" validate:"omitnil,ssh_key"`
VmNetwork *VmNetwork `json:"vmNetwork,omitempty"`
} `json:"infra,omitempty"`
Inventory *Inventory `json:"inventory,omitempty"`
Labels *[]Label `json:"labels,omitempty"`
Name string `json:"name"`
OnPremises bool `json:"onPremises"`
UpdatedAt time.Time `json:"updatedAt"`
}
Source defines model for Source.
type SourceCreate ¶
type SourceCreate struct {
CertificateChain *ValidatedCertificateChain `json:"certificateChain" validate:"omitnil,certs"`
Labels *[]Label `json:"labels,omitempty" validate:"omitempty,dive,required"`
Name ValidatedSourceName `json:"name" validate:"required,source_name"`
Network *VmNetwork `json:"network,omitempty"`
Proxy *AgentProxy `json:"proxy,omitempty"`
SshPublicKey *ValidatedSSHPublicKey `json:"sshPublicKey" validate:"omitnil,ssh_key"`
}
SourceCreate defines model for SourceCreate.
type SourceUpdate ¶
type SourceUpdate struct {
CertificateChain *ValidatedCertificateChain `json:"certificateChain" validate:"omitnil,certs"`
Labels *[]Label `json:"labels,omitempty" validate:"omitempty,dive,required"`
Name *ValidatedOptionalSourceName `json:"name,omitempty" validate:"omitempty,source_name"`
Network *VmNetwork `json:"network,omitempty"`
Proxy *AgentProxy `json:"proxy,omitempty"`
SshPublicKey *ValidatedSSHPublicKey `json:"sshPublicKey" validate:"omitnil,ssh_key"`
}
SourceUpdate defines model for SourceUpdate.
type Status ¶
type Status struct {
// Message A human-readable description of the status of this operation.
Message *string `json:"message,omitempty"`
// Reason A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.
Reason *string `json:"reason,omitempty"`
// Status Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Status *string `json:"status,omitempty"`
}
Status Status is a return value for calls that don't return other objects.
type UpdateAssessmentJSONRequestBody ¶
type UpdateAssessmentJSONRequestBody = AssessmentUpdate
UpdateAssessmentJSONRequestBody defines body for UpdateAssessment for application/json ContentType.
type UpdateGroupJSONRequestBody ¶ added in v0.11.0
type UpdateGroupJSONRequestBody = GroupUpdate
UpdateGroupJSONRequestBody defines body for UpdateGroup for application/json ContentType.
type UpdateGroupMemberJSONRequestBody ¶ added in v0.11.0
type UpdateGroupMemberJSONRequestBody = MemberUpdate
UpdateGroupMemberJSONRequestBody defines body for UpdateGroupMember for application/json ContentType.
type UpdateInventory ¶
type UpdateInventory struct {
AgentId openapi_types.UUID `json:"agentId"`
Inventory Inventory `json:"inventory"`
}
UpdateInventory defines model for UpdateInventory.
type UpdateInventoryJSONRequestBody ¶
type UpdateInventoryJSONRequestBody = UpdateInventory
UpdateInventoryJSONRequestBody defines body for UpdateInventory for application/json ContentType.
type UpdateSourceJSONRequestBody ¶
type UpdateSourceJSONRequestBody = SourceUpdate
UpdateSourceJSONRequestBody defines body for UpdateSource for application/json ContentType.
type VMResourceBreakdown ¶
type VMResourceBreakdown struct {
// Deprecated:
Histogram *Histogram `json:"histogram,omitempty"`
Total int `json:"total"`
TotalForMigratable int `json:"totalForMigratable"`
TotalForMigratableWithWarnings int `json:"totalForMigratableWithWarnings"`
TotalForNotMigratable int `json:"totalForNotMigratable"`
}
VMResourceBreakdown defines model for VMResourceBreakdown.
type VMs ¶
type VMs struct {
// ComplexityDistribution Distribution of VMs by migration complexity level, enriched with total disk size per level. Supersedes distributionByComplexity.
ComplexityDistribution *map[string]DiskSizeTierSummary `json:"complexityDistribution,omitempty"`
CpuCores VMResourceBreakdown `json:"cpuCores"`
DiskCount VMResourceBreakdown `json:"diskCount"`
DiskGB VMResourceBreakdown `json:"diskGB"`
DiskSizeTier *map[string]DiskSizeTierSummary `json:"diskSizeTier,omitempty"`
DiskTypes *map[string]DiskTypeSummary `json:"diskTypes,omitempty"`
// DistributionByComplexity Distribution of VMs by migration complexity level (0=Unsupported, 1=Easy, 2=Medium, 3=Hard, 4=WhiteGlove)
// Deprecated:
DistributionByComplexity *map[string]int `json:"distributionByComplexity,omitempty"`
// DistributionByCpuTier Distribution of VMs across CPU tier buckets (e.g., "0-4", "5-8", "9-16", "17-32", "32+")
DistributionByCpuTier *map[string]int `json:"distributionByCpuTier,omitempty"`
// DistributionByMemoryTier Distribution of VMs across Memory tier buckets (e.g., "0-4", "5-16", "17-32", "33-64", "65-128", "129-256", "256+")
DistributionByMemoryTier *map[string]int `json:"distributionByMemoryTier,omitempty"`
// DistributionByNicCount Distribution of VMs by NIC count (e.g., "0", "1", "2", "3", "4+")
DistributionByNicCount *map[string]int `json:"distributionByNicCount,omitempty"`
MigrationWarnings []MigrationIssue `json:"migrationWarnings"`
NicCount *VMResourceBreakdown `json:"nicCount,omitempty"`
NotMigratableReasons []MigrationIssue `json:"notMigratableReasons"`
// Deprecated:
Os *map[string]int `json:"os,omitempty"`
OsInfo *map[string]OsInfo `json:"osInfo,omitempty"`
PowerStates map[string]int `json:"powerStates"`
RamGB VMResourceBreakdown `json:"ramGB"`
Total int `json:"total"`
TotalMigratable int `json:"totalMigratable"`
TotalMigratableWithWarnings *int `json:"totalMigratableWithWarnings,omitempty"`
TotalWithSharedDisks *int `json:"totalWithSharedDisks,omitempty"`
}
VMs defines model for VMs.
type ValidatedCertificateChain ¶
type ValidatedCertificateChain = string
ValidatedCertificateChain defines model for ValidatedCertificateChain.
type ValidatedOptionalSourceName ¶
type ValidatedOptionalSourceName = string
ValidatedOptionalSourceName defines model for ValidatedOptionalSourceName.
type ValidatedSSHPublicKey ¶
type ValidatedSSHPublicKey = string
ValidatedSSHPublicKey defines model for ValidatedSSHPublicKey.
type ValidatedSourceName ¶
type ValidatedSourceName = string
ValidatedSourceName defines model for ValidatedSourceName.
type VmNetwork ¶
type VmNetwork struct {
Ipv4 *Ipv4Config `json:"ipv4,omitempty"`
}
VmNetwork defines model for VmNetwork.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package v1alpha1 provides primitives to interact with the openapi HTTP API.
|
Package v1alpha1 provides primitives to interact with the openapi HTTP API. |
|
Package v1alpha1 provides primitives to interact with the openapi HTTP API.
|
Package v1alpha1 provides primitives to interact with the openapi HTTP API. |