Documentation ¶
Overview ¶
Package members enables management and retrieval of image members.
Members are projects other than the image owner who have access to the image.
Example to List Members of an Image
imageID := "2b6cacd4-cfd6-4b95-8302-4c04ccf0be3f" allPages, err := members.List(imageID).AllPages() if err != nil { panic(err) } allMembers, err := members.ExtractMembers(allPages) if err != nil { panic(err) } for _, member := range allMembers { fmt.Printf("%+v\n", member) }
Example to Add a Member to an Image
imageID := "2b6cacd4-cfd6-4b95-8302-4c04ccf0be3f" projectID := "fc404778935a4cebaddcb4788fb3ff2c" member, err := members.Create(imageClient, imageID, projectID).Extract() if err != nil { panic(err) }
Example to Update the Status of a Member
imageID := "2b6cacd4-cfd6-4b95-8302-4c04ccf0be3f" projectID := "fc404778935a4cebaddcb4788fb3ff2c" updateOpts := members.UpdateOpts{ Status: "accepted", } member, err := members.Update(imageClient, imageID, projectID, updateOpts).Extract() if err != nil { panic(err) }
Example to Delete a Member from an Image
imageID := "2b6cacd4-cfd6-4b95-8302-4c04ccf0be3f" projectID := "fc404778935a4cebaddcb4788fb3ff2c" err := members.Delete(imageClient, imageID, projectID).ExtractErr() if err != nil { panic(err) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *golangsdk.ServiceClient, imageID string) pagination.Pager
List members returns list of members for specified image id.
Types ¶
type CreateOpts ¶ added in v0.5.0
type CreateOpts struct {
Member string `json:"member" required:"true"`
}
func (CreateOpts) ToImageMemberCreateMap ¶ added in v0.5.0
func (opts CreateOpts) ToImageMemberCreateMap() (map[string]interface{}, error)
type CreateOptsBuilder ¶ added in v0.5.0
Create member for specific image Preconditions * The specified images must exist. * You can only add a new member to an image which 'visibility' attribute is private. * You must be the owner of the specified image. Synchronous Postconditions With correct permissions, you can see the member status of the image as pending through API calls. More details here: http://developer.openstack.org/api-ref-image-v2.html#createImageMember-v2
CreateOptsBuilder allows extensions to add 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 it as a Member.
func Create ¶
func Create(client *golangsdk.ServiceClient, imageID string, opts CreateOptsBuilder) (r CreateResult)
type DeleteResult ¶
type DeleteResult struct {
golangsdk.ErrResult
}
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 *golangsdk.ServiceClient, imageID string, memberID string) (r DeleteResult)
Delete membership for given image. Callee should be image owner.
type DetailsResult ¶
type DetailsResult struct {
// contains filtered or unexported fields
}
DetailsResult represents the result of a Get operation. Call its Extract method to interpret it as a Member.
func Get ¶
func Get(client *golangsdk.ServiceClient, imageID string, memberID string) (r DetailsResult)
Get image member details.
type Member ¶
type Member struct { CreatedAt string `json:"created_at"` ImageID string `json:"image_id"` MemberID string `json:"member_id"` Schema string `json:"schema"` Status string `json:"status"` UpdatedAt string `json:"updated_at"` }
Member represents a member of an Image.
func ExtractMembers ¶
func ExtractMembers(r pagination.Page) ([]Member, error)
ExtractMembers returns a slice of Members contained in a single page of results.
type MemberPage ¶
type MemberPage struct {
pagination.SinglePageBase
}
MemberPage is a single page of Members results.
func (MemberPage) IsEmpty ¶
func (r MemberPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a MemberPage contains any results.
type UpdateOpts ¶
type UpdateOpts struct { Status string `json:"status" required:"true"` VaultID string `json:"vault_id,omitempty"` }
UpdateOpts represents options to an Update request.
func (UpdateOpts) ToImageMemberUpdateMap ¶
func (opts UpdateOpts) ToImageMemberUpdateMap() (map[string]interface{}, error)
ToImageMemberUpdateMap formats an UpdateOpts structure into a request body.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional attributes 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 it as a Member.
func Update ¶
func Update(client *golangsdk.ServiceClient, imageID string, memberID string, opts UpdateOptsBuilder) (r UpdateResult)
Update function updates member.