Documentation ¶
Overview ¶
Package federation provides information and interaction with OS-FEDERATION API for the Openstack Identity service.
Example to List Mappings
allPages, err := federation.ListMappings(identityClient).AllPages() if err != nil { panic(err) } allMappings, err := federation.ExtractMappings(allPages) if err != nil { panic(err) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListMappings ¶
func ListMappings(client *gophercloud.ServiceClient) pagination.Pager
ListMappings enumerates the mappings.
Types ¶
type Group ¶
type Group struct { // Group ID to which the rule should match. // This is mutually exclusive with Name and Domain. ID string `json:"id,omitempty"` // Group Name to which the rule should match. // This is mutually exclusive with ID. Name string `json:"name,omitempty"` // Group Domain to which the rule should match. // This is mutually exclusive with ID. Domain *Domain `json:"domain,omitempty"` }
type Mapping ¶
type Mapping struct { // The Federation Mapping unique ID ID string `json:"id"` // Links contains referencing links to the limit. Links map[string]interface{} `json:"links"` // The list of rules used to map remote users into local users Rules []MappingRule `json:"rules"` }
Mapping a set of rules to map federation protocol attributes to Identity API objects.
func ExtractMappings ¶
func ExtractMappings(r pagination.Page) ([]Mapping, error)
ExtractMappings returns a slice of Mappings contained in a single page of results.
type MappingRule ¶
type MappingRule struct { // References a local Identity API resource, such as a group or user to which the remote attributes will be mapped. Local []RuleLocal `json:"local"` // Each object contains a rule for mapping remote attributes to Identity API concepts. Remote []RuleRemote `json:"remote"` }
type MappingsPage ¶
type MappingsPage struct {
pagination.LinkedPageBase
}
MappingsPage is a single page of Mapping results.
func (MappingsPage) IsEmpty ¶
func (c MappingsPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of Mappings contains any results.
func (MappingsPage) NextPageURL ¶
func (c MappingsPage) NextPageURL() (string, error)
NextPageURL extracts the "next" link from the links section of the result.
type RuleLocal ¶
type RuleLocal struct { // Domain to which the remote attributes will be matched. Domain *Domain `json:"domain,omitempty"` // Group to which the remote attributes will be matched. Group *Group `json:"group,omitempty"` // Group IDs to which the remote attributes will be matched. GroupIDs string `json:"group_ids,omitempty"` // Groups to which the remote attributes will be matched. Groups string `json:"groups,omitempty"` // Projects to which the remote attributes will be matched. Projects []RuleProject `json:"projects,omitempty"` // User to which the remote attributes will be matched. User *RuleUser `json:"user,omitempty"` }
type RuleProject ¶
type RuleProject struct { // Project name Name string `json:"name,omitempty"` // Project roles Roles []RuleProjectRole `json:"roles,omitempty"` }
type RuleProjectRole ¶
type RuleProjectRole struct { // Role name Name string `json:"name,omitempty"` }
type RuleRemote ¶
type RuleRemote struct { // Type represents an assertion type keyword. Type string `json:"type"` // If true, then each string will be evaluated as a regular expression search against the remote attribute type. Regex *bool `json:"regex,omitempty"` // The rule is matched only if any of the specified strings appear in the remote attribute type. // This is mutually exclusive with NotAnyOf. AnyOneOf []string `json:"any_one_of,omitempty"` // The rule is not matched if any of the specified strings appear in the remote attribute type. // This is mutually exclusive with AnyOneOf. NotAnyOf []string `json:"not_any_of,omitempty"` // The rule works as a filter, removing any specified strings that are listed there from the remote attribute type. // This is mutually exclusive with Whitelist. Blacklist []string `json:"blacklist,omitempty"` // The rule works as a filter, allowing only the specified strings in the remote attribute type to be passed ahead. // This is mutually exclusive with Blacklist. Whitelist []string `json:"whitelist,omitempty"` }
Click to show internal directories.
Click to hide internal directories.