users

package
v1.1.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package users provides information and interaction with the users API resource for the OpenStack Identity Service.

Example to List Users

allPages, err := users.List(identityClient).AllPages()
if err != nil {
	panic(err)
}

allUsers, err := users.ExtractUsers(allPages)
if err != nil {
	panic(err)
}

for _, user := range allUsers {
	fmt.Printf("%+v\n", user)
}

Example to Create a User

createOpts := users.CreateOpts{
	Name:     "name",
	TenantID: "c39e3de9be2d4c779f1dfd6abacc176d",
	Enabled:  gophercloud.Enabled,
}

user, err := users.Create(identityClient, createOpts).Extract()
if err != nil {
	panic(err)
}

Example to Update a User

userID := "9fe2ff9ee4384b1894a90878d3e92bab"

updateOpts := users.UpdateOpts{
	Name:    "new_name",
	Enabled: gophercloud.Disabled,
}

user, err := users.Update(identityClient, userID, updateOpts).Extract()
if err != nil {
	panic(err)
}

Example to Delete a User

userID := "9fe2ff9ee4384b1894a90878d3e92bab"
err := users.Delete(identityClient, userID).ExtractErr()
if err != nil {
	panic(err)
}

Example to List a User's Roles

tenantID := "1d8b6120dcc640fda4fc9194ffc80273"
userID := "c39e3de9be2d4c779f1dfd6abacc176d"

allPages, err := users.ListRoles(identityClient, tenantID, userID).AllPages()
if err != nil {
	panic(err)
}

allRoles, err := users.ExtractRoles(allPages)
if err != nil {
	panic(err)
}

for _, role := range allRoles {
	fmt.Printf("%+v\n", role)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

List lists the existing users.

func ListRoles

func ListRoles(client *gophercloud.ServiceClient, tenantID, userID string) pagination.Pager

ListRoles lists the existing roles that can be assigned to users.

func ResourceURL

func ResourceURL(c *gophercloud.ServiceClient, id string) string

Types

type CommonOpts

type CommonOpts struct {
	// Either a name or username is required. When provided, the value must be
	// unique or a 409 conflict error will be returned. If you provide a name but
	// omit a username, the latter will be set to the former; and vice versa.
	Name     string `json:"name,omitempty"`
	Username string `json:"username,omitempty"`

	// TenantID is the ID of the tenant to which you want to assign this user.
	TenantID string `json:"tenantId,omitempty"`

	// Enabled indicates whether this user is enabled or not.
	Enabled *bool `json:"enabled,omitempty"`

	// Email is the email address of this user.
	Email string `json:"email,omitempty"`
}

CommonOpts are the parameters that are shared between CreateOpts and UpdateOpts

type CreateOpts

type CreateOpts CommonOpts

CreateOpts represents the options needed when creating new users.

func (CreateOpts) ToUserCreateMap

func (opts CreateOpts) ToUserCreateMap() (map[string]interface{}, error)

ToUserCreateMap assembles a request body based on the contents of a CreateOpts.

type CreateOptsBuilder

type CreateOptsBuilder interface {
	ToUserCreateMap() (map[string]interface{}, error)
}

CreateOptsBuilder allows extensions to add additional parameters to the Create request.

type CreateResult

type CreateResult struct {
	// contains filtered or unexported fields
}

CreateResult represents the result of a Create operation. Call its Extract method to interpret the result as a User.

func Create

func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)

Create is the operation responsible for creating new users.

func (CreateResult) Extract

func (r CreateResult) Extract() (*User, error)

Extract interprets any commonResult as a User, if possible.

type DeleteResult

type DeleteResult struct {
	// contains filtered or unexported fields
}

DeleteResult represents the result of a Delete operation. Call its ExtractErr method to determine if the request succeeded or failed.

func Delete

func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult)

Delete is the operation responsible for permanently deleting a User.

func (DeleteResult) Extract

func (r DeleteResult) Extract() (*User, error)

Extract interprets any commonResult as a User, if possible.

type GetResult

type GetResult struct {
	// contains filtered or unexported fields
}

GetResult represents the result of a Get operation. Call its Extract method to interpret the result as a User.

func Get

func Get(client *gophercloud.ServiceClient, id string) (r GetResult)

Get requests details on a single user, either by ID or Name.

func (GetResult) Extract

func (r GetResult) Extract() (*User, error)

Extract interprets any commonResult as a User, if possible.

type Role

type Role struct {
	// ID is the UUID of the role.
	ID string

	// Name is the name of the role.
	Name string
}

Role assigns specific responsibilities to users, allowing them to accomplish certain API operations whilst scoped to a service.

func ExtractRoles

func ExtractRoles(r pagination.Page) ([]Role, error)

ExtractRoles returns a slice of Roles contained in a single page of results.

type RolePage

type RolePage struct {
	pagination.SinglePageBase
}

RolePage is a single page of a user Role collection.

func (RolePage) IsEmpty

func (r RolePage) IsEmpty() (bool, error)

IsEmpty determines whether or not a page of Roles contains any results.

type UpdateOpts

type UpdateOpts CommonOpts

UpdateOpts specifies the base attributes that may be updated on an existing server.

func (UpdateOpts) ToUserUpdateMap

func (opts UpdateOpts) ToUserUpdateMap() (map[string]interface{}, error)

ToUserUpdateMap formats an UpdateOpts structure into a request body.

type UpdateOptsBuilder

type UpdateOptsBuilder interface {
	ToUserUpdateMap() (map[string]interface{}, error)
}

UpdateOptsBuilder allows extensions to add additional parameters to the Update request.

type UpdateResult

type UpdateResult struct {
	// contains filtered or unexported fields
}

UpdateResult represents the result of an Update operation. Call its Extract method to interpret the result as a User.

func Update

func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)

Update is the operation responsible for updating exist users by their ID.

func (UpdateResult) Extract

func (r UpdateResult) Extract() (*User, error)

Extract interprets any commonResult as a User, if possible.

type User

type User struct {
	// ID is the UUID for this user.
	ID string

	// Name is the human name for this user.
	Name string

	// Username is the username for this user.
	Username string

	// Enabled indicates whether the user is enabled (true) or disabled (false).
	Enabled bool

	// Email is the email address for this user.
	Email string

	// TenantID is the ID of the tenant to which this user belongs.
	TenantID string `json:"tenant_id"`
}

User represents a user resource that exists on the API.

func ExtractUsers

func ExtractUsers(r pagination.Page) ([]User, error)

ExtractUsers returns a slice of Users contained in a single page of results.

type UserPage

type UserPage struct {
	pagination.SinglePageBase
}

UserPage is a single page of a User collection.

func (UserPage) IsEmpty

func (r UserPage) IsEmpty() (bool, error)

IsEmpty determines whether or not a page of Users contains any results.

Directories

Path Synopsis
users unit tests
users unit tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL