client

package
v1.18.4 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2022 License: MIT Imports: 21 Imported by: 3

Documentation

Overview

Package client is a generated GoMock package.

Package client is a generated GoMock package.

Index

Constants

View Source
const (
	// VisibilityAppName is used to find ES indexName for visibility
	VisibilityAppName          = "visibility"
	SecondaryVisibilityAppName = "secondary_visibility"
)

Variables

This section is empty.

Functions

func HttpStatus added in v1.14.0

func HttpStatus(err error) int

func IsRetryableError

func IsRetryableError(err error) bool

func IsRetryableStatus

func IsRetryableStatus(httpStatus int) bool

IsRetryableStatus is complaint with elastic.BulkProcessorService.RetryItemStatusCodes responses with these status will be kept in queue and retried until success 408 - Request Timeout 429 - Too Many Requests 500 - Node not connected 503 - Service Unavailable 507 - Insufficient Storage

func NewAwsHttpClient

func NewAwsHttpClient(config ESAWSRequestSigningConfig) (*http.Client, error)

Types

type BulkProcessor

type BulkProcessor interface {
	Stop() error
	Add(request *BulkableRequest)
}

type BulkProcessorParameters

type BulkProcessorParameters struct {
	Name          string
	NumOfWorkers  int
	BulkActions   int
	BulkSize      int
	FlushInterval time.Duration
	Backoff       elastic.Backoff
	BeforeFunc    elastic.BulkBeforeFunc
	AfterFunc     elastic.BulkAfterFunc
}

BulkProcessorParameters holds all required and optional parameters for executing bulk service

type BulkService

type BulkService interface {
	Do(ctx context.Context) error
	NumberOfActions() int
	Add(request *BulkableRequest)
}

type BulkableRequest

type BulkableRequest struct {
	RequestType BulkableRequestType
	Index       string
	ID          string
	Version     int64
	Doc         map[string]interface{}
}

type BulkableRequestType

type BulkableRequestType uint8
const (
	BulkableRequestTypeIndex BulkableRequestType = iota
	BulkableRequestTypeDelete
)

type CLIClient

type CLIClient interface {
	Client
	Delete(ctx context.Context, indexName string, docID string, version int64) error
}

func NewCLIClient

func NewCLIClient(config *Config, logger log.Logger) (CLIClient, error)

type Client

type Client interface {
	Search(ctx context.Context, p *SearchParameters) (*elastic.SearchResult, error)
	Count(ctx context.Context, index string, query elastic.Query) (int64, error)
	RunBulkProcessor(ctx context.Context, p *BulkProcessorParameters) (BulkProcessor, error)

	OpenScroll(ctx context.Context, p *SearchParameters, keepAliveInterval string) (*elastic.SearchResult, error)
	Scroll(ctx context.Context, scrollID string, keepAliveInterval string) (*elastic.SearchResult, error)
	CloseScroll(ctx context.Context, id string) error

	// TODO (alex): move this to some admin client (and join with IntegrationTestsClient)
	PutMapping(ctx context.Context, index string, mapping map[string]enumspb.IndexedValueType) (bool, error)
	WaitForYellowStatus(ctx context.Context, index string) (string, error)
	GetMapping(ctx context.Context, index string) (map[string]string, error)

	IsPointInTimeSupported(ctx context.Context) bool
	OpenPointInTime(ctx context.Context, index string, keepAliveInterval string) (string, error)
	ClosePointInTime(ctx context.Context, id string) (bool, error)
}

Client is a wrapper around Elasticsearch client library.

func NewClient

func NewClient(config *Config, httpClient *http.Client, logger log.Logger) (Client, error)

type Config

type Config struct {
	Version                      string                    `yaml:"version"`
	URL                          url.URL                   `yaml:"url"`
	Username                     string                    `yaml:"username"`
	Password                     string                    `yaml:"password"`
	Indices                      map[string]string         `yaml:"indices"`
	LogLevel                     string                    `yaml:"logLevel"`
	AWSRequestSigning            ESAWSRequestSigningConfig `yaml:"aws-request-signing"`
	CloseIdleConnectionsInterval time.Duration             `yaml:"closeIdleConnectionsInterval"`
	EnableSniff                  bool                      `yaml:"enableSniff"`
	EnableHealthcheck            bool                      `yaml:"enableHealthcheck"`
}

Config for connecting to Elasticsearch

func (*Config) GetSecondaryVisibilityIndex added in v1.14.3

func (cfg *Config) GetSecondaryVisibilityIndex() string

func (*Config) GetVisibilityIndex

func (cfg *Config) GetVisibilityIndex() string

GetVisibilityIndex return visibility index name from Elasticsearch config or empty string if it is not defined.

func (*Config) Validate

func (cfg *Config) Validate(storeName string) error

type ESAWSRequestSigningConfig

type ESAWSRequestSigningConfig struct {
	Enabled bool   `yaml:"enabled"`
	Region  string `yaml:"region"`

	// Possible options for CredentialProvider include:
	//   1) static (fill out static Credential Provider)
	//   2) environment
	//		a) AccessKeyID from either AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY environment variable
	//		b) SecretAccessKey from either AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY environment variable
	//   3) aws-sdk-default
	//		a) Follows aws-go-sdk default credential resolution for session.NewSession
	CredentialProvider string `yaml:"credentialProvider"`

	Static ESAWSStaticCredentialProvider `yaml:"static"`
}

ESAWSRequestSigningConfig represents configuration for signing ES requests to AWS

type ESAWSStaticCredentialProvider

type ESAWSStaticCredentialProvider struct {
	AccessKeyID     string `yaml:"accessKeyID"`
	SecretAccessKey string `yaml:"secretAccessKey"`

	// Token only required for temporary security credentials retrieved via STS. Otherwise, this is optional.
	Token string `yaml:"token"`
}

ESAWSStaticCredentialProvider represents static AWS credentials

type IntegrationTestsClient

type IntegrationTestsClient interface {
	CreateIndex(ctx context.Context, index string) (bool, error)
	IndexPutTemplate(ctx context.Context, templateName string, bodyString string) (bool, error)
	IndexExists(ctx context.Context, indexName string) (bool, error)
	DeleteIndex(ctx context.Context, indexName string) (bool, error)
	IndexPutSettings(ctx context.Context, indexName string, bodyString string) (bool, error)
	IndexGetSettings(ctx context.Context, indexName string) (map[string]*elastic.IndicesGetSettingsResponse, error)
}

func NewIntegrationTestsClient

func NewIntegrationTestsClient(config *Config, logger log.Logger) (IntegrationTestsClient, error)

type MockBulkProcessor

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

MockBulkProcessor is a mock of BulkProcessor interface.

func NewMockBulkProcessor

func NewMockBulkProcessor(ctrl *gomock.Controller) *MockBulkProcessor

NewMockBulkProcessor creates a new mock instance.

func (*MockBulkProcessor) Add

func (m *MockBulkProcessor) Add(request *BulkableRequest)

Add mocks base method.

func (*MockBulkProcessor) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBulkProcessor) Stop

func (m *MockBulkProcessor) Stop() error

Stop mocks base method.

type MockBulkProcessorMockRecorder

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

MockBulkProcessorMockRecorder is the mock recorder for MockBulkProcessor.

func (*MockBulkProcessorMockRecorder) Add

func (mr *MockBulkProcessorMockRecorder) Add(request interface{}) *gomock.Call

Add indicates an expected call of Add.

func (*MockBulkProcessorMockRecorder) Stop

Stop indicates an expected call of Stop.

type MockCLIClient

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

MockCLIClient is a mock of CLIClient interface.

func NewMockCLIClient

func NewMockCLIClient(ctrl *gomock.Controller) *MockCLIClient

NewMockCLIClient creates a new mock instance.

func (*MockCLIClient) ClosePointInTime added in v1.18.0

func (m *MockCLIClient) ClosePointInTime(ctx context.Context, id string) (bool, error)

ClosePointInTime mocks base method.

func (*MockCLIClient) CloseScroll

func (m *MockCLIClient) CloseScroll(ctx context.Context, id string) error

CloseScroll mocks base method.

func (*MockCLIClient) Count

func (m *MockCLIClient) Count(ctx context.Context, index string, query v7.Query) (int64, error)

Count mocks base method.

func (*MockCLIClient) Delete

func (m *MockCLIClient) Delete(ctx context.Context, indexName, docID string, version int64) error

Delete mocks base method.

func (*MockCLIClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockCLIClient) GetMapping

func (m *MockCLIClient) GetMapping(ctx context.Context, index string) (map[string]string, error)

GetMapping mocks base method.

func (*MockCLIClient) IsPointInTimeSupported added in v1.18.0

func (m *MockCLIClient) IsPointInTimeSupported(ctx context.Context) bool

IsPointInTimeSupported mocks base method.

func (*MockCLIClient) OpenPointInTime added in v1.18.0

func (m *MockCLIClient) OpenPointInTime(ctx context.Context, index, keepAliveInterval string) (string, error)

OpenPointInTime mocks base method.

func (*MockCLIClient) OpenScroll

func (m *MockCLIClient) OpenScroll(ctx context.Context, p *SearchParameters, keepAliveInterval string) (*v7.SearchResult, error)

OpenScroll mocks base method.

func (*MockCLIClient) PutMapping

func (m *MockCLIClient) PutMapping(ctx context.Context, index string, mapping map[string]v1.IndexedValueType) (bool, error)

PutMapping mocks base method.

func (*MockCLIClient) RunBulkProcessor

func (m *MockCLIClient) RunBulkProcessor(ctx context.Context, p *BulkProcessorParameters) (BulkProcessor, error)

RunBulkProcessor mocks base method.

func (*MockCLIClient) Scroll

func (m *MockCLIClient) Scroll(ctx context.Context, scrollID, keepAliveInterval string) (*v7.SearchResult, error)

Scroll mocks base method.

func (*MockCLIClient) Search

Search mocks base method.

func (*MockCLIClient) WaitForYellowStatus

func (m *MockCLIClient) WaitForYellowStatus(ctx context.Context, index string) (string, error)

WaitForYellowStatus mocks base method.

type MockCLIClientMockRecorder

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

MockCLIClientMockRecorder is the mock recorder for MockCLIClient.

func (*MockCLIClientMockRecorder) ClosePointInTime added in v1.18.0

func (mr *MockCLIClientMockRecorder) ClosePointInTime(ctx, id interface{}) *gomock.Call

ClosePointInTime indicates an expected call of ClosePointInTime.

func (*MockCLIClientMockRecorder) CloseScroll

func (mr *MockCLIClientMockRecorder) CloseScroll(ctx, id interface{}) *gomock.Call

CloseScroll indicates an expected call of CloseScroll.

func (*MockCLIClientMockRecorder) Count

func (mr *MockCLIClientMockRecorder) Count(ctx, index, query interface{}) *gomock.Call

Count indicates an expected call of Count.

func (*MockCLIClientMockRecorder) Delete

func (mr *MockCLIClientMockRecorder) Delete(ctx, indexName, docID, version interface{}) *gomock.Call

Delete indicates an expected call of Delete.

func (*MockCLIClientMockRecorder) GetMapping

func (mr *MockCLIClientMockRecorder) GetMapping(ctx, index interface{}) *gomock.Call

GetMapping indicates an expected call of GetMapping.

func (*MockCLIClientMockRecorder) IsPointInTimeSupported added in v1.18.0

func (mr *MockCLIClientMockRecorder) IsPointInTimeSupported(ctx interface{}) *gomock.Call

IsPointInTimeSupported indicates an expected call of IsPointInTimeSupported.

func (*MockCLIClientMockRecorder) OpenPointInTime added in v1.18.0

func (mr *MockCLIClientMockRecorder) OpenPointInTime(ctx, index, keepAliveInterval interface{}) *gomock.Call

OpenPointInTime indicates an expected call of OpenPointInTime.

func (*MockCLIClientMockRecorder) OpenScroll

func (mr *MockCLIClientMockRecorder) OpenScroll(ctx, p, keepAliveInterval interface{}) *gomock.Call

OpenScroll indicates an expected call of OpenScroll.

func (*MockCLIClientMockRecorder) PutMapping

func (mr *MockCLIClientMockRecorder) PutMapping(ctx, index, mapping interface{}) *gomock.Call

PutMapping indicates an expected call of PutMapping.

func (*MockCLIClientMockRecorder) RunBulkProcessor

func (mr *MockCLIClientMockRecorder) RunBulkProcessor(ctx, p interface{}) *gomock.Call

RunBulkProcessor indicates an expected call of RunBulkProcessor.

func (*MockCLIClientMockRecorder) Scroll

func (mr *MockCLIClientMockRecorder) Scroll(ctx, scrollID, keepAliveInterval interface{}) *gomock.Call

Scroll indicates an expected call of Scroll.

func (*MockCLIClientMockRecorder) Search

func (mr *MockCLIClientMockRecorder) Search(ctx, p interface{}) *gomock.Call

Search indicates an expected call of Search.

func (*MockCLIClientMockRecorder) WaitForYellowStatus

func (mr *MockCLIClientMockRecorder) WaitForYellowStatus(ctx, index interface{}) *gomock.Call

WaitForYellowStatus indicates an expected call of WaitForYellowStatus.

type MockClient

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

MockClient is a mock of Client interface.

func NewMockClient

func NewMockClient(ctrl *gomock.Controller) *MockClient

NewMockClient creates a new mock instance.

func (*MockClient) ClosePointInTime added in v1.18.0

func (m *MockClient) ClosePointInTime(ctx context.Context, id string) (bool, error)

ClosePointInTime mocks base method.

func (*MockClient) CloseScroll

func (m *MockClient) CloseScroll(ctx context.Context, id string) error

CloseScroll mocks base method.

func (*MockClient) Count

func (m *MockClient) Count(ctx context.Context, index string, query v7.Query) (int64, error)

Count mocks base method.

func (*MockClient) EXPECT

func (m *MockClient) EXPECT() *MockClientMockRecorder

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockClient) GetMapping

func (m *MockClient) GetMapping(ctx context.Context, index string) (map[string]string, error)

GetMapping mocks base method.

func (*MockClient) IsPointInTimeSupported added in v1.18.0

func (m *MockClient) IsPointInTimeSupported(ctx context.Context) bool

IsPointInTimeSupported mocks base method.

func (*MockClient) OpenPointInTime added in v1.18.0

func (m *MockClient) OpenPointInTime(ctx context.Context, index, keepAliveInterval string) (string, error)

OpenPointInTime mocks base method.

func (*MockClient) OpenScroll

func (m *MockClient) OpenScroll(ctx context.Context, p *SearchParameters, keepAliveInterval string) (*v7.SearchResult, error)

OpenScroll mocks base method.

func (*MockClient) PutMapping

func (m *MockClient) PutMapping(ctx context.Context, index string, mapping map[string]v1.IndexedValueType) (bool, error)

PutMapping mocks base method.

func (*MockClient) RunBulkProcessor

func (m *MockClient) RunBulkProcessor(ctx context.Context, p *BulkProcessorParameters) (BulkProcessor, error)

RunBulkProcessor mocks base method.

func (*MockClient) Scroll

func (m *MockClient) Scroll(ctx context.Context, scrollID, keepAliveInterval string) (*v7.SearchResult, error)

Scroll mocks base method.

func (*MockClient) Search

Search mocks base method.

func (*MockClient) WaitForYellowStatus

func (m *MockClient) WaitForYellowStatus(ctx context.Context, index string) (string, error)

WaitForYellowStatus mocks base method.

type MockClientMockRecorder

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

MockClientMockRecorder is the mock recorder for MockClient.

func (*MockClientMockRecorder) ClosePointInTime added in v1.18.0

func (mr *MockClientMockRecorder) ClosePointInTime(ctx, id interface{}) *gomock.Call

ClosePointInTime indicates an expected call of ClosePointInTime.

func (*MockClientMockRecorder) CloseScroll

func (mr *MockClientMockRecorder) CloseScroll(ctx, id interface{}) *gomock.Call

CloseScroll indicates an expected call of CloseScroll.

func (*MockClientMockRecorder) Count

func (mr *MockClientMockRecorder) Count(ctx, index, query interface{}) *gomock.Call

Count indicates an expected call of Count.

func (*MockClientMockRecorder) GetMapping

func (mr *MockClientMockRecorder) GetMapping(ctx, index interface{}) *gomock.Call

GetMapping indicates an expected call of GetMapping.

func (*MockClientMockRecorder) IsPointInTimeSupported added in v1.18.0

func (mr *MockClientMockRecorder) IsPointInTimeSupported(ctx interface{}) *gomock.Call

IsPointInTimeSupported indicates an expected call of IsPointInTimeSupported.

func (*MockClientMockRecorder) OpenPointInTime added in v1.18.0

func (mr *MockClientMockRecorder) OpenPointInTime(ctx, index, keepAliveInterval interface{}) *gomock.Call

OpenPointInTime indicates an expected call of OpenPointInTime.

func (*MockClientMockRecorder) OpenScroll

func (mr *MockClientMockRecorder) OpenScroll(ctx, p, keepAliveInterval interface{}) *gomock.Call

OpenScroll indicates an expected call of OpenScroll.

func (*MockClientMockRecorder) PutMapping

func (mr *MockClientMockRecorder) PutMapping(ctx, index, mapping interface{}) *gomock.Call

PutMapping indicates an expected call of PutMapping.

func (*MockClientMockRecorder) RunBulkProcessor

func (mr *MockClientMockRecorder) RunBulkProcessor(ctx, p interface{}) *gomock.Call

RunBulkProcessor indicates an expected call of RunBulkProcessor.

func (*MockClientMockRecorder) Scroll

func (mr *MockClientMockRecorder) Scroll(ctx, scrollID, keepAliveInterval interface{}) *gomock.Call

Scroll indicates an expected call of Scroll.

func (*MockClientMockRecorder) Search

func (mr *MockClientMockRecorder) Search(ctx, p interface{}) *gomock.Call

Search indicates an expected call of Search.

func (*MockClientMockRecorder) WaitForYellowStatus

func (mr *MockClientMockRecorder) WaitForYellowStatus(ctx, index interface{}) *gomock.Call

WaitForYellowStatus indicates an expected call of WaitForYellowStatus.

type MockIntegrationTestsClient

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

MockIntegrationTestsClient is a mock of IntegrationTestsClient interface.

func NewMockIntegrationTestsClient

func NewMockIntegrationTestsClient(ctrl *gomock.Controller) *MockIntegrationTestsClient

NewMockIntegrationTestsClient creates a new mock instance.

func (*MockIntegrationTestsClient) CreateIndex

func (m *MockIntegrationTestsClient) CreateIndex(ctx context.Context, index string) (bool, error)

CreateIndex mocks base method.

func (*MockIntegrationTestsClient) DeleteIndex

func (m *MockIntegrationTestsClient) DeleteIndex(ctx context.Context, indexName string) (bool, error)

DeleteIndex mocks base method.

func (*MockIntegrationTestsClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockIntegrationTestsClient) IndexExists

func (m *MockIntegrationTestsClient) IndexExists(ctx context.Context, indexName string) (bool, error)

IndexExists mocks base method.

func (*MockIntegrationTestsClient) IndexGetSettings

func (m *MockIntegrationTestsClient) IndexGetSettings(ctx context.Context, indexName string) (map[string]*v7.IndicesGetSettingsResponse, error)

IndexGetSettings mocks base method.

func (*MockIntegrationTestsClient) IndexPutSettings

func (m *MockIntegrationTestsClient) IndexPutSettings(ctx context.Context, indexName, bodyString string) (bool, error)

IndexPutSettings mocks base method.

func (*MockIntegrationTestsClient) IndexPutTemplate

func (m *MockIntegrationTestsClient) IndexPutTemplate(ctx context.Context, templateName, bodyString string) (bool, error)

IndexPutTemplate mocks base method.

type MockIntegrationTestsClientMockRecorder

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

MockIntegrationTestsClientMockRecorder is the mock recorder for MockIntegrationTestsClient.

func (*MockIntegrationTestsClientMockRecorder) CreateIndex

func (mr *MockIntegrationTestsClientMockRecorder) CreateIndex(ctx, index interface{}) *gomock.Call

CreateIndex indicates an expected call of CreateIndex.

func (*MockIntegrationTestsClientMockRecorder) DeleteIndex

func (mr *MockIntegrationTestsClientMockRecorder) DeleteIndex(ctx, indexName interface{}) *gomock.Call

DeleteIndex indicates an expected call of DeleteIndex.

func (*MockIntegrationTestsClientMockRecorder) IndexExists

func (mr *MockIntegrationTestsClientMockRecorder) IndexExists(ctx, indexName interface{}) *gomock.Call

IndexExists indicates an expected call of IndexExists.

func (*MockIntegrationTestsClientMockRecorder) IndexGetSettings

func (mr *MockIntegrationTestsClientMockRecorder) IndexGetSettings(ctx, indexName interface{}) *gomock.Call

IndexGetSettings indicates an expected call of IndexGetSettings.

func (*MockIntegrationTestsClientMockRecorder) IndexPutSettings

func (mr *MockIntegrationTestsClientMockRecorder) IndexPutSettings(ctx, indexName, bodyString interface{}) *gomock.Call

IndexPutSettings indicates an expected call of IndexPutSettings.

func (*MockIntegrationTestsClientMockRecorder) IndexPutTemplate

func (mr *MockIntegrationTestsClientMockRecorder) IndexPutTemplate(ctx, templateName, bodyString interface{}) *gomock.Call

IndexPutTemplate indicates an expected call of IndexPutTemplate.

type SearchParameters

type SearchParameters struct {
	Index    string
	Query    elastic.Query
	PageSize int
	Sorter   []elastic.Sorter

	SearchAfter []interface{}
	PointInTime *elastic.PointInTime
}

SearchParameters holds all required and optional parameters for executing a search.

Jump to

Keyboard shortcuts

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