blobstore

package
v1.5.3 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2023 License: MPL-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GroupFillPolicyRoundRobin   = "roundRobin"
	GroupFillPolicyWriteToFirst = "writeToFirst"
)
View Source
const (
	BlobstoreTypeFile = "File"
	BlobstoreTypeS3   = "S3"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Azure

type Azure struct {
	// Name of the BlobStore
	Name string `json:"name"`
	// Settings to control the soft quota
	SoftQuota *SoftQuota `json:"softQuota,omitempty"`
	// The Azure specific configuration details for the Azure object that'll contain the blob store.
	BucketConfiguration AzureBucketConfiguration `json:"bucketConfiguration"`
}

type AzureAuthenticationMethod

type AzureAuthenticationMethod string
const (
	AzureAuthenticationMethodAccountKey      AzureAuthenticationMethod = "ACCOUNTKEY"
	AzureAuthenticationMethodManagedIdentity AzureAuthenticationMethod = "MANAGEDIDENTITY"
)

type AzureBucketConfiguration

type AzureBucketConfiguration struct {
	// Account name found under Access keys for the storage account.
	AccountName string `json:"accountName"`

	// The Azure specific authentication details.
	Authentication AzureBucketConfigurationAuthentication `json:"authentication"`

	// The name of an existing container to be used for storage.
	ContainerName string `json:"containerName"`
}

type AzureBucketConfigurationAuthentication

type AzureBucketConfigurationAuthentication struct {
	// The type of Azure authentication to use.
	AuthenticationMethod AzureAuthenticationMethod `json:"authenticationMethod"`

	// The account key.
	AccountKey string `json:"accountKey,omitempty"`
}

type AzureConnection

type AzureConnection struct {
	// Account name found under Access keys for the storage account.
	AccountName string `json:"accountName"`

	// The type of Azure authentication to use.
	AuthenticationMethod AzureAuthenticationMethod `json:"authenticationMethod"`

	// The account key.
	AccountKey string `json:"accountKey,omitempty"`
	// The name of an existing container to be used for storage.
	ContainerName string `json:"containerName"`
}

type File

type File struct {
	// Name of the BlobStore
	Name string `json:"name"`
	// Settings to control the soft quota
	SoftQuota *SoftQuota `json:"softQuota,omitempty"`
	// The path to the blobstore contents. This can be an absolute path to anywhere on the system Nexus Repository Manager has access to or it can be a path relative to the sonatype-work directory.
	Path string `json:"path,omitempty"`
}

type Generic

type Generic struct {
	Name string `json:"name"`
	Type string `json:"type"`

	Unavailable           bool `json:"unavailable"`
	AvailableSpaceInBytes int  `json:"availableSpaceInBytes"`
	BlobCount             int  `json:"blobCount"`
	TotalSizeInBytes      int  `json:"totalSizeInBytes"`

	*SoftQuota `json:"softQuota,omitempty"`
}

Generic data

type Group

type Group struct {
	// The name of the Group blob store
	Name string `json:"name"`
	// Settings to control the soft quota
	SoftQuota *SoftQuota `json:"softQuota,omitempty"`

	// List of the names of blob stores that are members of this group
	Members []string `json:"members"`

	// Possible values: roundRobin,writeToFirst
	FillPolicy string `json:"fillPolicy"`
}

type Legacy

type Legacy struct {
	AvailableSpaceInBytes int    `json:"availableSpaceInBytes"`
	BlobCount             int    `json:"blobCount"`
	Name                  string `json:"name"`
	Path                  string `json:"path,omitempty"` // only if type File
	TotalSizeInBytes      int    `json:"totalSizeInBytes"`
	Type                  string `json:"type"`

	*S3BucketConfiguration `json:"bucketConfiguration,omitempty"`
	*SoftQuota             `json:"softQuota,omitempty"`
}

Legacy data

type QuotaStatus

type QuotaStatus struct {
	IsViolation   bool   `json:"isViolation"`
	Message       string `json:"message,omitempty"`
	BlobStoreName string `json:"blobStoreName"`
}

type S3

type S3 struct {
	// The name of the S3 blob store
	Name string `json:"name"`
	// Settings to control the soft quota
	SoftQuota *SoftQuota `json:"softQuota,omitempty"`
	// The S3 specific configuration details for the S3 object that'll contain the blob store.
	BucketConfiguration S3BucketConfiguration `json:"bucketConfiguration"`
}

type S3AdvancedBucketConnection

type S3AdvancedBucketConnection struct {
	// A custom endpoint URL for third party object stores using the S3 API
	Endpoint string `json:"endpoint,omitempty"`

	// An API signature version which may be required for third party object stores using the S3 API
	SignerType string `json:"signerType,omitempty"`

	// Setting this flag will result in path-style access being used for all requests
	ForcePathStyle *bool `json:"forcePathStyle,omitempty"`

	// Setting this value will override the default connection pool size of Nexus of the s3 client for this blobstore.
	MaxConnectionPoolSize *int32 `json:"maxConnectionPoolSize,omitempty"`
}

type S3Bucket

type S3Bucket struct {
	// The AWS region to create a new S3 bucket in or an existing S3 bucket's region
	Region string `json:"region"`

	// The name of the S3 bucket
	Name string `json:"name"`

	// The S3 blob store (i.e S3 object) key prefix
	Prefix string `json:"prefix,omitempty"`

	// How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)
	Expiration int32 `json:"expiration"`
}

type S3BucketConfiguration

type S3BucketConfiguration struct {
	// Details of the S3 bucket such as name and region
	Bucket S3Bucket `json:"bucket"`

	// The type of encryption to use if any
	Encryption *S3Encryption `json:"encryption,omitempty"`

	// Security details for granting access the S3 API
	BucketSecurity *S3BucketSecurity `json:"bucketSecurity,omitempty"`

	// A custom endpoint URL, signer type and whether path style access is enabled
	AdvancedBucketConnection *S3AdvancedBucketConnection `json:"advancedBucketConnection,omitempty"`
}

type S3BucketSecurity

type S3BucketSecurity struct {
	// An IAM access key ID for granting access to the S3 bucket
	AccessKeyID string `json:"accessKeyId,omitempty"`

	// An IAM role to assume in order to access the S3 bucket
	Role string `json:"role,omitempty"`

	// The secret access key associated with the specified IAM access key ID
	SecretAccessKey string `json:"secretAccessKey,omitempty"`

	// An AWS STS session token associated with temporary security credentials which grant access to the S3 bucket
	SessionToken string `json:"sessionToken,omitempty"`
}

type S3Encryption

type S3Encryption struct {
	// The encryption key
	Key string `json:"encryptionKey,omitempty"`

	// The type of S3 server side encryption to use
	Type string `json:"encryptionType,omitempty"`
}

type SoftQuota

type SoftQuota struct {
	// The type to use such as spaceRemainingQuota, or spaceUsedQuota
	Type string `json:"type,omitempty"`
	// The limit in MB.
	Limit int64 `json:"limit,omitempty"`
}

Jump to

Keyboard shortcuts

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