api

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: Apache-2.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlertPoliciesInterface

type AlertPoliciesInterface interface {
	// List returns a list of alert policies within the ObjectScale object store.
	List(ctx context.Context, params map[string]string) (*model.AlertPolicies, error)

	// Get returns the Alert Policy
	Get(ctx context.Context, policyName string) (*model.AlertPolicy, error)

	// Create creates an Alert Policy and returns it
	Create(ctx context.Context, payload model.AlertPolicy) (*model.AlertPolicy, error)

	// Delete deletes an Alert Policy
	Delete(ctx context.Context, policyName string) error

	// Update updates an Alert Policy and returns it
	Update(ctx context.Context, payload model.AlertPolicy, policyName string) (*model.AlertPolicy, error)
}

AlertPoliciesInterface represents a alert policy resource client interface.

type BucketsInterface

type BucketsInterface interface {
	// List returns a list of buckets within the ObjectScale object store
	List(ctx context.Context, params map[string]string) (*model.BucketList, error)

	// GetPolicy returns current policy for a bucket as json string.
	GetPolicy(ctx context.Context, bucketName string, param map[string]string) (string, error)

	// UpdatePolicy adds/replaces new policy to the existing bucket.
	UpdatePolicy(ctx context.Context, bucketName string, policy string, param map[string]string) error

	// DeletePolicy removes a policy from an existing bucket.
	DeletePolicy(ctx context.Context, bucketName string, param map[string]string) error

	// Get returns a bucket in the ObjectScale object store
	Get(ctx context.Context, name string, params map[string]string) (*model.Bucket, error)

	// Create creates a new bucket in the ObjectScale object store
	Create(ctx context.Context, createParam model.Bucket) (*model.Bucket, error)

	// Delete deletes bucket from the ObjectScale object store
	Delete(ctx context.Context, name string, namespace string, emptyBucket bool) error

	// GetQuota Gets the quota for the given bucket and namespace.
	GetQuota(ctx context.Context, bucketName string, namespace string) (*model.BucketQuotaInfo, error)

	// UpdateQuota Updates the quota for the specified bucket.
	UpdateQuota(ctx context.Context, bucketQuota model.BucketQuotaUpdate) error

	// DeleteQuota Deletes the quota setting for the given bucket and namespace.
	DeleteQuota(ctx context.Context, bucketName string, namespace string) error
}

BucketsInterface represents a bucket resource client interface.

type CRRInterface

type CRRInterface interface {
	// PauseReplication temporarily pauses source and destination object stores' replication communication
	// pauses for the provided future epoch time in milliseconds
	PauseReplication(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) error

	// SuspendReplication suspends source and destination object stores' replication communication
	SuspendReplication(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) error

	// ResumeReplication resumes source and destination object stores' replication communication
	ResumeReplication(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) error

	// UnthrottleReplication resumes resumes replication sans any configured throttle cap
	UnthrottleReplication(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) error

	// ThrottleReplication throttles source and destination object stores' replication communication
	// throttles the provided MB per second
	ThrottleReplication(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) error

	// Get returns the replication configuration regarding pause/resume/suspend/throttle information
	Get(ctx context.Context, destObjectScale string, destObjectStore string, param map[string]string) (*model.CRR, error)
}

CRRInterface represents an interface for Cross Region Replication (CRR).

type ClientSet

type ClientSet interface {
	// Buckets returns a bucket client interface
	Buckets() BucketsInterface
	ObjectUser() ObjectUserInterface
	Tenants() TenantsInterface
	ObjectMt() ObjmtInterface
	AlertPolicies() AlertPoliciesInterface
	CRR() CRRInterface
	Status() StatusInterface
	FederatedObjectStores() FederatedObjectStoresInterface
}

ClientSet represents a client interface of supported resources.

type FederatedObjectStoresInterface

type FederatedObjectStoresInterface interface {
	// List returns a list of federated object stores
	List(ctx context.Context, params map[string]string) (*model.FederatedObjectStoreList, error)
}

FederatedObjectStoresInterface represents a replication store client interface.

type ObjectUserInterface

type ObjectUserInterface interface {
	// List returns a list of object users within the ObjectScale object store.
	List(ctx context.Context, params map[string]string) (*model.ObjectUserList, error)

	// GetInfo returns information about an object user within the ObjectScale object store.
	GetInfo(ctx context.Context, uid string, params map[string]string) (*model.ObjectUserInfo, error)

	// GetSecret returns information about object user secrets.
	GetSecret(ctx context.Context, uid string, params map[string]string) (*model.ObjectUserSecret, error)

	// CreateSecret creates a secret for an object user within the Objectscale object store
	CreateSecret(ctx context.Context, uid string, req model.ObjectUserSecretKeyCreateReq, params map[string]string) (*model.ObjectUserSecretKeyCreateRes, error)

	// DeleteSecret delete a secret for an object user within the Objectscale object store
	DeleteSecret(ctx context.Context, uid string, req model.ObjectUserSecretKeyDeleteReq, params map[string]string) error
}

ObjectUserInterface represents an object user resource client interface.

type ObjmtInterface

type ObjmtInterface interface {
	// GetAccountBillingInfo returns billing info metrics for defined accounts
	GetAccountBillingInfo(ctx context.Context, ids []string, params map[string]string) (*model.AccountBillingInfoList, error)

	// GetAccountBillingSample returns billing sample (time-window) metrics for defined accounts
	GetAccountBillingSample(ctx context.Context, ids []string, params map[string]string) (*model.AccountBillingSampleList, error)

	// GetBucketBillingInfo returns billing info metrics for defined buckets and account
	GetBucketBillingInfo(ctx context.Context, account string, ids []string, params map[string]string) (*model.BucketBillingInfoList, error)

	// GetBucketBillingSample returns billing sample (time-window) metrics for defined buckets and account
	GetBucketBillingSample(ctx context.Context, account string, ids []string, params map[string]string) (*model.BucketBillingSampleList, error)

	// GetBucketBillingPerf returns performance metrics for defined buckets and account
	GetBucketBillingPerf(ctx context.Context, account string, ids []string, params map[string]string) (*model.BucketPerfDataList, error)

	// GetReplicationInfo returns billing info metrics for defined replication pairs and account
	GetReplicationInfo(ctx context.Context, account string, replicationPairs [][]string, params map[string]string) (*model.BucketReplicationInfoList, error)

	// GetReplicationSample returns billing sample (time-window) metrics for defined replication pairs and account
	GetReplicationSample(ctx context.Context, account string, replicationPairs [][]string, params map[string]string) (*model.BucketReplicationSampleList, error)

	// GetStoreBillingInfo returns billing info metrics for object store
	GetStoreBillingInfo(ctx context.Context, params map[string]string) (*model.StoreBillingInfoList, error)

	// GetStoreBillingSample returns billing sample (time-window) metrics for object store
	GetStoreBillingSample(ctx context.Context, params map[string]string) (*model.StoreBillingSampleList, error)

	// GetStoreReplicationData returns CRR metrics for defined object stores
	GetStoreReplicationData(ctx context.Context, ids []string, params map[string]string) (*model.StoreReplicationDataList, error)
}

ObjmtInterface represents an interface for objMT service metrics.

type StatusInterface

type StatusInterface interface {
	// GetRebuildStatus returns rebuild status of an ObjectScale object store
	GetRebuildStatus(ctx context.Context, objStoreName, ssPodName, ssPodNameSpace, level string, params map[string]string) (*model.RebuildInfo, error)
}

StatusInterface represents status resource client interface.

type TenantsInterface

type TenantsInterface interface {
	// List returns a list of tenants within the ObjectScale object store.
	List(ctx context.Context, params map[string]string) (*model.TenantList, error)

	// Get returns an account tenant in the ObjectScale object store
	Get(ctx context.Context, name string, params map[string]string) (*model.Tenant, error)

	// Create creates a tenant and returns it
	Create(ctx context.Context, payload model.TenantCreate) (*model.Tenant, error)

	// Delete deletes a tenant
	Delete(ctx context.Context, name string) error

	// Update updates a specific tenant (currently only default bucket block size and alias fields supported)
	Update(ctx context.Context, payload model.TenantUpdate, name string) error

	// GetQuota gets the quota of a tenant
	GetQuota(ctx context.Context, name string, params map[string]string) (*model.TenantQuota, error)

	// DeleteQuota deletes the quota of a tenant
	DeleteQuota(ctx context.Context, name string) error

	// SetQuota sets the quota of a tenant
	SetQuota(ctx context.Context, name string, payload model.TenantQuotaSet) error
}

TenantsInterface represents an tenant resource client interface.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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