client

package
v0.8.16 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2022 License: MPL-2.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddGcpMetadata

func AddGcpMetadata(ctx context.Context, c schema.ClientMeta, r *schema.Resource) error

func AllowEmptyStringIPNetResolver added in v0.8.10

func AllowEmptyStringIPNetResolver(path string) schema.ColumnResolver

func Configure

func Configure(logger hclog.Logger, config interface{}) (schema.ClientMeta, diag.Diagnostics)

func DeleteProjectFilter

func DeleteProjectFilter(meta schema.ClientMeta, _ *schema.Resource) []interface{}

func ErrorClassifier added in v0.5.0

func ErrorClassifier(meta schema.ClientMeta, resourceName string, err error) diag.Diagnostics

func GcpMockTestHelper added in v0.5.1

func GcpMockTestHelper(t *testing.T, table *schema.Table, createService func() (*Services, error), options TestOptions)

func IgnoreErrorHandler

func IgnoreErrorHandler(err error) bool

func ProjectMultiplex

func ProjectMultiplex(meta schema.ClientMeta) []schema.ClientMeta

func RedactError added in v0.6.1

func RedactError(projects []string, e diag.Diagnostic) diag.Diagnostic

RedactError redacts a given diagnostic and returns a redacted diagnostic containing both original and redacted versions

func ResolveProject

func ResolveProject(_ context.Context, meta schema.ClientMeta, r *schema.Resource, _ schema.Column) error

Types

type BackoffSettings added in v0.6.5

type BackoffSettings struct {
	Gax        gax.Backoff
	Backoff    backoff.Config
	MaxRetries int
}

type Client

type Client struct {

	// All gcp services initialized by client
	Services *Services
	// this is set by table client multiplexer
	ProjectId string
	// contains filtered or unexported fields
}

func NewGcpClient

func NewGcpClient(log hclog.Logger, bo BackoffSettings, projects []string, services *Services) *Client

func (Client) Logger

func (c Client) Logger() hclog.Logger

func (*Client) RetryingDo added in v0.6.5

func (c *Client) RetryingDo(ctx context.Context, doerIface interface{}, opts ...googleapi.CallOption) (interface{}, error)

RetryingDo runs the given doerIface with retry doerIface needs to have two methods: `Call(...googleapi.CallOption) (T, error)` and `Context(ctx.Context) T`

type Config

type Config struct {
	ProjectFilter         string   `yaml:"project_filter,omitempty" hcl:"project_filter,optional"` // Deprecated
	ProjectIDs            []string `yaml:"project_ids,omitempty" hcl:"project_ids,optional"`
	FolderIDs             []string `yaml:"folder_ids,omitempty" hcl:"folder_ids,optional"`
	FolderMaxDepth        uint     `yaml:"folders_max_depth,omitempty" hcl:"folders_max_depth,optional"`
	ServiceAccountKeyJSON string   `yaml:"service_account_key_json,omitempty" hcl:"service_account_key_json,optional"`

	BaseDelay         int     `yaml:"backoff_base_delay,omitempty" hcl:"backoff_base_delay,optional" default:"-1"`
	Multiplier        float64 `yaml:"backoff_multiplier,omitempty" hcl:"backoff_multiplier,optional"`
	MaxDelay          int     `yaml:"backoff_max_delay,omitempty" hcl:"backoff_max_delay,optional"`
	Jitter            float64 `yaml:"backoff_jitter,omitempty" hcl:"backoff_jitter,optional"`
	MinConnectTimeout int     `yaml:"backoff_min_connect_timeout,omitempty" hcl:"backoff_min_connect_timeout,optional"`
	MaxRetries        int     `yaml:"max_retries,omitempty" hcl:"max_retries,optional" default:"3"`
	// contains filtered or unexported fields
}

Config defines Provider Configuration

func NewConfig added in v0.8.15

func NewConfig(f cqproto.ConfigFormat) *Config

func (Config) Backoff added in v0.6.5

func (c Config) Backoff() BackoffSettings

func (Config) ClientOptions added in v0.6.5

func (c Config) ClientOptions() []option.ClientOption

func (Config) Example added in v0.3.0

func (c Config) Example() string

func (Config) Format added in v0.8.15

func (c Config) Format() cqproto.ConfigFormat

type GcpService added in v0.8.5

type GcpService string
const (
	BigQueryService             GcpService = "bigquery.googleapis.com"
	CloudBillingService         GcpService = "cloudbilling.googleapis.com"
	CloudFunctionsService       GcpService = "cloudfunctions.googleapis.com"
	CloudKmsService             GcpService = "cloudkms.googleapis.com"
	CloudResourceManagerService GcpService = "cloudresourcemanager.googleapis.com"
	ComputeService              GcpService = "compute.googleapis.com"
	DnsService                  GcpService = "dns.googleapis.com"
	DomainsService              GcpService = "domains.googleapis.com"
	IamService                  GcpService = "iam.googleapis.com"
	LoggingService              GcpService = "logging.googleapis.com"
	MonitoringService           GcpService = "monitoring.googleapis.com"
	SqlAdminService             GcpService = "sqladmin.googleapis.com"
	StorageService              GcpService = "storage-api.googleapis.com"
)

type Services

type Services struct {
	Kms             *kms.Service
	Storage         *storage.Service
	Sql             *sql.Service
	Iam             *iam.Service
	CloudBilling    *cloudbilling.APIService
	CloudFunctions  *cloudfunctions.Service
	Domain          *domains.Service
	Compute         *compute.Service
	BigQuery        *bigquery.Service
	Dns             *dns.Service
	Logging         *logging.Service
	Monitoring      *monitoring.Service
	ResourceManager *cloudresourcemanager.Service
	ServiceUsage    *serviceusage.Service
	Container       *container.Service
}

type TestOptions added in v0.5.1

type TestOptions struct {
	SkipEmptyJsonB bool
}

Jump to

Keyboard shortcuts

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