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