func (s *LiveTests) TestListPackagesWithFilter(c *gc.C) { filter := cloudapi.NewFilter() filter.Set("memory", "1024") pkgs, err := s.testClient.ListPackages(filter) c.Assert(err, gc.IsNil) c.Assert(pkgs, gc.NotNil) for _, pkg := range pkgs { c.Check(pkg.Name, gc.FitsTypeOf, string("")) c.Check(pkg.Memory, gc.Equals, 1024) c.Check(pkg.Disk, gc.FitsTypeOf, int(0)) c.Check(pkg.Swap, gc.FitsTypeOf, int(0)) c.Check(pkg.VCPUs, gc.FitsTypeOf, int(0)) c.Check(pkg.Default, gc.FitsTypeOf, bool(false)) c.Check(pkg.Id, gc.FitsTypeOf, string("")) c.Check(pkg.Version, gc.FitsTypeOf, string("")) c.Check(pkg.Description, gc.FitsTypeOf, string("")) c.Check(pkg.Group, gc.FitsTypeOf, string("")) } }
func (env *joyentEnviron) AllInstances() ([]instance.Instance, error) { instances := []instance.Instance{} filter := cloudapi.NewFilter() filter.Set("tag.group", "juju") filter.Set("tag.env", env.Config().Name()) machines, err := env.compute.cloudapi.ListMachines(filter) if err != nil { return nil, errors.Annotate(err, "cannot retrieve instances") } for _, m := range machines { if strings.EqualFold(m.State, "provisioning") || strings.EqualFold(m.State, "running") { copy := m instances = append(instances, &joyentInstance{machine: ©, env: env}) } } return instances, nil }
func (env *joyentEnviron) ControllerInstances(controllerUUID string) ([]instance.Id, error) { instanceIds := []instance.Id{} filter := cloudapi.NewFilter() filter.Set(tagKey("group"), "juju") filter.Set(tagKey(tags.JujuModel), controllerUUID) filter.Set(tagKey(tags.JujuIsController), "true") machines, err := env.compute.cloudapi.ListMachines(filter) if err != nil || len(machines) == 0 { return nil, environs.ErrNotBootstrapped } for _, m := range machines { if strings.EqualFold(m.State, "provisioning") || strings.EqualFold(m.State, "running") { copy := m ji := &joyentInstance{machine: ©, env: env} instanceIds = append(instanceIds, ji.Id()) } } return instanceIds, nil }
func (s *LocalTests) TestListImagesWithFilter(c *gc.C) { filter := cloudapi.NewFilter() filter.Set("os", "smartos") imgs, err := s.testClient.ListImages(filter) c.Assert(err, gc.IsNil) c.Assert(imgs, gc.NotNil) for _, img := range imgs { c.Check(img.Id, gc.FitsTypeOf, string("")) c.Check(img.Name, gc.FitsTypeOf, string("")) c.Check(img.OS, gc.Equals, "smartos") c.Check(img.Version, gc.FitsTypeOf, string("")) c.Check(img.Type, gc.FitsTypeOf, string("")) c.Check(img.Description, gc.FitsTypeOf, string("")) c.Check(img.Requirements, gc.FitsTypeOf, map[string]interface{}{"key": "value"}) c.Check(img.Homepage, gc.FitsTypeOf, string("")) c.Check(img.PublishedAt, gc.FitsTypeOf, string("")) c.Check(img.Public, gc.FitsTypeOf, bool(true)) c.Check(img.State, gc.FitsTypeOf, string("")) c.Check(img.Tags, gc.FitsTypeOf, map[string]string{"key": "value"}) c.Check(img.EULA, gc.FitsTypeOf, string("")) c.Check(img.ACL, gc.FitsTypeOf, []string{"", ""}) } }
func (s *LocalTests) TestListMachinesWithFilter(c *gc.C) { filter := cloudapi.NewFilter() filter.Set("memory", "1024") s.listMachines(c, filter) }