Skip to main content
Version: latest

Get vSphere cluster estimated rate information

POST 

/v1/spectroclusters/vsphere/rate

Get vSphere cluster estimated rate information

Request

Query Parameters

    periodType string

    Possible values: [hourly, monthly, yearly]

    Default value: hourly

Header Parameters

    ProjectUid string

    Scope the request to the specified project uid

Body

    cloudConfig

    object

    controlPlaneEndpoint

    object

    ddnsSearchDomainstring

    DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required

    hoststring

    IP or FQDN(External/DDNS)

    typestring

    Possible values: [VIP, External, DDNS]

    VIP or External

    ntpServersstring[]

    NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.

    placement

    object

    required

    Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool

    clusterstring

    Cluster is the computecluster in vsphere

    datacenterstring

    Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.

    datastorestring

    Datastore is the datastore in which VMs are created/located.

    folderstring

    Folder is the folder in which VMs are created/located.

    imageTemplateFolderstring

    ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates

    network

    object

    networkNamestringrequired

    NetworkName is the name of the network in which VMs are created/located.

    parentPoolUidstring

    ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool

    staticIpboolean

    support dhcp or static IP, if false, use DHCP

    resourcePoolstring

    ResourcePool is the resource pool within the above computecluster Cluster

    storagePolicyNamestring

    StoragePolicyName of the storage policy to use with this Virtual Machine

    uidstring

    UID for this placement

    sshKeysstring[]

    SSHKeys specifies a list of ssh authorized keys for the 'spectro' user

    staticIpboolean

    whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name

    machinepoolconfig

    object[]

  • Array [

  • cloudConfig

    required

    instanceType

    object

    diskGiBint32required

    DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.

    memoryMiBint64required

    MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.

    numCPUsint32required

    NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.

    placements

    object[]

    Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster

  • Array [

  • clusterstring

    Cluster is the computecluster in vsphere

    datacenterstring

    Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.

    datastorestring

    Datastore is the datastore in which VMs are created/located.

    folderstring

    Folder is the folder in which VMs are created/located.

    imageTemplateFolderstring

    ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates

    network

    object

    networkNamestringrequired

    NetworkName is the name of the network in which VMs are created/located.

    parentPoolUidstring

    ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool

    staticIpboolean

    support dhcp or static IP, if false, use DHCP

    resourcePoolstring

    ResourcePool is the resource pool within the above computecluster Cluster

    storagePolicyNamestring

    StoragePolicyName of the storage policy to use with this Virtual Machine

    uidstring

    UID for this placement

  • ]

  • poolConfig

    object

    Machine pool configuration for the cluster

    additionalLabels

    object

    Additional labels to be part of the machine pool

    property name*string

    additionalTags

    object

    AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole

    property name*string
    isControlPlaneboolean

    Whether this pool is for control plane

    labelsstring[]required

    Labels for this machine pool, example: master/worker, gpu, windows

    machinePoolProperties

    object

    Machine pool specific properties

    archTypestring

    Possible values: [amd64, arm64]

    Default value: amd64

    maxSizeint32

    Max size of the pool, for scaling

    minSizeint32

    Min size of the pool, for scaling

    namestringrequired
    nodeRepaveIntervalint32

    Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster

    sizeint32required

    Size of the pool, number of nodes/machines

    taints

    object[]

    Master or worker taints

  • Array [

  • effectstring

    Possible values: [NoSchedule, PreferNoSchedule, NoExecute]

    keystring

    The taint key to be applied to a node

    timeAddeddate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    valuestring

    The taint value corresponding to the taint key.

  • ]

  • updateStrategy

    object

    UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut => maxSurge=1, maxUnavailable=0 ScaleIn => maxSurge=0, maxUnavailable=1

    typestring

    Possible values: [RollingUpdateScaleOut, RollingUpdateScaleIn]

    update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut

    useControlPlaneAsWorkerboolean

    If IsControlPlane==true && useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools

  • ]

Responses

Vsphere Cluster estimated rate response

Schema

    machinePools

    object[]

  • Array [

  • namestring
    nodesCountint32

    rate

    object

    Cloud estimated rate information

    compute

    object

    Compute estimated rate information

    ratefloat64
    typestring

    storage

    object[]

  • Array [

  • iopsfloat64
    ratefloat64
    sizeGBfloat64
    throughputfloat64
    typestring
  • ]

  • totalfloat64
  • ]

  • namestring

    rate

    object

    Cluster total estimated rate information

    computefloat64
    storagefloat64
    totalfloat64

    resourceMetadata

    object

    Cloud resource metadata

    instanceTypes

    object

    property name*

    object

    Cloud Instance type details

    categorystring

    Category of instance type

    cost

    object

    Instance cost entity

    price

    object[]

    Array of cloud instance price

  • Array [

  • onDemanddouble

    OnDemand price of instance

    osstring

    Possible values: [linux, windows]

    Os associated with instance price. Allowed values - [linux, windows]

    spotdouble

    Spot price of instance

  • ]

  • cpudouble

    Cpu of instance type

    gpudouble

    Gpu of instance type

    memorydouble

    Memory of instance type

    nonSupportedZonesstring[]

    Non supported zones of the instance in a particular region

    pricedouble

    Price of instance type

    supportedArchitecturesstring[]

    Supported architecture of the instance

    typestring

    Type of instance type

    storageTypes

    object

    property name*

    object

    Cloud cloud Storage type details

    cost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

  • iopsCost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

  • kindstring

    kind of storage type

    namestring

    Name of the storage type

    throughputCost

    object

    Cloud storage cost

    discountedUsagestring

    Cloud storage upper limit which is free.

    price

    object[]

    Array of cloud storage range prices

  • Array [

  • limitstring

    Upper limit of cloud storage usage

    pricestring

    Price of cloud storage type

  • ]

Loading...