v1alpha1

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2026 License: Apache-2.0 Imports: 10 Imported by: 2

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

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.

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

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)

Defines values for ClusterRequirementsRequestControlPlaneNodeCount.

type ClusterRequirementsRequestCpuOverCommitRatio added in v0.5.0

type ClusterRequirementsRequestCpuOverCommitRatio string

ClusterRequirementsRequestCpuOverCommitRatio CPU over-commit ratio (e.g., "1:4")

Defines values for ClusterRequirementsRequestCpuOverCommitRatio.

type ClusterRequirementsRequestMemoryOverCommitRatio added in v0.5.0

type ClusterRequirementsRequestMemoryOverCommitRatio string

ClusterRequirementsRequestMemoryOverCommitRatio Memory over-commit ratio (e.g., "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 GroupKind added in v0.11.0

type GroupKind string

GroupKind defines model for Group.Kind.

const (
	GroupKindAdmin   GroupKind = "admin"
	GroupKindPartner GroupKind = "partner"
)

Defines values for GroupKind.

type GroupList added in v0.11.0

type GroupList = []Group

GroupList defines model for GroupList.

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
const (
	Cancelled  JobStatus = "cancelled"
	Completed  JobStatus = "completed"
	Failed     JobStatus = "failed"
	Parsing    JobStatus = "parsing"
	Pending    JobStatus = "pending"
	Validating JobStatus = "validating"
)

Defines values for JobStatus.

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 SourceList

type SourceList = []Source

SourceList defines model for SourceList.

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 VCenter

type VCenter struct {
	Id string `json:"id"`
}

VCenter defines model for VCenter.

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 Number of VMs that have at least one shared disk
	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.

Jump to

Keyboard shortcuts

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