File: doc.go

package info (click to toggle)
golang-github-gophercloud-gophercloud 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,416 kB
  • sloc: sh: 99; makefile: 21
file content (58 lines) | stat: -rw-r--r-- 1,240 bytes parent folder | download
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
/*
Package servergroups provides the ability to manage server groups.

Example to List Server Groups

	allpages, err := servergroups.List(computeClient).AllPages()
	if err != nil {
		panic(err)
	}

	allServerGroups, err := servergroups.ExtractServerGroups(allPages)
	if err != nil {
		panic(err)
	}

	for _, sg := range allServerGroups {
		fmt.Printf("%#v\n", sg)
	}

Example to Create a Server Group

	createOpts := servergroups.CreateOpts{
		Name:     "my_sg",
		Policies: []string{"anti-affinity"},
	}

	sg, err := servergroups.Create(computeClient, createOpts).Extract()
	if err != nil {
		panic(err)
	}

Example to Create a Server Group with additional microversion 2.64 fields

		createOpts := servergroups.CreateOpts{
			Name:   "my_sg",
			Policy: "anti-affinity",
	        	Rules: &servergroups.Rules{
	            		MaxServerPerHost: 3,
	        	},
		}

		computeClient.Microversion = "2.64"
		result := servergroups.Create(computeClient, createOpts)

		serverGroup, err := result.Extract()
		if err != nil {
			panic(err)
		}

Example to Delete a Server Group

	sgID := "7a6f29ad-e34d-4368-951a-58a08f11cfb7"
	err := servergroups.Delete(computeClient, sgID).ExtractErr()
	if err != nil {
		panic(err)
	}
*/
package servergroups