iamuumv2

package
v0.0.0-...-e6eb724 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AccessGroupMemberUser    = "user"
	AccessGroupMemberService = "service"
)
View Source
const ErrCodeAPICreation = "APICreationError"

ErrCodeAPICreation ...

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessGroupMemberRepositoryV2

type AccessGroupMemberRepositoryV2 interface {
	List(groupID string) ([]models.AccessGroupMemberV2, error)
	Add(groupID string, request AddGroupMemberRequestV2) (AddGroupMemberResponseV2, error)
	Remove(groupID string, memberID string) error
}

func NewAccessGroupMemberRepository

func NewAccessGroupMemberRepository(c *client.Client) AccessGroupMemberRepositoryV2

type AccessGroupRepository

type AccessGroupRepository interface {
	List(accountID string) ([]models.AccessGroupV2, error)
	Create(group models.AccessGroupV2, accountID string) (*models.AccessGroupV2, error)
	FindByName(name string, accountID string) ([]models.AccessGroupV2, error)
	Delete(accessGroupID string, recursive bool) error
	Update(accessGroupID string, group AccessGroupUpdateRequest, revision string) (models.AccessGroupV2, error)
	Get(accessGroupID string) (group *models.AccessGroupV2, revision string, err error)
}

func NewAccessGroupRepository

func NewAccessGroupRepository(c *client.Client) AccessGroupRepository

type AccessGroupUpdateRequest

type AccessGroupUpdateRequest struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type AddGroupMemberRequestV2

type AddGroupMemberRequestV2 struct {
	Members []models.AccessGroupMemberV2 `json:"members"`
}

type AddGroupMemberResponseV2

type AddGroupMemberResponseV2 struct {
	Members []AddedGroupMemberV2 `json:"members"`
}

type AddedGroupMemberV2

type AddedGroupMemberV2 struct {
	ID          string  `json:"iam_id"`
	Type        string  `json:"type"`
	Href        string  `json:"href,omitempty"`
	StatusCode  int     `json:"status_code,omitempty"`
	Trace       string  `json:"trace,omitempty"`
	CreatedAt   string  `json:"created_at,omitempty"`
	CreatedByID string  `json:"created_by_id,omitempty"`
	Errors      []Error `json:"errors,omitempty"`
}

type Condition

type Condition struct {
	Claim    string `json:"claim"`
	Operator string `json:"operator"`
	Value    string `json:"value,omitempty"`
}

type CreateRuleRequest

type CreateRuleRequest struct {
	Name       string      `json:"name"`
	Expiration int         `json:"expiration"`
	RealmName  string      `json:"realm_name,omitempty"`
	Conditions []Condition `json:"conditions,omitempty"`
}

type CreateRuleResponse

type CreateRuleResponse struct {
	CreateRuleRequest
	RuleID           string `json:"id"`
	AccessGroupID    string `json:"access_group_id"`
	AccountID        string `json:"account_id"`
	CreatedAt        string `json:"created_at"`
	CreatedByID      string `json:"created_by_id"`
	LastModifiedAt   string `json:"last_modified_at"`
	LastModifiedByID string `json:"last_modified_by_id"`
}

type DynamicRuleRepository

type DynamicRuleRepository interface {
	Create(groupID string, request CreateRuleRequest) (CreateRuleResponse, error)
	List(groupID string) ([]CreateRuleResponse, error)
	Get(groupID, ruleID string) (CreateRuleResponse, string, error)
	Replace(groupID, ruleID string, request CreateRuleRequest, etag string) (CreateRuleResponse, error)
	Delete(groupID, ruleID string) error
}

func NewDynamicRuleRepository

func NewDynamicRuleRepository(c *client.Client) DynamicRuleRepository

type Error

type Error struct {
	Code    string `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
}

type GetResponse

type GetResponse struct {
	Rules []CreateRuleResponse `json:"rules"`
}

type GroupMembers

type GroupMembers struct {
	PaginationFields
	Members []models.AccessGroupMemberV2 `json:"members"`
}

func (*GroupMembers) Resources

func (gm *GroupMembers) Resources() []interface{}

type Groups

type Groups struct {
	PaginationFields
	Groups []models.AccessGroupV2 `json:"groups"`
}

func (*Groups) Resources

func (g *Groups) Resources() []interface{}

type IAMUUMServiceAPIv2

type IAMUUMServiceAPIv2 interface {
	AccessGroup() AccessGroupRepository
	AccessGroupMember() AccessGroupMemberRepositoryV2
	DynamicRule() DynamicRuleRepository
}

IAMUUMServiceAPIv2 is the resource client ...

func New

New ...

type PaginatedResources

type PaginatedResources interface {
	NextPath() (string, error)
	Resources() []interface{}
}

type PaginatedResourcesHandler

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

func NewPaginatedResourcesHandler

func NewPaginatedResourcesHandler(resources PaginatedResources) PaginatedResourcesHandler

func (PaginatedResourcesHandler) Resources

func (pr PaginatedResourcesHandler) Resources(bytes []byte, curPath string) ([]interface{}, string, error)

type PaginationFields

type PaginationFields struct {
	First    PaginationHref `json:"first"`
	Last     PaginationHref `json:"last"`
	Next     PaginationHref `json:"next"`
	Previous PaginationHref `json:"previous"`

	Offset     int `json:"offset"`
	Limit      int `json:"limit"`
	TotalCount int `json:"total_count"`
}

func (*PaginationFields) NextPath

func (p *PaginationFields) NextPath() (string, error)

type PaginationHref

type PaginationHref struct {
	Href string `json:"href"`
}

Jump to

Keyboard shortcuts

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