X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a9497f8d2756104ba07d88d5c8c7b84790fd83f3..707ed2964a24ebe940ae440af22fdcb56781fcbd:/sdk/go/arvados/config.go?ds=sidebyside diff --git a/sdk/go/arvados/config.go b/sdk/go/arvados/config.go index f1a72897fa..9ed0eacf23 100644 --- a/sdk/go/arvados/config.go +++ b/sdk/go/arvados/config.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: Apache-2.0 + package arvados import ( @@ -48,10 +52,20 @@ type Cluster struct { ClusterID string `json:"-"` ManagementToken string SystemNodes map[string]SystemNode + InstanceTypes []InstanceType +} + +type InstanceType struct { + Name string + ProviderType string + VCPUs int + RAM int64 + Scratch int64 + Price float64 } -// GetThisSystemNodeConfig returns a SystemNode for the node we're -// running on right now. +// GetThisSystemNode returns a SystemNode for the node we're running +// on right now. func (cc *Cluster) GetThisSystemNode() (*SystemNode, error) { hostname, err := os.Hostname() if err != nil { @@ -60,9 +74,9 @@ func (cc *Cluster) GetThisSystemNode() (*SystemNode, error) { return cc.GetSystemNode(hostname) } -// GetSystemNodeConfig returns a NodeConfig for the given node. An -// error is returned if the appropriate configuration can't be -// determined (e.g., this does not appear to be a system node). +// GetSystemNode returns a SystemNode for the given hostname. An error +// is returned if the appropriate configuration can't be determined +// (e.g., this does not appear to be a system node). func (cc *Cluster) GetSystemNode(node string) (*SystemNode, error) { if cfg, ok := cc.SystemNodes[node]; ok { return &cfg, nil