cosi

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2022 License: Apache-2.0 Imports: 11 Imported by: 23

README

version

Container Object Storage Interface Spec

This repository hosts the gRPC API for the Container Object Storage Interface (COSI) standard. The interfaces defined in the gRPC specification are meant to be the common interface for object storage provisioning and management across various object storage vendors.

For more information about the COSI effort, visit our documentation.

Why another standard?

Kubernetes abstracts file/block storage via the CSI standard. The primitives for file/block storage do not extend well to object storage. Here is the extremely concise and incomplete list of reasons why:

  • Unit of provisioned storage - Bucket instead of filesystem mount or block device.
  • Access is over the network instead of local POSIX calls.
  • No common protocol for consumption across various implementations of object storage.
  • Management policies and primitives - for instance, mounting and unmounting do not apply to object storage.

The existing primitives in CSI do not apply to objectstorage. Thus the need for a new standard to automate the management of objectstorage.

Developer Guide

All API definitions MUST satisfy the following requirements:

Build and Test
  1. cosi.proto is generated from the specification defined in spec.md

  2. In order to update the API, make changes to spec.md. Then, generate cosi.proto using:

# generates cosi.proto
make generate
  1. Clean and Build
# cleans up old build files
make clobber
# builds the go bindings
make
  1. Do it all in 1 step:
# generates cosi.proto and builds the go bindings
make all

References

Community, discussion, contribution, and support

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	S3SignatureVersion_name = map[int32]string{
		0: "UnknownSignature",
		1: "S3V2",
		2: "S3V4",
	}
	S3SignatureVersion_value = map[string]int32{
		"UnknownSignature": 0,
		"S3V2":             1,
		"S3V4":             2,
	}
)

Enum value maps for S3SignatureVersion.

View Source
var (
	AnonymousBucketAccessMode_name = map[int32]string{
		0: "UnknownBucketAccessMode",
		1: "Private",
		2: "ReadOnly",
		3: "WriteOnly",
		4: "ReadWrite",
	}
	AnonymousBucketAccessMode_value = map[string]int32{
		"UnknownBucketAccessMode": 0,
		"Private":                 1,
		"ReadOnly":                2,
		"WriteOnly":               3,
		"ReadWrite":               4,
	}
)

Enum value maps for AnonymousBucketAccessMode.

View Source
var (
	AuthenticationType_name = map[int32]string{
		0: "UnknownAuthenticationType",
		1: "Key",
		2: "IAM",
	}
	AuthenticationType_value = map[string]int32{
		"UnknownAuthenticationType": 0,
		"Key":                       1,
		"IAM":                       2,
	}
)

Enum value maps for AuthenticationType.

View Source
var (
	// Indicates that a field MAY contain information that is sensitive
	// and MUST be treated as such (e.g. not logged).
	//
	// optional bool cosi_secret = 1115;
	E_CosiSecret = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[2]
	// Indicates that this field is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_field = 1116;
	E_AlphaField = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[3]
)

Extension fields to descriptor.FieldOptions.

View Source
var (
	// Indicates that this enum is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_enum = 1116;
	E_AlphaEnum = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[0]
)

Extension fields to descriptor.EnumOptions.

View Source
var (
	// Indicates that this enum value is OPTIONAL and part of an
	// experimental API that may be deprecated and eventually removed
	// between minor releases.
	//
	// optional bool alpha_enum_value = 1116;
	E_AlphaEnumValue = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[1]
)

Extension fields to descriptor.EnumValueOptions.

View Source
var (
	// Indicates that this message is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_message = 1116;
	E_AlphaMessage = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[4]
)

Extension fields to descriptor.MessageOptions.

View Source
var (
	// Indicates that this method is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_method = 1116;
	E_AlphaMethod = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[5]
)

Extension fields to descriptor.MethodOptions.

View Source
var (
	// Indicates that this service is OPTIONAL and part of an experimental
	// API that may be deprecated and eventually removed between minor
	// releases.
	//
	// optional bool alpha_service = 1116;
	E_AlphaService = &file_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto_extTypes[6]
)

Extension fields to descriptor.ServiceOptions.

View Source
var File_sigs_k8s_io_container_object_storage_interface_spec_cosi_proto protoreflect.FileDescriptor

Functions

func RegisterIdentityServer

func RegisterIdentityServer(s *grpc.Server, srv IdentityServer)

func RegisterProvisionerServer

func RegisterProvisionerServer(s *grpc.Server, srv ProvisionerServer)

Types

type AnonymousBucketAccessMode

type AnonymousBucketAccessMode int32
const (
	AnonymousBucketAccessMode_UnknownBucketAccessMode AnonymousBucketAccessMode = 0
	// Default, disallow uncredentialed access to the backend storage.
	AnonymousBucketAccessMode_Private AnonymousBucketAccessMode = 1
	// Read only, uncredentialed users can call ListBucket and GetObject.
	AnonymousBucketAccessMode_ReadOnly AnonymousBucketAccessMode = 2
	// Write only, uncredentialed users can only call PutObject.
	AnonymousBucketAccessMode_WriteOnly AnonymousBucketAccessMode = 3
	// Read/Write, uncredentialed users can read objects as well as PutObject.
	AnonymousBucketAccessMode_ReadWrite AnonymousBucketAccessMode = 4
)

func (AnonymousBucketAccessMode) Descriptor

func (AnonymousBucketAccessMode) Enum

func (AnonymousBucketAccessMode) EnumDescriptor deprecated

func (AnonymousBucketAccessMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use AnonymousBucketAccessMode.Descriptor instead.

func (AnonymousBucketAccessMode) Number

func (AnonymousBucketAccessMode) String

func (x AnonymousBucketAccessMode) String() string

func (AnonymousBucketAccessMode) Type

type AuthenticationType

type AuthenticationType int32
const (
	AuthenticationType_UnknownAuthenticationType AuthenticationType = 0
	// Default, KEY based authentication.
	AuthenticationType_Key AuthenticationType = 1
	// Storageaccount based authentication.
	AuthenticationType_IAM AuthenticationType = 2
)

func (AuthenticationType) Descriptor

func (AuthenticationType) Enum

func (AuthenticationType) EnumDescriptor deprecated

func (AuthenticationType) EnumDescriptor() ([]byte, []int)

Deprecated: Use AuthenticationType.Descriptor instead.

func (AuthenticationType) Number

func (AuthenticationType) String

func (x AuthenticationType) String() string

func (AuthenticationType) Type

type AzureBlob

type AzureBlob struct {

	// storage_account is the id of the azure storage account
	StorageAccount string `protobuf:"bytes,1,opt,name=storage_account,json=storageAccount,proto3" json:"storage_account,omitempty"`
	// contains filtered or unexported fields
}

func (*AzureBlob) Descriptor deprecated

func (*AzureBlob) Descriptor() ([]byte, []int)

Deprecated: Use AzureBlob.ProtoReflect.Descriptor instead.

func (*AzureBlob) GetStorageAccount

func (x *AzureBlob) GetStorageAccount() string

func (*AzureBlob) MarshalJSON

func (msg *AzureBlob) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AzureBlob) ProtoMessage

func (*AzureBlob) ProtoMessage()

func (*AzureBlob) ProtoReflect

func (x *AzureBlob) ProtoReflect() protoreflect.Message

func (*AzureBlob) Reset

func (x *AzureBlob) Reset()

func (*AzureBlob) String

func (x *AzureBlob) String() string

func (*AzureBlob) UnmarshalJSON

func (msg *AzureBlob) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type CredentialDetails

type CredentialDetails struct {

	// map of the details in the secrets for the protocol string
	Secrets map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*CredentialDetails) Descriptor deprecated

func (*CredentialDetails) Descriptor() ([]byte, []int)

Deprecated: Use CredentialDetails.ProtoReflect.Descriptor instead.

func (*CredentialDetails) GetSecrets

func (x *CredentialDetails) GetSecrets() map[string]string

func (*CredentialDetails) MarshalJSON

func (msg *CredentialDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*CredentialDetails) ProtoMessage

func (*CredentialDetails) ProtoMessage()

func (*CredentialDetails) ProtoReflect

func (x *CredentialDetails) ProtoReflect() protoreflect.Message

func (*CredentialDetails) Reset

func (x *CredentialDetails) Reset()

func (*CredentialDetails) String

func (x *CredentialDetails) String() string

func (*CredentialDetails) UnmarshalJSON

func (msg *CredentialDetails) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverCreateBucketRequest

type DriverCreateBucketRequest struct {

	// This field is REQUIRED
	// name specifies the name of the bucket that should be created.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// This field is OPTIONAL
	// The caller should treat the values in parameters as opaque.
	// The receiver is responsible for parsing and validating the values.
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DriverCreateBucketRequest) Descriptor deprecated

func (*DriverCreateBucketRequest) Descriptor() ([]byte, []int)

Deprecated: Use DriverCreateBucketRequest.ProtoReflect.Descriptor instead.

func (*DriverCreateBucketRequest) GetName

func (x *DriverCreateBucketRequest) GetName() string

func (*DriverCreateBucketRequest) GetParameters

func (x *DriverCreateBucketRequest) GetParameters() map[string]string

func (*DriverCreateBucketRequest) MarshalJSON

func (msg *DriverCreateBucketRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverCreateBucketRequest) ProtoMessage

func (*DriverCreateBucketRequest) ProtoMessage()

func (*DriverCreateBucketRequest) ProtoReflect

func (*DriverCreateBucketRequest) Reset

func (x *DriverCreateBucketRequest) Reset()

func (*DriverCreateBucketRequest) String

func (x *DriverCreateBucketRequest) String() string

func (*DriverCreateBucketRequest) UnmarshalJSON

func (msg *DriverCreateBucketRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverCreateBucketResponse

type DriverCreateBucketResponse struct {

	// bucket_id returned here is expected to be the globally unique
	// identifier for the bucket in the object storage provider.
	BucketId string `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
	// bucket_info returned here stores the data specific to the
	// bucket required by the object storage provider to connect to the bucket.
	BucketInfo *Protocol `protobuf:"bytes,2,opt,name=bucket_info,json=bucketInfo,proto3" json:"bucket_info,omitempty"`
	// contains filtered or unexported fields
}

func (*DriverCreateBucketResponse) Descriptor deprecated

func (*DriverCreateBucketResponse) Descriptor() ([]byte, []int)

Deprecated: Use DriverCreateBucketResponse.ProtoReflect.Descriptor instead.

func (*DriverCreateBucketResponse) GetBucketId

func (x *DriverCreateBucketResponse) GetBucketId() string

func (*DriverCreateBucketResponse) GetBucketInfo

func (x *DriverCreateBucketResponse) GetBucketInfo() *Protocol

func (*DriverCreateBucketResponse) MarshalJSON

func (msg *DriverCreateBucketResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverCreateBucketResponse) ProtoMessage

func (*DriverCreateBucketResponse) ProtoMessage()

func (*DriverCreateBucketResponse) ProtoReflect

func (*DriverCreateBucketResponse) Reset

func (x *DriverCreateBucketResponse) Reset()

func (*DriverCreateBucketResponse) String

func (x *DriverCreateBucketResponse) String() string

func (*DriverCreateBucketResponse) UnmarshalJSON

func (msg *DriverCreateBucketResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverDeleteBucketRequest

type DriverDeleteBucketRequest struct {

	// This field is REQUIRED
	// bucket_id is a globally unique identifier for the bucket
	// in the object storage provider
	BucketId string `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
	// contains filtered or unexported fields
}

func (*DriverDeleteBucketRequest) Descriptor deprecated

func (*DriverDeleteBucketRequest) Descriptor() ([]byte, []int)

Deprecated: Use DriverDeleteBucketRequest.ProtoReflect.Descriptor instead.

func (*DriverDeleteBucketRequest) GetBucketId

func (x *DriverDeleteBucketRequest) GetBucketId() string

func (*DriverDeleteBucketRequest) MarshalJSON

func (msg *DriverDeleteBucketRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverDeleteBucketRequest) ProtoMessage

func (*DriverDeleteBucketRequest) ProtoMessage()

func (*DriverDeleteBucketRequest) ProtoReflect

func (*DriverDeleteBucketRequest) Reset

func (x *DriverDeleteBucketRequest) Reset()

func (*DriverDeleteBucketRequest) String

func (x *DriverDeleteBucketRequest) String() string

func (*DriverDeleteBucketRequest) UnmarshalJSON

func (msg *DriverDeleteBucketRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverDeleteBucketResponse

type DriverDeleteBucketResponse struct {
	// contains filtered or unexported fields
}

func (*DriverDeleteBucketResponse) Descriptor deprecated

func (*DriverDeleteBucketResponse) Descriptor() ([]byte, []int)

Deprecated: Use DriverDeleteBucketResponse.ProtoReflect.Descriptor instead.

func (*DriverDeleteBucketResponse) MarshalJSON

func (msg *DriverDeleteBucketResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverDeleteBucketResponse) ProtoMessage

func (*DriverDeleteBucketResponse) ProtoMessage()

func (*DriverDeleteBucketResponse) ProtoReflect

func (*DriverDeleteBucketResponse) Reset

func (x *DriverDeleteBucketResponse) Reset()

func (*DriverDeleteBucketResponse) String

func (x *DriverDeleteBucketResponse) String() string

func (*DriverDeleteBucketResponse) UnmarshalJSON

func (msg *DriverDeleteBucketResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverGetInfoRequest

type DriverGetInfoRequest struct {
	// contains filtered or unexported fields
}

func (*DriverGetInfoRequest) Descriptor deprecated

func (*DriverGetInfoRequest) Descriptor() ([]byte, []int)

Deprecated: Use DriverGetInfoRequest.ProtoReflect.Descriptor instead.

func (*DriverGetInfoRequest) MarshalJSON

func (msg *DriverGetInfoRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverGetInfoRequest) ProtoMessage

func (*DriverGetInfoRequest) ProtoMessage()

func (*DriverGetInfoRequest) ProtoReflect

func (x *DriverGetInfoRequest) ProtoReflect() protoreflect.Message

func (*DriverGetInfoRequest) Reset

func (x *DriverGetInfoRequest) Reset()

func (*DriverGetInfoRequest) String

func (x *DriverGetInfoRequest) String() string

func (*DriverGetInfoRequest) UnmarshalJSON

func (msg *DriverGetInfoRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverGetInfoResponse

type DriverGetInfoResponse struct {

	// This field is REQUIRED
	// The name MUST follow domain name notation format
	// (https://tools.ietf.org/html/rfc1035#section-2.3.1). It SHOULD
	// include the plugin's host company name and the plugin name,
	// to minimize the possibility of collisions. It MUST be 63
	// characters or less, beginning and ending with an alphanumeric
	// character ([a-z0-9A-Z]) with dashes (-), dots (.), and
	// alphanumerics between.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*DriverGetInfoResponse) Descriptor deprecated

func (*DriverGetInfoResponse) Descriptor() ([]byte, []int)

Deprecated: Use DriverGetInfoResponse.ProtoReflect.Descriptor instead.

func (*DriverGetInfoResponse) GetName

func (x *DriverGetInfoResponse) GetName() string

func (*DriverGetInfoResponse) MarshalJSON

func (msg *DriverGetInfoResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverGetInfoResponse) ProtoMessage

func (*DriverGetInfoResponse) ProtoMessage()

func (*DriverGetInfoResponse) ProtoReflect

func (x *DriverGetInfoResponse) ProtoReflect() protoreflect.Message

func (*DriverGetInfoResponse) Reset

func (x *DriverGetInfoResponse) Reset()

func (*DriverGetInfoResponse) String

func (x *DriverGetInfoResponse) String() string

func (*DriverGetInfoResponse) UnmarshalJSON

func (msg *DriverGetInfoResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverGrantBucketAccessRequest

type DriverGrantBucketAccessRequest struct {

	// This field is REQUIRED
	// bucket_id is a globally unique identifier for the bucket
	// in the object storage provider
	BucketId string `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
	// This field is REQUIRED
	// name field is used to define the name of the bucket access object.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// This field is REQUIRED
	// Requested authentication type for the bucket access.
	// Supported authentication types are KEY or IAM.
	AuthenticationType AuthenticationType `` /* 154-byte string literal not displayed */
	// This field is OPTIONAL
	// The caller should treat the values in parameters as opaque.
	// The receiver is responsible for parsing and validating the values.
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DriverGrantBucketAccessRequest) Descriptor deprecated

func (*DriverGrantBucketAccessRequest) Descriptor() ([]byte, []int)

Deprecated: Use DriverGrantBucketAccessRequest.ProtoReflect.Descriptor instead.

func (*DriverGrantBucketAccessRequest) GetAuthenticationType

func (x *DriverGrantBucketAccessRequest) GetAuthenticationType() AuthenticationType

func (*DriverGrantBucketAccessRequest) GetBucketId

func (x *DriverGrantBucketAccessRequest) GetBucketId() string

func (*DriverGrantBucketAccessRequest) GetName

func (*DriverGrantBucketAccessRequest) GetParameters

func (x *DriverGrantBucketAccessRequest) GetParameters() map[string]string

func (*DriverGrantBucketAccessRequest) MarshalJSON

func (msg *DriverGrantBucketAccessRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverGrantBucketAccessRequest) ProtoMessage

func (*DriverGrantBucketAccessRequest) ProtoMessage()

func (*DriverGrantBucketAccessRequest) ProtoReflect

func (*DriverGrantBucketAccessRequest) Reset

func (x *DriverGrantBucketAccessRequest) Reset()

func (*DriverGrantBucketAccessRequest) String

func (*DriverGrantBucketAccessRequest) UnmarshalJSON

func (msg *DriverGrantBucketAccessRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverGrantBucketAccessResponse

type DriverGrantBucketAccessResponse struct {

	// This field is REQUIRED
	// This is the account_id that is being provided access. This will
	// be required later to revoke access.
	AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	// This field is REQUIRED
	// Credentials supplied for accessing the bucket ex: aws access key id and secret, etc.
	Credentials map[string]*CredentialDetails `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*DriverGrantBucketAccessResponse) Descriptor deprecated

func (*DriverGrantBucketAccessResponse) Descriptor() ([]byte, []int)

Deprecated: Use DriverGrantBucketAccessResponse.ProtoReflect.Descriptor instead.

func (*DriverGrantBucketAccessResponse) GetAccountId

func (x *DriverGrantBucketAccessResponse) GetAccountId() string

func (*DriverGrantBucketAccessResponse) GetCredentials

func (x *DriverGrantBucketAccessResponse) GetCredentials() map[string]*CredentialDetails

func (*DriverGrantBucketAccessResponse) MarshalJSON

func (msg *DriverGrantBucketAccessResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverGrantBucketAccessResponse) ProtoMessage

func (*DriverGrantBucketAccessResponse) ProtoMessage()

func (*DriverGrantBucketAccessResponse) ProtoReflect

func (*DriverGrantBucketAccessResponse) Reset

func (*DriverGrantBucketAccessResponse) String

func (*DriverGrantBucketAccessResponse) UnmarshalJSON

func (msg *DriverGrantBucketAccessResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverRevokeBucketAccessRequest

type DriverRevokeBucketAccessRequest struct {

	// This field is REQUIRED
	// bucket_id is a globally unique identifier for the bucket
	// in the object storage provider.
	BucketId string `protobuf:"bytes,1,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
	// This field is REQUIRED
	// This is the account_id that is having its access revoked.
	AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	// contains filtered or unexported fields
}

func (*DriverRevokeBucketAccessRequest) Descriptor deprecated

func (*DriverRevokeBucketAccessRequest) Descriptor() ([]byte, []int)

Deprecated: Use DriverRevokeBucketAccessRequest.ProtoReflect.Descriptor instead.

func (*DriverRevokeBucketAccessRequest) GetAccountId

func (x *DriverRevokeBucketAccessRequest) GetAccountId() string

func (*DriverRevokeBucketAccessRequest) GetBucketId

func (x *DriverRevokeBucketAccessRequest) GetBucketId() string

func (*DriverRevokeBucketAccessRequest) MarshalJSON

func (msg *DriverRevokeBucketAccessRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverRevokeBucketAccessRequest) ProtoMessage

func (*DriverRevokeBucketAccessRequest) ProtoMessage()

func (*DriverRevokeBucketAccessRequest) ProtoReflect

func (*DriverRevokeBucketAccessRequest) Reset

func (*DriverRevokeBucketAccessRequest) String

func (*DriverRevokeBucketAccessRequest) UnmarshalJSON

func (msg *DriverRevokeBucketAccessRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type DriverRevokeBucketAccessResponse

type DriverRevokeBucketAccessResponse struct {
	// contains filtered or unexported fields
}

func (*DriverRevokeBucketAccessResponse) Descriptor deprecated

func (*DriverRevokeBucketAccessResponse) Descriptor() ([]byte, []int)

Deprecated: Use DriverRevokeBucketAccessResponse.ProtoReflect.Descriptor instead.

func (*DriverRevokeBucketAccessResponse) MarshalJSON

func (msg *DriverRevokeBucketAccessResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*DriverRevokeBucketAccessResponse) ProtoMessage

func (*DriverRevokeBucketAccessResponse) ProtoMessage()

func (*DriverRevokeBucketAccessResponse) ProtoReflect

func (*DriverRevokeBucketAccessResponse) Reset

func (*DriverRevokeBucketAccessResponse) String

func (*DriverRevokeBucketAccessResponse) UnmarshalJSON

func (msg *DriverRevokeBucketAccessResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GCS

type GCS struct {

	// private_key_name denotes the name of the private key in the storage backend
	PrivateKeyName string `protobuf:"bytes,1,opt,name=private_key_name,json=privateKeyName,proto3" json:"private_key_name,omitempty"`
	// project_id denotes the name of the project id in the storage backend
	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// service_account denotes the name of the service account in the storage backend
	ServiceAccount string `protobuf:"bytes,3,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	// contains filtered or unexported fields
}

func (*GCS) Descriptor deprecated

func (*GCS) Descriptor() ([]byte, []int)

Deprecated: Use GCS.ProtoReflect.Descriptor instead.

func (*GCS) GetPrivateKeyName

func (x *GCS) GetPrivateKeyName() string

func (*GCS) GetProjectId

func (x *GCS) GetProjectId() string

func (*GCS) GetServiceAccount

func (x *GCS) GetServiceAccount() string

func (*GCS) MarshalJSON

func (msg *GCS) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GCS) ProtoMessage

func (*GCS) ProtoMessage()

func (*GCS) ProtoReflect

func (x *GCS) ProtoReflect() protoreflect.Message

func (*GCS) Reset

func (x *GCS) Reset()

func (*GCS) String

func (x *GCS) String() string

func (*GCS) UnmarshalJSON

func (msg *GCS) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type IdentityClient

type IdentityClient interface {
	// This call is meant to retrieve the unique provisioner Identity.
	// This identity will have to be set in BucketClaim.DriverName field in order to invoke this specific provisioner.
	DriverGetInfo(ctx context.Context, in *DriverGetInfoRequest, opts ...grpc.CallOption) (*DriverGetInfoResponse, error)
}

IdentityClient is the client API for Identity service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewIdentityClient

func NewIdentityClient(cc grpc.ClientConnInterface) IdentityClient

type IdentityServer

type IdentityServer interface {
	// This call is meant to retrieve the unique provisioner Identity.
	// This identity will have to be set in BucketClaim.DriverName field in order to invoke this specific provisioner.
	DriverGetInfo(context.Context, *DriverGetInfoRequest) (*DriverGetInfoResponse, error)
}

IdentityServer is the server API for Identity service.

type Protocol

type Protocol struct {

	// Types that are assignable to Type:
	//	*Protocol_S3
	//	*Protocol_AzureBlob
	//	*Protocol_Gcs
	Type isProtocol_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

func (*Protocol) Descriptor deprecated

func (*Protocol) Descriptor() ([]byte, []int)

Deprecated: Use Protocol.ProtoReflect.Descriptor instead.

func (*Protocol) GetAzureBlob

func (x *Protocol) GetAzureBlob() *AzureBlob

func (*Protocol) GetGcs

func (x *Protocol) GetGcs() *GCS

func (*Protocol) GetS3

func (x *Protocol) GetS3() *S3

func (*Protocol) GetType

func (m *Protocol) GetType() isProtocol_Type

func (*Protocol) MarshalJSON

func (msg *Protocol) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Protocol) ProtoMessage

func (*Protocol) ProtoMessage()

func (*Protocol) ProtoReflect

func (x *Protocol) ProtoReflect() protoreflect.Message

func (*Protocol) Reset

func (x *Protocol) Reset()

func (*Protocol) String

func (x *Protocol) String() string

func (*Protocol) UnmarshalJSON

func (msg *Protocol) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Protocol_AzureBlob

type Protocol_AzureBlob struct {
	AzureBlob *AzureBlob `protobuf:"bytes,2,opt,name=azureBlob,proto3,oneof"`
}

type Protocol_Gcs

type Protocol_Gcs struct {
	Gcs *GCS `protobuf:"bytes,3,opt,name=gcs,proto3,oneof"`
}

type Protocol_S3

type Protocol_S3 struct {
	S3 *S3 `protobuf:"bytes,1,opt,name=s3,proto3,oneof"`
}

type ProvisionerClient

type ProvisionerClient interface {
	// This call is made to create the bucket in the backend.
	// This call is idempotent
	//    1. If a bucket that matches both name and parameters already exists, then OK (success) must be returned.
	//    2. If a bucket by same name, but different parameters is provided, then the appropriate error code ALREADY_EXISTS must be returned.
	DriverCreateBucket(ctx context.Context, in *DriverCreateBucketRequest, opts ...grpc.CallOption) (*DriverCreateBucketResponse, error)
	// This call is made to delete the bucket in the backend.
	// If the bucket has already been deleted, then no error should be returned.
	DriverDeleteBucket(ctx context.Context, in *DriverDeleteBucketRequest, opts ...grpc.CallOption) (*DriverDeleteBucketResponse, error)
	// This call grants access to an account. The account_name in the request shall be used as a unique identifier to create credentials.
	// The account_id returned in the response will be used as the unique identifier for deleting this access when calling DriverRevokeBucketAccess.
	DriverGrantBucketAccess(ctx context.Context, in *DriverGrantBucketAccessRequest, opts ...grpc.CallOption) (*DriverGrantBucketAccessResponse, error)
	// This call revokes all access to a particular bucket from a principal.
	DriverRevokeBucketAccess(ctx context.Context, in *DriverRevokeBucketAccessRequest, opts ...grpc.CallOption) (*DriverRevokeBucketAccessResponse, error)
}

ProvisionerClient is the client API for Provisioner service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type ProvisionerServer

type ProvisionerServer interface {
	// This call is made to create the bucket in the backend.
	// This call is idempotent
	//    1. If a bucket that matches both name and parameters already exists, then OK (success) must be returned.
	//    2. If a bucket by same name, but different parameters is provided, then the appropriate error code ALREADY_EXISTS must be returned.
	DriverCreateBucket(context.Context, *DriverCreateBucketRequest) (*DriverCreateBucketResponse, error)
	// This call is made to delete the bucket in the backend.
	// If the bucket has already been deleted, then no error should be returned.
	DriverDeleteBucket(context.Context, *DriverDeleteBucketRequest) (*DriverDeleteBucketResponse, error)
	// This call grants access to an account. The account_name in the request shall be used as a unique identifier to create credentials.
	// The account_id returned in the response will be used as the unique identifier for deleting this access when calling DriverRevokeBucketAccess.
	DriverGrantBucketAccess(context.Context, *DriverGrantBucketAccessRequest) (*DriverGrantBucketAccessResponse, error)
	// This call revokes all access to a particular bucket from a principal.
	DriverRevokeBucketAccess(context.Context, *DriverRevokeBucketAccessRequest) (*DriverRevokeBucketAccessResponse, error)
}

ProvisionerServer is the server API for Provisioner service.

type S3

type S3 struct {

	// region denotes the geographical region where the S3 server is running
	Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	// signature_version denotes the signature version for signing all s3 requests
	SignatureVersion S3SignatureVersion `` /* 148-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*S3) Descriptor deprecated

func (*S3) Descriptor() ([]byte, []int)

Deprecated: Use S3.ProtoReflect.Descriptor instead.

func (*S3) GetRegion

func (x *S3) GetRegion() string

func (*S3) GetSignatureVersion

func (x *S3) GetSignatureVersion() S3SignatureVersion

func (*S3) MarshalJSON

func (msg *S3) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*S3) ProtoMessage

func (*S3) ProtoMessage()

func (*S3) ProtoReflect

func (x *S3) ProtoReflect() protoreflect.Message

func (*S3) Reset

func (x *S3) Reset()

func (*S3) String

func (x *S3) String() string

func (*S3) UnmarshalJSON

func (msg *S3) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type S3SignatureVersion

type S3SignatureVersion int32

S3SignatureVersion is the version of the signing algorithm for all s3 requests

const (
	S3SignatureVersion_UnknownSignature S3SignatureVersion = 0
	// S3V2, Signature version v2
	S3SignatureVersion_S3V2 S3SignatureVersion = 1
	// S3V4, Signature version v4
	S3SignatureVersion_S3V4 S3SignatureVersion = 2
)

func (S3SignatureVersion) Descriptor

func (S3SignatureVersion) Enum

func (S3SignatureVersion) EnumDescriptor deprecated

func (S3SignatureVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use S3SignatureVersion.Descriptor instead.

func (S3SignatureVersion) Number

func (S3SignatureVersion) String

func (x S3SignatureVersion) String() string

func (S3SignatureVersion) Type

type UnimplementedIdentityServer

type UnimplementedIdentityServer struct {
}

UnimplementedIdentityServer can be embedded to have forward compatible implementations.

func (*UnimplementedIdentityServer) DriverGetInfo

type UnimplementedProvisionerServer

type UnimplementedProvisionerServer struct {
}

UnimplementedProvisionerServer can be embedded to have forward compatible implementations.

func (*UnimplementedProvisionerServer) DriverCreateBucket

func (*UnimplementedProvisionerServer) DriverDeleteBucket

Directories

Path Synopsis
hack
fake-gen
If this program is on the path of your machine you can invoke it in the following way:
If this program is on the path of your machine you can invoke it in the following way:
* This command filters a JUnit file such that only tests with a name * matching a regular expression are passed through.
* This command filters a JUnit file such that only tests with a name * matching a regular expression are passed through.

Jump to

Keyboard shortcuts

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