Documentation
¶
Index ¶
- Variables
- type Client
- type Config
- type Group
- type GroupFilterResults
- type GroupMemberChange
- type GroupMemberChangeMember
- type GroupMemberChangeOperation
- type GroupReplace
- type GroupReplaceOperation
- type GroupReplaceValue
- type HttpClient
- type OperationType
- type User
- type UserAddress
- type UserEmail
- type UserFilterResults
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
AddUserToGroup(*User, *Group) error
CreateGroup(*Group) (*Group, error)
UpdateGroup(*Group) error
CreateUser(*User) (*User, error)
DeleteGroup(*Group) error
DeleteUser(*User) error
FindGroupByDisplayName(string) (*Group, error)
FindUserByEmail(string) (*User, error)
FindUserByID(string) (*User, error)
GetUsers() ([]*User, error)
GetGroupMembers(*Group) ([]*User, error)
IsUserInGroup(*User, *Group) (bool, error)
GetGroups() ([]*Group, error)
UpdateUser(*User) (*User, error)
RemoveUserFromGroup(*User, *Group) error
}
Client represents an interface of methods used to communicate with AWS SSO
type Config ¶
Config specifes the configuration needed for AWS SSO SCIM
func ReadConfigFromFile ¶
ReadConfigFromFile will read a TOML file into the Config Struct
type Group ¶
type Group struct {
ID string `json:"id,omitempty"`
Schemas []string `json:"schemas"`
DisplayName string `json:"displayName"`
Members []string `json:"members"`
}
Group represents a Group in AWS SSO
type GroupFilterResults ¶
type GroupFilterResults struct {
Schemas []string `json:"schemas"`
TotalResults int `json:"totalResults"`
ItemsPerPage int `json:"itemsPerPage"`
StartIndex int `json:"startIndex"`
Resources []Group `json:"Resources"`
}
GroupFilterResults represents filtered results when we search for groups or List all groups
type GroupMemberChange ¶
type GroupMemberChange struct {
Schemas []string `json:"schemas"`
Operations []GroupMemberChangeOperation `json:"Operations"`
}
GroupMemberChange represents a change operation for a group
type GroupMemberChangeMember ¶
type GroupMemberChangeMember struct {
Value string `json:"value"`
}
GroupMemberChangeMember is a value needed for the ID of the member to add/remove
type GroupMemberChangeOperation ¶
type GroupMemberChangeOperation struct {
Operation string `json:"op"`
Path string `json:"path"`
Members []GroupMemberChangeMember `json:"value"`
}
GroupMemberChangeOperation details the operation to take place on a group
type GroupReplace ¶
type GroupReplace struct {
Schemas []string `json:"schemas"`
Operations []GroupReplaceOperation `json:"Operations"`
}
GroupReplace structs for Group replace patch operation
type GroupReplaceOperation ¶
type GroupReplaceOperation struct {
Operation string `json:"op"`
Group GroupReplaceValue `json:"value"`
}
type GroupReplaceValue ¶
type HttpClient ¶
HttpClient is a generic HTTP Do interface
type OperationType ¶
type OperationType string
OperationType handle patch operations for add/remove groupe members
const ( // OperationAdd is the add operation for a patch OperationAdd OperationType = "add" // OperationRemove is the remove operation for a patch OperationRemove OperationType = "remove" // OperationRemove is the replace operation for a patch OperationReplace OperationType = "replace" )
type User ¶
type User struct {
ID string `json:"id,omitempty"`
Schemas []string `json:"schemas"`
Username string `json:"userName"`
Name struct {
FamilyName string `json:"familyName"`
GivenName string `json:"givenName"`
} `json:"name"`
DisplayName string `json:"displayName"`
Active bool `json:"active"`
Emails []UserEmail `json:"emails"`
Addresses []UserAddress `json:"addresses"`
}
User represents a User in AWS SSO
type UserAddress ¶
type UserAddress struct {
Type string `json:"type"`
}
UserAddress represents address values of users
type UserEmail ¶
type UserEmail struct {
Value string `json:"value"`
Type string `json:"type"`
Primary bool `json:"primary"`
}
UserEmail represents a user email address
type UserFilterResults ¶
type UserFilterResults struct {
Schemas []string `json:"schemas"`
TotalResults int `json:"totalResults"`
ItemsPerPage int `json:"itemsPerPage"`
StartIndex int `json:"startIndex"`
Resources []User `json:"Resources"`
}
UserFilterResults represents filtered results when we search for users or List all users