b2types

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package b2types implements internal types common to the B2 API.

Index

Constants

View Source
const (
	V3api = "/b2api/v3/"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIInfo added in v0.7.0

type APIInfo struct {
	StorageAPIInfo *StorageAPIInfo `json:"storageApi,omitempty"`
	GroupsAPIInfo  *GroupsAPIInfo  `json:"groupsApi,omitempty"`
}

type Allowance added in v0.5.1

type Allowance struct {
}

type AsReplicationDestination added in v0.7.0

type AsReplicationDestination struct {
	SourceToDestinationKeyMapping map[string]string `json:"sourceToDestinationKeyMapping,omitempty"`
}

type AsReplicationSource added in v0.7.0

type AsReplicationSource struct {
	ReplicationRules []ReplicationRules `json:"replicationRules,omitempty"`
	KeyID            string             `json:"sourceApplicationKeyId,omitempty"`
}

type AuthorizeAccountResponse

type AuthorizeAccountResponse struct {
	AccountID     string   `json:"accountId"`
	KeyExpiration int64    `json:"applicationKeyExpirationTimestamp"`
	APIInfo       *APIInfo `json:"apiInfo"`
	AuthToken     string   `json:"authorizationToken"`
}

type CORSRule added in v0.7.0

type CORSRule struct {
	Name              string   `json:"corsRuleName,omitempty"`
	AllowedOrigins    []string `json:"allowedOrigins,omitempty"`
	AllowedHeaders    []string `json:"allowedHeaders,omitempty"`
	AllowedOperations []string `json:"allowedOperations,omitempty"`
	ExposeHeaders     []string `json:"exposeHeaders,omitempty"`
	MaxAgeSeconds     int      `json:"maxAgeSeconds,omitempty"`
}

type CancelLargeFileRequest

type CancelLargeFileRequest struct {
	ID string `json:"fileId"`
}

type CreateBucketRequest

type CreateBucketRequest struct {
	AccountID      string            `json:"accountId"`
	Name           string            `json:"bucketName"`
	Type           string            `json:"bucketType"`
	Info           map[string]string `json:"bucketInfo"`
	LifecycleRules []LifecycleRule   `json:"lifecycleRules"`
}

type CreateBucketResponse

type CreateBucketResponse struct {
	BucketID       string            `json:"bucketId"`
	Name           string            `json:"bucketName"`
	Type           string            `json:"bucketType"`
	Info           map[string]string `json:"bucketInfo"`
	LifecycleRules []LifecycleRule   `json:"lifecycleRules"`
	Revision       int               `json:"revision"`

	CORSRules                   []CORSRule                        `json:"corsRules,omitempty"`
	DefaultRetention            string                            `json:"defaultRetention,omitempty"`
	DefaultServerSideEncryption *ServerSideEncryption             `json:"defaultServerSideEncryption,omitempty"`
	FileLockConfig              *FileLockConfiguration            `json:"fileLockConfiguration,omitempty"`
	ReplicationConfiguration    *ReplicationConfigurationResponse `json:"replicationConfiguration,omitempty"`
}

type CreateKeyRequest added in v0.5.0

type CreateKeyRequest struct {
	AccountID    string   `json:"accountId"`
	Capabilities []string `json:"capabilities"`
	Name         string   `json:"keyName"`
	Valid        int      `json:"validDurationInSeconds,omitempty"`
	BucketID     string   `json:"bucketId,omitempty"`
	Prefix       string   `json:"namePrefix,omitempty"`
}

type CreateKeyResponse added in v0.5.0

type CreateKeyResponse Key

type DeleteBucketRequest

type DeleteBucketRequest struct {
	AccountID string `json:"accountId"`
	BucketID  string `json:"bucketId"`
}

type DeleteFileVersionRequest

type DeleteFileVersionRequest struct {
	Name   string `json:"fileName"`
	FileID string `json:"fileId"`
}

type DeleteKeyRequest added in v0.5.0

type DeleteKeyRequest struct {
	KeyID string `json:"applicationKeyId"`
}

type DeleteKeyResponse added in v0.5.0

type DeleteKeyResponse Key

type ErrorMessage

type ErrorMessage struct {
	Status int    `json:"status"`
	Code   string `json:"code"`
	Msg    string `json:"message"`
}

type FileLockConfiguration added in v0.7.0

type FileLockConfiguration struct {
	IsClientAuthorizedToRead bool `json:"isClientAuthorizedToRead"`
	Val                      struct {
		DefaultRetention struct {
			Mode   *string `json:"mode"`
			Period struct {
				Duration int     `json:"duration"`
				Unit     *string `json:"unit"`
			} `json:"period"`
		} `json:"defaultRetention"`
		IsFileLockEnabled bool `json:"isFileLockEnabled"`
	} `json:"value"`
}

type FinishLargeFileRequest

type FinishLargeFileRequest struct {
	ID     string   `json:"fileId"`
	Hashes []string `json:"partSha1Array"`
}

type FinishLargeFileResponse

type FinishLargeFileResponse struct {
	Name      string `json:"fileName"`
	FileID    string `json:"fileId"`
	Timestamp int64  `json:"uploadTimestamp"`
	Action    string `json:"action"`
}

type GetDownloadAuthorizationRequest

type GetDownloadAuthorizationRequest struct {
	BucketID           string `json:"bucketId"`
	Prefix             string `json:"fileNamePrefix"`
	Valid              int    `json:"validDurationInSeconds"`
	ContentDisposition string `json:"b2ContentDisposition,omitempty"`
}

type GetDownloadAuthorizationResponse

type GetDownloadAuthorizationResponse struct {
	BucketID string `json:"bucketId"`
	Prefix   string `json:"fileNamePrefix"`
	Token    string `json:"authorizationToken"`
}

type GetFileInfoRequest

type GetFileInfoRequest struct {
	ID string `json:"fileId"`
}

type GetFileInfoResponse

type GetFileInfoResponse struct {
	FileID      string            `json:"fileId,omitempty"`
	Name        string            `json:"fileName,omitempty"`
	AccountID   string            `json:"accountId,omitempty"`
	BucketID    string            `json:"bucketId,omitempty"`
	Size        int64             `json:"contentLength,omitempty"`
	SHA1        string            `json:"contentSha1,omitempty"`
	MD5         string            `json:"contentMd5,omitempty"`
	ContentType string            `json:"contentType,omitempty"`
	Info        map[string]string `json:"fileInfo,omitempty"`
	Action      string            `json:"action,omitempty"`
	Timestamp   int64             `json:"uploadTimestamp,omitempty"`
}

type GetUploadURLRequest

type GetUploadURLRequest struct {
	BucketID string `json:"bucketId"`
}

type GetUploadURLResponse

type GetUploadURLResponse struct {
	URI   string `json:"uploadUrl"`
	Token string `json:"authorizationToken"`
}

type GroupsAPIInfo added in v0.7.0

type GroupsAPIInfo struct {
	Capabilities []string `json:"capabilities"`
	URI          string   `json:"groupsApiUrl"`
	Type         string   `json:"storageApi"`
}

type HideFileRequest

type HideFileRequest struct {
	BucketID string `json:"bucketId"`
	File     string `json:"fileName"`
}

type HideFileResponse

type HideFileResponse struct {
	ID        string `json:"fileId"`
	Timestamp int64  `json:"uploadTimestamp"`
	Action    string `json:"action"`
}

type Key added in v0.5.0

type Key struct {
	ID           string   `json:"applicationKeyId"`
	Secret       string   `json:"applicationKey"`
	AccountID    string   `json:"accountId"`
	Capabilities []string `json:"capabilities"`
	Name         string   `json:"keyName"`
	Expires      int64    `json:"expirationTimestamp"`
	BucketID     string   `json:"bucketId"`
	Prefix       string   `json:"namePrefix"`
}

type LifecycleRule

type LifecycleRule struct {
	DaysHiddenUntilDeleted int    `json:"daysFromHidingToDeleting,omitempty"`
	DaysNewUntilHidden     int    `json:"daysFromUploadingToHiding,omitempty"`
	Prefix                 string `json:"fileNamePrefix"`
}

type ListBucketsRequest

type ListBucketsRequest struct {
	AccountID   string   `json:"accountId"`
	Bucket      string   `json:"bucketId,omitempty"`
	Name        string   `json:"bucketName,omitempty"`
	BucketTypes []string `json:"bucketTypes,omitempty"`
}

type ListBucketsResponse

type ListBucketsResponse struct {
	Buckets []CreateBucketResponse `json:"buckets"`
}

type ListFileNamesRequest

type ListFileNamesRequest struct {
	BucketID     string `json:"bucketId"`
	Count        int    `json:"maxFileCount"`
	Continuation string `json:"startFileName,omitempty"`
	Prefix       string `json:"prefix,omitempty"`
	Delimiter    string `json:"delimiter,omitempty"`
}

type ListFileNamesResponse

type ListFileNamesResponse struct {
	Continuation string                `json:"nextFileName"`
	Files        []GetFileInfoResponse `json:"files"`
}

type ListFileVersionsRequest

type ListFileVersionsRequest struct {
	BucketID  string `json:"bucketId"`
	Count     int    `json:"maxFileCount"`
	StartName string `json:"startFileName,omitempty"`
	StartID   string `json:"startFileId,omitempty"`
	Prefix    string `json:"prefix,omitempty"`
	Delimiter string `json:"delimiter,omitempty"`
}

type ListFileVersionsResponse

type ListFileVersionsResponse struct {
	NextName string                `json:"nextFileName"`
	NextID   string                `json:"nextFileId"`
	Files    []GetFileInfoResponse `json:"files"`
}

type ListKeysRequest added in v0.5.0

type ListKeysRequest struct {
	AccountID string `json:"accountId"`
	Max       int    `json:"maxKeyCount,omitempty"`
	Next      string `json:"startApplicationKeyId,omitempty"`
}

type ListKeysResponse added in v0.5.0

type ListKeysResponse struct {
	Keys []Key  `json:"keys"`
	Next string `json:"nextApplicationKeyId"`
}

type ListPartsRequest

type ListPartsRequest struct {
	ID    string `json:"fileId"`
	Start int    `json:"startPartNumber"`
	Count int    `json:"maxPartCount"`
}

type ListPartsResponse

type ListPartsResponse struct {
	Next  int `json:"nextPartNumber"`
	Parts []struct {
		ID     string `json:"fileId"`
		Number int    `json:"partNumber"`
		SHA1   string `json:"contentSha1"`
		Size   int64  `json:"contentLength"`
	} `json:"parts"`
}

type ListUnfinishedLargeFilesRequest added in v0.2.2

type ListUnfinishedLargeFilesRequest struct {
	BucketID     string `json:"bucketId"`
	Continuation string `json:"startFileId,omitempty"`
	Count        int    `json:"maxFileCount,omitempty"`
}

type ListUnfinishedLargeFilesResponse added in v0.2.2

type ListUnfinishedLargeFilesResponse struct {
	Files        []GetFileInfoResponse `json:"files"`
	Continuation string                `json:"nextFileId"`
}

type ReplicationConfiguration added in v0.7.0

type ReplicationConfiguration struct {
	AsReplicationSource      *AsReplicationSource      `json:"asReplicationSource,omitempty"`
	AsReplicationDestination *AsReplicationDestination `json:"asReplicationDestination,omitempty"`
}

type ReplicationConfigurationResponse added in v0.7.0

type ReplicationConfigurationResponse struct {
	IsClientAuthorizedToRead bool                      `json:"isClientAuthorizedToRead,omitempty"`
	Value                    *ReplicationConfiguration `json:"value,omitempty"`
}

type ReplicationRules added in v0.7.0

type ReplicationRules struct {
	DestinationBucketID  string `json:"destinationBucketId"`
	FileNamePrefix       string `json:"fileNamePrefix"`
	IncludeExistingFiles bool   `json:"includeExistingFiles"`
	IsEnabled            bool   `json:"isEnabled"`
	Priority             int    `json:"priority"`
	ReplicationRuleName  string `json:"replicationRuleName"`
}

type Retention added in v0.7.0

type Retention struct {
	Mode   string           `json:"mode,omitempty"`
	Period *RetentionPeriod `json:"period,omitempty"`
}

type RetentionPeriod added in v0.7.0

type RetentionPeriod struct {
	Duration int    `json:"duration,omitempty"`
	Unit     string `json:"unit,omitempty"`
}

type ServerSideEncryption added in v0.7.0

type ServerSideEncryption struct {
	Mode      string `json:"mode"`
	Algorithm string `json:"algorithm"`
}

type StartLargeFileRequest

type StartLargeFileRequest struct {
	BucketID    string            `json:"bucketId"`
	Name        string            `json:"fileName"`
	ContentType string            `json:"contentType"`
	Info        map[string]string `json:"fileInfo,omitempty"`
}

type StartLargeFileResponse

type StartLargeFileResponse struct {
	ID string `json:"fileId"`
}

type StorageAPIInfo added in v0.7.0

type StorageAPIInfo struct {
	AbsMinPartSize int      `json:"absoluteMinimumPartSize"`
	URI            string   `json:"apiUrl"`
	Bucket         string   `json:"bucketId"`
	Name           string   `json:"bucketName"`
	Capabilities   []string `json:"capabilities"`
	DownloadURI    string   `json:"downloadUrl"`
	Type           string   `json:"storageApi"`
	Prefix         string   `json:"namePrefix"`
	PartSize       int      `json:"recommendedPartSize"`
	S3URI          string   `json:"s3ApiUrl"`
}

type UpdateBucketRequest

type UpdateBucketRequest struct {
	AccountID      string            `json:"accountId"`
	BucketID       string            `json:"bucketId"`
	Type           string            `json:"bucketType,omitempty"`
	Info           map[string]string `json:"bucketInfo,omitempty"`
	LifecycleRules []LifecycleRule   `json:"lifecycleRules,omitempty"`
	IfRevisionIs   int               `json:"ifRevisionIs,omitempty"`

	CORSRules                   []CORSRule                `json:"corsRules,omitempty"`
	DefaultRetention            *Retention                `json:"defaultRetention,omitempty"`
	DefaultServerSideEncryption *ServerSideEncryption     `json:"defaultServerSideEncryption,omitempty"`
	FileLockEnabled             bool                      `json:"fileLockEnabled,omitempty"`
	ReplicationConfiguration    *ReplicationConfiguration `json:"replicationConfiguration,omitempty"`
}

type UpdateBucketResponse

type UpdateBucketResponse CreateBucketResponse

type UploadFileResponse

type UploadFileResponse GetFileInfoResponse

Jump to

Keyboard shortcuts

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