apiaccess

package
v1.4.6 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIAccess

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

Structure for creating request to APIAccess

func New

func New(client interfaces.Caller) *APIAccess

Builder for APIAccess endpoints

func (APIAccess) APIFind

func (a APIAccess) APIFind(ctx context.Context, req APIFindRequest) ([]uint64, error)

APIFind outputs a list of apiaccess groups that mention the specified API function.

func (APIAccess) APIsExclude

func (a APIAccess) APIsExclude(ctx context.Context, req APIsExcludeRequest) (*APIsEndpoints, error)

APIsExclude removes the listed API functions from the specified apiaccess group.

func (APIAccess) APIsInclude

func (a APIAccess) APIsInclude(ctx context.Context, req APIsIncludeRequest) (*APIsEndpoints, error)

APIsInclude adds the listed API functions to the specified apiaccess group.

func (APIAccess) Copy

func (a APIAccess) Copy(ctx context.Context, req CopyRequest) (uint64, error)

Copy creates a copy of the specified apiaccess group with a new name (and a new unique ID).

func (APIAccess) Create

func (a APIAccess) Create(ctx context.Context, req CreateRequest) (uint64, error)

Create creates apiaccess group.

func (APIAccess) Delete

func (a APIAccess) Delete(ctx context.Context, req DeleteRequest) (bool, error)

Delete deletes apiaccess group

func (APIAccess) DescUpdate

func (a APIAccess) DescUpdate(ctx context.Context, req DescUpdateRequest) (bool, error)

DescUpdate sets a new text description of the apiaccess group.

func (APIAccess) Get

func (a APIAccess) Get(ctx context.Context, req GetRequest) (*ItemAPIAccess, error)

Get gets apiaccess group.

func (APIAccess) GetFull

func (a APIAccess) GetFull(ctx context.Context) (*APIsEndpoints, error)

GetFull gets full current endpoints dictionary

func (APIAccess) GetPreGroups

func (a APIAccess) GetPreGroups(ctx context.Context) (map[string]APIsEndpoints, error)

GetPreGroups gets list of pre default groups from spec

func (APIAccess) List

func (a APIAccess) List(ctx context.Context, req ListRequest) (*ListAPIAccess, error)

List gets list of all non deleted apiaccess instances.

func (APIAccess) ListDeleted

func (a APIAccess) ListDeleted(ctx context.Context, req ListDeletedRequest) (*ListAPIAccess, error)

ListDeleted gets list of all deleted apiaccess instances.

func (APIAccess) SetDefault

func (a APIAccess) SetDefault(ctx context.Context, req SetDefaultRequest) (bool, error)

SetDefault sets current apiaccess group default.

func (APIAccess) Subtruct

func (a APIAccess) Subtruct(ctx context.Context, req SubtractRequest) (*APIsEndpoints, error)

Subtract removes such APIs from MinuendID that match APIs from SubtrahendID.

func (APIAccess) Union

func (a APIAccess) Union(ctx context.Context, req UnionRequest) (*APIsEndpoints, error)

Combines the API list of group #1 ("recipient") and group #2 ("donor"), writing the result to group #1 and avoiding duplicates in the list

func (APIAccess) Update

func (a APIAccess) Update(ctx context.Context, req UpdateRequest) (bool, error)

Update updates apis of apiaccess group.

func (APIAccess) UserList

func (a APIAccess) UserList(ctx context.Context, req UserListRequest) ([]string, error)

UserList gets a list of users currently included in the specified group.

type APIFindRequest

type APIFindRequest struct {
	// API function to find
	// Example: cloudbroker/k8s/create
	// Required: true
	APIName string `url:"apiName" json:"apiName" validate:"required"`
}

Request struct for finding apiaccess groups.

type APIsEndpoints

type APIsEndpoints struct {
	// CloudAPI endpoints
	CloudAPI CloudAPIEndpoints `json:"cloudapi,omitempty"`

	// CloudBroker endpoints
	CloudBroker CloudBrokerEndpoints `json:"cloudbroker,omitempty"`

	// LibCloud endpoints
	LibCloud LibCloudEndpoints `json:"libcloud,omitempty"`

	// System endpoints
	System SystemEndpoints `json:"system,omitempty"`
}

type APIsExcludeRequest

type APIsExcludeRequest struct {
	// APIAccess group ID
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// APIs to remove from APIAccess group
	// Required: true
	APIs APIsEndpoints `url:"-" json:"-" validate:"required"`
}

Request struct for removing api from access group.

type APIsIncludeRequest

type APIsIncludeRequest struct {
	// APIAccess group ID.
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// APIs to add to APIAccess group.
	// Required: true
	APIs APIsEndpoints `url:"-" json:"-" validate:"required"`
}

Request struct for adding api to access group.

type CloudAPIEndpoints

type CloudAPIEndpoints struct {
	Account        []string `json:"account,omitempty"`
	BService       []string `json:"bservice,omitempty"`
	CloudSpace     []string `json:"cloudspace,omitempty"`
	Compute        []string `json:"compute,omitempty"`
	ComputeCI      []string `json:"computeci,omitempty"`
	Disks          []string `json:"disks,omitempty"`
	ExtNet         []string `json:"extnet,omitempty"`
	FLIPGroup      []string `json:"flipgroup,omitempty"`
	GPU            []string `json:"gpu,omitempty"`
	Image          []string `json:"image,omitempty"`
	K8CI           []string `json:"k8ci,omitempty"`
	K8S            []string `json:"k8s,omitempty"`
	KVMPPC         []string `json:"kvmppc,omitempty"`
	KVMX86         []string `json:"kvmx86,omitempty"`
	LB             []string `json:"lb,omitempty"`
	Loactions      []string `json:"locations,omitempty"`
	Machine        []string `json:"machine,omitempty"`
	Openshift      []string `json:"openshift,omitempty"`
	OpenshiftCI    []string `json:"openshiftci,omitempty"`
	PCIDevice      []string `json:"pcidevice,omitempty"`
	PortForwarding []string `json:"portforwarding,omitempty"`
	Prometheus     []string `json:"prometheus,omitempty"`
	RG             []string `json:"rg,omitempty"`
	Sizes          []string `json:"sizes,omitempty"`
	Tasks          []string `json:"tasks,omitempty"`
	User           []string `json:"user,omitempty"`
	VGPU           []string `json:"vgpu,omitempty"`
	VINS           []string `json:"vins,omitempty"`
	All            bool     `json:"ALL,omitempty"`
}

type CloudBrokerEndpoints

type CloudBrokerEndpoints struct {
	Account        []string `json:"account,omitempty"`
	APIAccess      []string `json:"apiaccess,omitempty"`
	Audit          []string `json:"audit,omitempty"`
	AuditBeat      []string `json:"auditbeat,omitempty"`
	AuditCollector []string `json:"auditcollector,omitempty"`
	BackupCreator  []string `json:"backupcreator,omitempty"`
	BService       []string `json:"bservice,omitempty"`
	CloudSpace     []string `json:"cloudspace,omitempty"`
	Compute        []string `json:"compute,omitempty"`
	ComputeCI      []string `json:"computeci,omitempty"`
	Desnode        []string `json:"desnode,omitempty"`
	Diagnostics    []string `json:"diagnostics,omitempty"`
	Disks          []string `json:"disks,omitempty"`
	Eco            []string `json:"eco,omitempty"`
	ExtNet         []string `json:"extnet,omitempty"`
	FlIPgroup      []string `json:"flipgroup,omitempty"`
	Grid           []string `json:"grid,omitempty"`
	Group          []string `json:"group,omitempty"`
	Health         []string `json:"health,omitempty"`
	IaaS           []string `json:"iaas,omitempty"`
	Image          []string `json:"image,omitempty"`
	Job            []string `json:"job,omitempty"`
	K8CI           []string `json:"k8ci,omitempty"`
	K8S            []string `json:"k8s,omitempty"`
	KVMPPC         []string `json:"kvmppc,omitempty"`
	KVMX86         []string `json:"kvmx86,omitempty"`
	LB             []string `json:"lb,omitempty"`
	Machine        []string `json:"machine,omitempty"`
	Metering       []string `json:"metering,omitempty"`
	Milestones     []string `json:"milestones,omitempty"`
	Node           []string `json:"node,omitempty"`
	Openshift      []string `json:"openshift,omitempty"`
	OpenshiftCI    []string `json:"openshiftci,omitempty"`
	Ovsnode        []string `json:"ovsnode,omitempty"`
	PCIDevice      []string `json:"pcidevice,omitempty"`
	PGPU           []string `json:"pgpu,omitempty"`
	Prometheus     []string `json:"prometheus,omitempty"`
	QOS            []string `json:"qos,omitempty"`
	Resmon         []string `json:"resmon,omitempty"`
	RG             []string `json:"rg,omitempty"`
	Sep            []string `json:"sep,omitempty"`
	Stack          []string `json:"stack,omitempty"`
	Tasks          []string `json:"tasks,omitempty"`
	TLock          []string `json:"tlock,omitempty"`
	User           []string `json:"user,omitempty"`
	VGPU           []string `json:"vgpu,omitempty"`
	VINS           []string `json:"vins,omitempty"`
	VNFDev         []string `json:"vnfdev,omitempty"`
	ZeroAccess     []string `json:"zeroaccess,omitempty"`
	All            bool     `json:"ALL,omitempty"`
}

type CopyRequest

type CopyRequest struct {
	// ID of the API access group to make copy from
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// Name of the target API access group, which will be created on successful copy
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`
}

Request struct for copying apiaccess group.

type CreateRequest

type CreateRequest struct {
	// Name of this apiaccess group.
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`

	// Description of this apiaccess group.
	// Required: false
	Description string `url:"desc,omitempty" json:"desc,omitempty"`
}

Request struct for creating apiaccess group.

type DeleteRequest

type DeleteRequest struct {
	// APIAccess group ID.
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// Set True to delete apiaccess group with attached users.
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`
}

Request struct for deleting apiaccess group.

type DescUpdateRequest

type DescUpdateRequest struct {
	// APIAccess group ID.
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// New description to set for the apiaccess group.
	// Required: true
	Description string `url:"desc" json:"desc" validate:"required"`
}

Request struct for updating apiaccess group description.

type GetRequest

type GetRequest struct {
	// APIAccess group ID.
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`
}

Request struct for getting apiaccess group.

type ItemAPIAccess

type ItemAPIAccess struct {
	// APIs
	APIs APIsEndpoints `json:"apis"`

	// Created by
	CreatedBy string `json:"createdBy"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Is default
	Default bool `json:"default"`

	// Deleted by
	DeletedBy string `json:"deletedBy"`

	// Deleted time
	DeletedTime uint64 `json:"deletedTime"`

	// Description
	Description string `json:"decs"`

	// GID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Is protected
	Protected bool `json:"protected"`

	// Status
	Status string `json:"status"`

	//Updated by
	UpdatedBy string `json:"updatedBy"`

	// Updated time
	UpdatedTime uint64 `json:"updatedTime"`
}

type LibCloudEndpoints

type LibCloudEndpoints struct {
	Libvirt []string `json:"libvirt,omitempty"`
	All     bool     `json:"ALL,omitempty"`
}

type ListAPIAccess

type ListAPIAccess struct {
	Data []ItemAPIAccess `json:"data"`

	EntryCount uint64 `json:"entryCount"`
}

type ListDeletedRequest

type ListDeletedRequest struct {
	// Page number.
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size.
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

Request struct for getting list of all deleted apiaccess instances.

type ListRequest

type ListRequest struct {
	// Find by ID
	// Required: false
	ByID uint64 `url:"by_id,omitempty" json:"by_id,omitempty"`

	// Find by name apiaccess
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// Find by status apiaccess
	// Required: false
	Status string `url:"status,omitempty" json:"status,omitempty"`

	// Find by created actor
	// Required: false
	CreatedBy string `url:"createdBy,omitempty" json:"createdBy,omitempty"`

	// Find by created after time (unix timestamp)
	// Required: false
	CreatedAfter uint64 `url:"createdAfter,omitempty" json:"createdAfter,omitempty"`

	// Find by created before time (unix timestamp)
	// Required: false
	CreatedBefore uint64 `url:"createdBefore,omitempty" json:"createdBefore,omitempty"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size, maximum - 100
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

Request struct for getting list of all non deleted apiaccess instances.

type SetDefaultRequest

type SetDefaultRequest struct {
	// APIAccess group ID
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`
}

Reqeust struct for setting default apiaccess group.

type SubtractRequest

type SubtractRequest struct {
	// ID of the API access group to subtract from. This group will contain the difference.
	MinuendID uint64 `url:"minuendId" json:"minuendId" validate:"required"`

	// ID of the API access group which is subtracted. This group is unchanged.
	SubtrahendID uint64 `url:"subtrahendId" json:"subtrahendId" validate:"required"`
}

Request struct for subtracting.

type SystemEndpoints

type SystemEndpoints struct {
	AgentController       []string `json:"agentcontroller,omitempty"`
	Alerts                []string `json:"alerts,omitempty"`
	Audits                []string `json:"audits,omitempty"`
	ContentManager        []string `json:"contentmanager,omitempty"`
	DocGenerator          []string `json:"docgenerator,omitempty"`
	EmailSender           []string `json:"emailsender,omitempty"`
	ErrorConditionHandler []string `json:"errorconditionhandler,omitempty"`
	GridManager           []string `json:"gridmanager,omitempty"`
	Health                []string `json:"health,omitempty"`
	Info                  []string `json:"info,omitempty"`
	InfoMGR               []string `json:"infomgr,omitempty"`
	Job                   []string `json:"job,omitempty"`
	Log                   []string `json:"log,omitempty"`
	Oauth                 []string `json:"oauth,omitempty"`
	Task                  []string `json:"task,omitempty"`
	UserManager           []string `json:"usermanager,omitempty"`
	All                   bool     `json:"ALL,omitempty"`
}

type UnionRequest

type UnionRequest struct {
	// Recipient apiaccess group ID
	// Required: true
	RecipientID uint64 `url:"recipientId" json:"recipientId" validate:"required"`

	// Donor apiaccess group ID
	// Required: true
	DonorID uint64 `url:"donorId" json:"donorId" validate:"required"`
}

Request struct for union.

type UpdateRequest

type UpdateRequest struct {
	// APIAccess group ID
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`

	// APIs to remove from APIAccess group
	// Required: false
	APIs APIsEndpoints `url:"-" json:"-"`
}

Request struct for updating apis of apiaccess group.

type UserListRequest

type UserListRequest struct {
	// APIAccess group ID
	// Required: true
	APIAccessID uint64 `url:"apiaccessId" json:"apiaccessId" validate:"required"`
}

Request struct for getting a list of users currently included in the specified group.

Jump to

Keyboard shortcuts

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