apiaccess

package
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2025 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 as an ItemAPIAccess struct

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) GetRaw added in v1.6.6

func (a APIAccess) GetRaw(ctx context.Context, req GetRequest) ([]byte, error)

GetRaw gets apiaccess group as an array of bytes

func (APIAccess) List

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

List gets list of all non deleted apiaccess instances as a ListAPIAccess struct

func (APIAccess) ListDeleted

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

ListDeleted gets list of all deleted apiaccess instances.

func (APIAccess) ListRaw added in v1.6.6

func (a APIAccess) ListRaw(ctx context.Context, req ListRequest) ([]byte, error)

ListRaw gets list of all non deleted apiaccess instances as an array of bytes

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)

Union 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"`
}

APIFindRequest struct for finding apiaccess groups.

type APIString added in v1.6.7

type APIString string

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 APIString `url:"-" json:"apis" validate:"required"`
}

APIsExcludeRequest 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 APIString `url:"-" json:"apis" validate:"required"`
}

APIsIncludeRequest 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"`
	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          interface{} `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            interface{} `json:"job,omitempty"`
	K8CI           []string    `json:"k8ci,omitempty"`
	K8S            []string    `json:"k8s,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         interface{} `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"`
}

CopyRequest Request 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"`
}

CreateRequest 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"`
}

DeleteRequest 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"`
}

DescUpdateRequest struct for updating apiaccess group description.

type GetRequest

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

GetRequest struct to get 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"`
}

func (ListAPIAccess) IDs added in v1.6.8

func (laa ListAPIAccess) IDs() []uint64

IDs gets array of APIAccessId from ListAPIAccess struct

type ListDeletedRequest

type ListDeletedRequest struct {
	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

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

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

ListDeletedRequest 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"`

	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

	// 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"`
}

ListRequest struct to get 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"`
}

SetDefaultRequest 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"`
}

SubtractRequest 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"`
}

UnionRequest 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:"-"`
}

UpdateRequest 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"`

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

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

UserListRequest 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