-
Notifications
You must be signed in to change notification settings - Fork 2
/
server_groups_default.go
48 lines (39 loc) · 1.87 KB
/
server_groups_default.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
// Code generated by go generate; DO NOT EDIT.
package brightbox
import "context"
import "path"
const (
// servergroupAPIPath returns the relative URL path to the ServerGroup endpoint
servergroupAPIPath = "server_groups"
)
// ServerGroups returns the collection view for ServerGroup
func (c *Client) ServerGroups(ctx context.Context) ([]ServerGroup, error) {
return apiGetCollection[[]ServerGroup](ctx, c, servergroupAPIPath)
}
// ServerGroup retrieves a detailed view of one resource
func (c *Client) ServerGroup(ctx context.Context, identifier string) (*ServerGroup, error) {
return apiGet[ServerGroup](ctx, c, path.Join(servergroupAPIPath, identifier))
}
// CreateServerGroup creates a new resource from the supplied option map.
//
// It takes an instance of ServerGroupOptions. Not all attributes can be
// specified at create time (such as ID, which is allocated for you).
func (c *Client) CreateServerGroup(ctx context.Context, newServerGroup ServerGroupOptions) (*ServerGroup, error) {
return apiPost[ServerGroup](ctx, c, servergroupAPIPath, newServerGroup)
}
// UpdateServerGroup updates an existing resources's attributes. Not all
// attributes can be changed (such as ID).
//
// It takes an instance of ServerGroupOptions. Specify the resource you
// want to update using the ID field.
func (c *Client) UpdateServerGroup(ctx context.Context, updateServerGroup ServerGroupOptions) (*ServerGroup, error) {
return apiPut[ServerGroup](ctx, c, path.Join(servergroupAPIPath, updateServerGroup.ID), updateServerGroup)
}
// DestroyServerGroup destroys an existing resource.
func (c *Client) DestroyServerGroup(ctx context.Context, identifier string) (*ServerGroup, error) {
return apiDelete[ServerGroup](ctx, c, path.Join(servergroupAPIPath, identifier))
}
// CreatedAt implements the CreateDated interface for ServerGroup
func (s ServerGroup) CreatedAtUnix() int64 {
return s.CreatedAt.Unix()
}