github.com/gophercloud/gophercloud@v1.11.0/openstack/identity/v3/users/doc.go (about) 1 /* 2 Package users manages and retrieves Users in the OpenStack Identity Service. 3 4 Example to List Users 5 6 listOpts := users.ListOpts{ 7 DomainID: "default", 8 } 9 10 allPages, err := users.List(identityClient, listOpts).AllPages() 11 if err != nil { 12 panic(err) 13 } 14 15 allUsers, err := users.ExtractUsers(allPages) 16 if err != nil { 17 panic(err) 18 } 19 20 for _, user := range allUsers { 21 fmt.Printf("%+v\n", user) 22 } 23 24 Example to Create a User 25 26 projectID := "a99e9b4e620e4db09a2dfb6e42a01e66" 27 28 createOpts := users.CreateOpts{ 29 Name: "username", 30 DomainID: "default", 31 DefaultProjectID: projectID, 32 Enabled: gophercloud.Enabled, 33 Password: "supersecret", 34 Extra: map[string]interface{}{ 35 "email": "username@example.com", 36 } 37 } 38 39 user, err := users.Create(identityClient, createOpts).Extract() 40 if err != nil { 41 panic(err) 42 } 43 44 Example to Update a User 45 46 userID := "0fe36e73809d46aeae6705c39077b1b3" 47 48 updateOpts := users.UpdateOpts{ 49 Enabled: gophercloud.Disabled, 50 } 51 52 user, err := users.Update(identityClient, userID, updateOpts).Extract() 53 if err != nil { 54 panic(err) 55 } 56 57 Example to Change Password of a User 58 59 userID := "0fe36e73809d46aeae6705c39077b1b3" 60 originalPassword := "secretsecret" 61 password := "new_secretsecret" 62 63 changePasswordOpts := users.ChangePasswordOpts{ 64 OriginalPassword: originalPassword, 65 Password: password, 66 } 67 68 err := users.ChangePassword(identityClient, userID, changePasswordOpts).ExtractErr() 69 if err != nil { 70 panic(err) 71 } 72 73 Example to Delete a User 74 75 userID := "0fe36e73809d46aeae6705c39077b1b3" 76 err := users.Delete(identityClient, userID).ExtractErr() 77 if err != nil { 78 panic(err) 79 } 80 81 Example to List Groups a User Belongs To 82 83 userID := "0fe36e73809d46aeae6705c39077b1b3" 84 85 allPages, err := users.ListGroups(identityClient, userID).AllPages() 86 if err != nil { 87 panic(err) 88 } 89 90 allGroups, err := groups.ExtractGroups(allPages) 91 if err != nil { 92 panic(err) 93 } 94 95 for _, group := range allGroups { 96 fmt.Printf("%+v\n", group) 97 } 98 99 Example to Add a User to a Group 100 101 groupID := "bede500ee1124ae9b0006ff859758b3a" 102 userID := "0fe36e73809d46aeae6705c39077b1b3" 103 err := users.AddToGroup(identityClient, groupID, userID).ExtractErr() 104 105 if err != nil { 106 panic(err) 107 } 108 109 Example to Check Whether a User Belongs to a Group 110 111 groupID := "bede500ee1124ae9b0006ff859758b3a" 112 userID := "0fe36e73809d46aeae6705c39077b1b3" 113 ok, err := users.IsMemberOfGroup(identityClient, groupID, userID).Extract() 114 if err != nil { 115 panic(err) 116 } 117 118 if ok { 119 fmt.Printf("user %s is a member of group %s\n", userID, groupID) 120 } 121 122 Example to Remove a User from a Group 123 124 groupID := "bede500ee1124ae9b0006ff859758b3a" 125 userID := "0fe36e73809d46aeae6705c39077b1b3" 126 err := users.RemoveFromGroup(identityClient, groupID, userID).ExtractErr() 127 128 if err != nil { 129 panic(err) 130 } 131 132 Example to List Projects a User Belongs To 133 134 userID := "0fe36e73809d46aeae6705c39077b1b3" 135 136 allPages, err := users.ListProjects(identityClient, userID).AllPages() 137 if err != nil { 138 panic(err) 139 } 140 141 allProjects, err := projects.ExtractProjects(allPages) 142 if err != nil { 143 panic(err) 144 } 145 146 for _, project := range allProjects { 147 fmt.Printf("%+v\n", project) 148 } 149 150 Example to List Users in a Group 151 152 groupID := "bede500ee1124ae9b0006ff859758b3a" 153 listOpts := users.ListOpts{ 154 DomainID: "default", 155 } 156 157 allPages, err := users.ListInGroup(identityClient, groupID, listOpts).AllPages() 158 if err != nil { 159 panic(err) 160 } 161 162 allUsers, err := users.ExtractUsers(allPages) 163 if err != nil { 164 panic(err) 165 } 166 167 for _, user := range allUsers { 168 fmt.Printf("%+v\n", user) 169 } 170 */ 171 package users