options

package
v2.0.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package options is intended for internal use only. It is made available to facilitate use cases that require access to internal MongoDB driver functionality and state. The API of this package is not stable and there is no backward compatibility guarantee.

WARNING: THIS PACKAGE IS EXPERIMENTAL AND MAY BE MODIFIED OR REMOVED WITHOUT NOTICE! USE WITH EXTREME CAUTION!

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataKeyOptions

type DataKeyOptions struct {
	KeyAltNames []string
	KeyMaterial []byte
	MasterKey   bsoncore.Document
}

DataKeyOptions specifies options for creating a new data key.

func DataKey

func DataKey() *DataKeyOptions

DataKey creates a new DataKeyOptions instance.

func (*DataKeyOptions) SetKeyAltNames

func (dko *DataKeyOptions) SetKeyAltNames(names []string) *DataKeyOptions

SetKeyAltNames specifies alternate key names.

func (*DataKeyOptions) SetKeyMaterial

func (dko *DataKeyOptions) SetKeyMaterial(keyMaterial []byte) *DataKeyOptions

SetKeyMaterial specifies the key material.

func (*DataKeyOptions) SetMasterKey

func (dko *DataKeyOptions) SetMasterKey(key bsoncore.Document) *DataKeyOptions

SetMasterKey specifies the master key.

type ExplicitEncryptionOptions

type ExplicitEncryptionOptions struct {
	KeyID            *bson.Binary
	KeyAltName       *string
	Algorithm        string
	QueryType        string
	ContentionFactor *int64
	RangeOptions     *ExplicitRangeOptions
}

ExplicitEncryptionOptions specifies options for configuring an explicit encryption context.

func ExplicitEncryption

func ExplicitEncryption() *ExplicitEncryptionOptions

ExplicitEncryption creates a new ExplicitEncryptionOptions instance.

func (*ExplicitEncryptionOptions) SetAlgorithm

func (eeo *ExplicitEncryptionOptions) SetAlgorithm(algorithm string) *ExplicitEncryptionOptions

SetAlgorithm specifies an encryption algorithm.

func (*ExplicitEncryptionOptions) SetContentionFactor

func (eeo *ExplicitEncryptionOptions) SetContentionFactor(contentionFactor int64) *ExplicitEncryptionOptions

SetContentionFactor specifies the contention factor.

func (*ExplicitEncryptionOptions) SetKeyAltName

func (eeo *ExplicitEncryptionOptions) SetKeyAltName(keyAltName string) *ExplicitEncryptionOptions

SetKeyAltName sets the key alternative name.

func (*ExplicitEncryptionOptions) SetKeyID

SetKeyID sets the key identifier.

func (*ExplicitEncryptionOptions) SetQueryType

func (eeo *ExplicitEncryptionOptions) SetQueryType(queryType string) *ExplicitEncryptionOptions

SetQueryType specifies the query type.

func (*ExplicitEncryptionOptions) SetRangeOptions

SetRangeOptions specifies the range options.

type ExplicitRangeOptions

type ExplicitRangeOptions struct {
	Min       *bsoncore.Value
	Max       *bsoncore.Value
	Sparsity  int64
	Precision *int32
}

ExplicitRangeOptions specifies options for the range index.

type MongoCryptOptions

type MongoCryptOptions struct {
	KmsProviders               bsoncore.Document
	LocalSchemaMap             map[string]bsoncore.Document
	BypassQueryAnalysis        bool
	EncryptedFieldsMap         map[string]bsoncore.Document
	CryptSharedLibDisabled     bool
	CryptSharedLibOverridePath string
	HTTPClient                 *http.Client
}

MongoCryptOptions specifies options to configure a MongoCrypt instance.

func MongoCrypt

func MongoCrypt() *MongoCryptOptions

MongoCrypt creates a new MongoCryptOptions instance.

func (*MongoCryptOptions) SetBypassQueryAnalysis

func (mo *MongoCryptOptions) SetBypassQueryAnalysis(bypassQueryAnalysis bool) *MongoCryptOptions

SetBypassQueryAnalysis skips the NeedMongoMarkings state.

func (*MongoCryptOptions) SetCryptSharedLibDisabled

func (mo *MongoCryptOptions) SetCryptSharedLibDisabled(disabled bool) *MongoCryptOptions

SetCryptSharedLibDisabled explicitly disables loading the crypt_shared library if set to true.

func (*MongoCryptOptions) SetCryptSharedLibOverridePath

func (mo *MongoCryptOptions) SetCryptSharedLibOverridePath(path string) *MongoCryptOptions

SetCryptSharedLibOverridePath sets the override path to the crypt_shared library file. Setting an override path disables the default operating system dynamic library search path.

func (*MongoCryptOptions) SetEncryptedFieldsMap

func (mo *MongoCryptOptions) SetEncryptedFieldsMap(efcMap map[string]bsoncore.Document) *MongoCryptOptions

SetEncryptedFieldsMap specifies the encrypted fields map.

func (*MongoCryptOptions) SetHTTPClient

func (mo *MongoCryptOptions) SetHTTPClient(httpClient *http.Client) *MongoCryptOptions

SetHTTPClient sets the http client.

func (*MongoCryptOptions) SetKmsProviders

func (mo *MongoCryptOptions) SetKmsProviders(kmsProviders bsoncore.Document) *MongoCryptOptions

SetKmsProviders specifies the KMS providers map.

func (*MongoCryptOptions) SetLocalSchemaMap

func (mo *MongoCryptOptions) SetLocalSchemaMap(localSchemaMap map[string]bsoncore.Document) *MongoCryptOptions

SetLocalSchemaMap specifies the local schema map.

type QueryType

type QueryType int

QueryType describes the type of query the result of Encrypt is used for.

const (
	QueryTypeEquality QueryType = 1
)

These constants specify valid values for QueryType

type RewrapManyDataKeyOptions

type RewrapManyDataKeyOptions struct {
	// Provider identifies the new KMS provider. If omitted, encrypting uses the current KMS provider.
	Provider *string

	// MasterKey identifies the new masterKey. If omitted, rewraps with the current masterKey.
	MasterKey bsoncore.Document
}

RewrapManyDataKeyOptions represents all possible options used to decrypt and encrypt all matching data keys with a possibly new masterKey.

func RewrapManyDataKey

func RewrapManyDataKey() *RewrapManyDataKeyOptions

RewrapManyDataKey creates a new RewrapManyDataKeyOptions instance.

func (*RewrapManyDataKeyOptions) SetMasterKey

func (rmdko *RewrapManyDataKeyOptions) SetMasterKey(masterKey bsoncore.Document) *RewrapManyDataKeyOptions

SetMasterKey sets the value for the MasterKey field.

func (*RewrapManyDataKeyOptions) SetProvider

func (rmdko *RewrapManyDataKeyOptions) SetProvider(provider string) *RewrapManyDataKeyOptions

SetProvider sets the value for the Provider field.

Jump to

Keyboard shortcuts

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