X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7d4123813b42d8f6478e239895e62f6f600a1c6f..79a9d03d3470ef013a908051a2bccddc680ecb5c:/sdk/go/arvados/config.go diff --git a/sdk/go/arvados/config.go b/sdk/go/arvados/config.go index 3539018556..c723be7d10 100644 --- a/sdk/go/arvados/config.go +++ b/sdk/go/arvados/config.go @@ -50,12 +50,39 @@ func (sc *Config) GetCluster(clusterID string) (*Cluster, error) { } } +type RequestLimits struct { + MaxItemsPerResponse int + MultiClusterRequestConcurrency int +} + type Cluster struct { ClusterID string `json:"-"` ManagementToken string NodeProfiles map[string]NodeProfile InstanceTypes InstanceTypeMap HTTPRequestTimeout Duration + RemoteClusters map[string]RemoteCluster + PostgreSQL PostgreSQL + RequestLimits RequestLimits +} + +type PostgreSQL struct { + Connection PostgreSQLConnection + ConnectionPool int +} + +type PostgreSQLConnection map[string]string + +type RemoteCluster struct { + // API endpoint host or host:port; default is {id}.arvadosapi.com + Host string + // Perform a proxy request when a local client requests an + // object belonging to this remote. + Proxy bool + // Scheme, default "https". Can be set to "http" for testing. + Scheme string + // Disable TLS verify. Can be set to true for testing. + Insecure bool } type InstanceType struct { @@ -171,7 +198,22 @@ func (np *NodeProfile) ServicePorts() map[ServiceName]string { } } +func (h RequestLimits) GetMultiClusterRequestConcurrency() int { + if h.MultiClusterRequestConcurrency == 0 { + return 4 + } + return h.MultiClusterRequestConcurrency +} + +func (h RequestLimits) GetMaxItemsPerResponse() int { + if h.MaxItemsPerResponse == 0 { + return 1000 + } + return h.MaxItemsPerResponse +} + type SystemServiceInstance struct { - Listen string - TLS bool + Listen string + TLS bool + Insecure bool }