jx: github.com/jenkins-x/jx/pkg/cloud/buckets Index | Files | Directories

package buckets

import "github.com/jenkins-x/jx/pkg/cloud/buckets"


Package Files

buckets.go default_provider.go interface.go

func CreateBucketURL Uses

func CreateBucketURL(name string, kind string, settings *jenkinsv1.TeamSettings) (string, error)

CreateBucketURL creates a go-cloud URL to a bucket

func KubeProviderToBucketScheme Uses

func KubeProviderToBucketScheme(provider string) string

KubeProviderToBucketScheme returns the bucket scheme for the cloud provider

func ReadBucketURL Uses

func ReadBucketURL(u *url.URL, timeout time.Duration) ([]byte, error)

ReadBucketURL reads the content of a bucket URL of the for 's3://bucketName/foo/bar/whatnot.txt?param=123' where any of the query arguments are applied to the underlying Bucket URL and the path is extracted and resolved within the bucket

func ReadHTTPURL Uses

func ReadHTTPURL(u string, timeout time.Duration) ([]byte, error)

ReadHTTPURL reads the HTTP based URL and returns the data or returning an error if a 2xx status is not returned

func ReadURL Uses

func ReadURL(urlText string, timeout time.Duration, httpFn func(urlString string) (string, error)) ([]byte, error)

ReadURL reads the given URL from either a http/https endpoint or a bucket URL path. if specified the httpFn is a function which can append the user/password or token if using a git provider

func SplitBucketURL Uses

func SplitBucketURL(u *url.URL) (string, string)

SplitBucketURL splits the full bucket URL into the URL to open the bucket and the file name to refer to within the bucket

func WriteBucket Uses

func WriteBucket(bucketURL string, key string, data []byte, timeout time.Duration) error

WriteBucket writes the data to a bucket URL and key of the for 's3://bucketName' and key 'foo/bar/whatnot.txt' with the given timeout

func WriteBucketURL Uses

func WriteBucketURL(u *url.URL, data []byte, timeout time.Duration) error

WriteBucketURL writes the data to a bucket URL of the for 's3://bucketName/foo/bar/whatnot.txt?param=123' with the given timeout

type LegacyBucketProvider Uses

type LegacyBucketProvider struct {
    // contains filtered or unexported fields

LegacyBucketProvider is the default provider for non boot clusters

func (LegacyBucketProvider) CreateNewBucketForCluster Uses

func (LegacyBucketProvider) CreateNewBucketForCluster(clusterName string, bucketKind string) (string, error)

CreateNewBucketForCluster is not supported for LegacyBucketProvider

func (LegacyBucketProvider) DownloadFileFromBucket Uses

func (LegacyBucketProvider) DownloadFileFromBucket(bucketURL string) (*bufio.Scanner, error)

DownloadFileFromBucket is not supported for LegacyBucketProvider

func (LegacyBucketProvider) EnsureBucketIsCreated Uses

func (LegacyBucketProvider) EnsureBucketIsCreated(bucketURL string) error

EnsureBucketIsCreated is not supported for LegacyBucketProvider

func (*LegacyBucketProvider) Initialize Uses

func (p *LegacyBucketProvider) Initialize(bucketURL string, classifier string) error

Initialize initializes and opens a bucket object for the given bucketURL and classifier

func (LegacyBucketProvider) UploadFileToBucket Uses

func (p LegacyBucketProvider) UploadFileToBucket(reader io.Reader, outputName string, bucketURL string) (string, error)

UploadFileToBucket uploads a file to the provider specific bucket with the given outputName using the gocloud library

type Provider Uses

type Provider interface {
    // CreateNewBucketForCluster creates a new dynamically named bucket
    CreateNewBucketForCluster(clusterName string, bucketKind string) (string, error)
    EnsureBucketIsCreated(bucketURL string) error
    UploadFileToBucket(r io.Reader, outputName string, bucketURL string) (string, error)
    DownloadFileFromBucket(bucketURL string) (*bufio.Scanner, error)

Provider represents a bucket provider go:generate pegomock generate github.com/jenkins-x/jx/pkg/cloud/buckets Provider -o mocks/buckets_interface.go

func NewLegacyBucketProvider Uses

func NewLegacyBucketProvider() Provider

NewLegacyBucketProvider create a new provider for non supported providers or non boot clusters



Package buckets imports 18 packages (graph) and is imported by 7 packages. Updated 2019-12-14. Refresh now. Tools for package owners.