This repository has been archived by the owner on Mar 14, 2024. It is now read-only.
/
info_client.go
130 lines (113 loc) · 2.75 KB
/
info_client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// Code generated by go-swagger; DO NOT EDIT.
package info
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"github.com/go-openapi/runtime"
strfmt "github.com/go-openapi/strfmt"
)
// New creates a new info API client.
func New(transport runtime.ClientTransport, formats strfmt.Registry) *Client {
return &Client{transport: transport, formats: formats}
}
/*
Client for info API
*/
type Client struct {
transport runtime.ClientTransport
formats strfmt.Registry
}
/*
GetInfo gets information on the installation
Returns a set of details on the installation. The output varies based
on the provider used in the installation.
This information is useful for example when creating new cluster, to
prevent creating clusters with more worker nodes than possible.
### Example for an AWS-based installation
```json
{
"general": {
"installation_name": "shire",
"provider": "aws",
"datacenter": "eu-central-1",
"availability_zones": {
"max": 3,
"default": 1,
}
},
"stats": {
"cluster_creation_duration": {
"median": 750,
"p25": 700,
"p75": 800
}
},
"workers": {
"count_per_cluster": {
"max": null,
"default": 3
},
"instance_type": {
"options": [
"m3.medium", "m3.large", "m3.xlarge"
],
"default": "m3.large"
}
}
}
```
### Example for a KVM-based installation
```json
{
"general": {
"installation_name": "isengard",
"provider": "kvm",
"datacenter": "string",
"availability_zones": {
"max": 1,
"default": 1,
}
},
"stats": {
"cluster_creation_duration": {
"median": 750,
"p25": 700,
"p75": 800
}
},
"workers": {
"count_per_cluster": {
"max": 8,
"default": 3
},
}
}
```
*/
func (a *Client) GetInfo(params *GetInfoParams, authInfo runtime.ClientAuthInfoWriter) (*GetInfoOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewGetInfoParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "getInfo",
Method: "GET",
PathPattern: "/v4/info/",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &GetInfoReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
return result.(*GetInfoOK), nil
}
// SetTransport changes the transport on the client
func (a *Client) SetTransport(transport runtime.ClientTransport) {
a.transport = transport
}