// CreateServerGroup will create a server with a random name. An error will be // returned if the server group failed to be created. func CreateServerGroup(t *testing.T, client *gophercloud.ServiceClient, policy string) (*servergroups.ServerGroup, error) { sg, err := servergroups.Create(client, &servergroups.CreateOpts{ Name: "test", Policies: []string{policy}, }).Extract() if err != nil { return sg, err } return sg, nil }
func TestCreate(t *testing.T) { th.SetupHTTP() defer th.TeardownHTTP() HandleCreateSuccessfully(t) actual, err := servergroups.Create(client.ServiceClient(), servergroups.CreateOpts{ Name: "test", Policies: []string{"anti-affinity"}, }).Extract() th.AssertNoErr(t, err) th.CheckDeepEquals(t, &CreatedServerGroup, actual) }
func resourceComputeServerGroupV2Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) computeClient, err := config.computeV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } createOpts := &servergroups.CreateOpts{ Name: d.Get("name").(string), Policies: resourceServerGroupPoliciesV2(d), } log.Printf("[DEBUG] Create Options: %#v", createOpts) newSG, err := servergroups.Create(computeClient, createOpts).Extract() if err != nil { return fmt.Errorf("Error creating ServerGroup: %s", err) } d.SetId(newSG.ID) return resourceComputeServerGroupV2Read(d, meta) }