Documentation
¶
Index ¶
- func AsStringArray(source []interface{}) []string
- func Provider() terraform.ResourceProvider
- type AccessToken
- type CSVImportExtractor
- type CSVUploadSettings
- type Configuration
- type CreateGoodDataProject
- type CreateResourceResult
- type DateDimension
- type FTPExtractor
- type FTPFile
- type FTPSettings
- type GoodDataColumn
- type GoodDataProject
- type GoodDataStorage
- type GoodDataStorageInput
- type GoodDataStorageTable
- type GoodDataTable
- type GoodDataTableV3
- type GoodDataUser
- type GoodDataUserManagement
- type GoodDataUserManagementComponentV2
- type GoodDataUserManagementConfiguration
- type GoodDataUserManagementConfigurationV2
- type GoodDataUserManagementInput
- type GoodDataUserManagementInputTableV2
- type GoodDataUserManagementOutput
- type GoodDataUserManagementParameters
- type GoodDataUserManagementParametersV2
- type GoodDataUserManagementStorage
- type GoodDataUserManagementStorageInputV2
- type GoodDataUserManagementStorageV2
- type GoodDataWriter
- type GoodDataWriterComponent
- type GoodDataWriterConfiguration
- type GoodDataWriterParameters
- type Input
- type KBCBoolean
- type KBCBooleanNumber
- type KBCClient
- func (c *KBCClient) DeleteFromStorage(endpoint string) (*http.Response, error)
- func (c *KBCClient) DeleteFromSyrup(endpoint string) (*http.Response, error)
- func (c *KBCClient) GetFromStorage(endpoint string) (*http.Response, error)
- func (c *KBCClient) GetFromSyrup(endpoint string) (*http.Response, error)
- func (c *KBCClient) PatchOnSyrup(endpoint string, jsonpayload *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PostToFileImport(endpoint string, formdata *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PostToStorage(endpoint string, formdata *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PostToSyrup(endpoint string, jsonpayload *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PutFormToSyrup(endpoint string, formdata *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PutToStorage(endpoint string, formData *bytes.Buffer) (*http.Response, error)
- func (c *KBCClient) PutToSyrup(endpoint string, jsonpayload *bytes.Buffer) (*http.Response, error)
- type KBCNumberString
- type KBCTime
- type Orchestration
- type OrchestrationNotification
- type OrchestrationTask
- type OrchestrationToken
- type Output
- type PostgreSQLWriter
- type PostgreSQLWriterConfiguration
- type PostgreSQLWriterDatabaseParameters
- type PostgreSQLWriterParameters
- type PostgreSQLWriterStorage
- type PostgreSQLWriterStorageTable
- type PostgreSQLWriterTable
- type PostgreSQLWriterTableItem
- type ProvisionSnowflakeResponse
- type SnowflakeDatabaseParameters
- type SnowflakeExtractor
- type SnowflakeExtractorConfiguration
- type SnowflakeExtractorInputTable
- type SnowflakeExtractorParameters
- type SnowflakeExtractorTable
- type SnowflakeWriter
- type SnowflakeWriterConfiguration
- type SnowflakeWriterDatabaseParameters
- type SnowflakeWriterParameters
- type SnowflakeWriterStorage
- type SnowflakeWriterStorageTable
- type SnowflakeWriterTable
- type SnowflakeWriterTableItem
- type StorageBucket
- type StorageJobStatus
- type StorageTable
- type SyrupJobStatus
- type Transformation
- type TransformationBucket
- type UploadFileResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AsStringArray ¶
func AsStringArray(source []interface{}) []string
AsStringArray converts an array of interfaces to an array of strings Terraform stores array data within the ResourceData as []interface{}
func Provider ¶
func Provider() terraform.ResourceProvider
Provider returns a terraform.ResourceProvider for the Keboola provider.
Types ¶
type AccessToken ¶
type AccessToken struct {
ID string `json:"id,omitempty"`
Description string `json:"description"`
CreatedAt KBCTime `json:"created"`
CanManageBuckets bool `json:"canManageBuckets"`
CanManageTokens bool `json:"canManageTokens"`
CanReadAllFileUploads bool `json:"canReadAllFileUploads"`
ExpiresIn KBCTime `json:"expires"`
ComponentAccess []string `json:"componentAccess"`
BucketPermissions map[string]interface{} `json:"bucketPermissions"`
}
type CSVImportExtractor ¶
type CSVImportExtractor struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Configuration CSVUploadSettings `json:"configuration"`
}
type CSVUploadSettings ¶
type Configuration ¶
type Configuration struct {
Input []Input `json:"input,omitempty"`
Output []Output `json:"output,omitempty"`
Queries []string `json:"queries,omitempty"`
ID string `json:"id,omitempty"`
Name string `json:"name"`
Description string `json:"description"`
Disabled bool `json:"disabled,omitempty"`
BackEnd string `json:"backend"`
Phase KBCNumberString `json:"phase"`
Type string `json:"type"`
}
Configuration holds the core configuration for each transformation, as it is structured in the Keboola Storage API.
type CreateGoodDataProject ¶
type CreateResourceResult ¶
CreateResourceResult holds the results from requesting creation of a Keboola resource.
type DateDimension ¶
type FTPExtractor ¶
type FTPExtractor struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Configuration FTPSettings `json:"configuration"`
Files []FTPFile `json:"rows"`
}
type FTPSettings ¶
type GoodDataColumn ¶
type GoodDataColumn struct {
Name string `json:"name"`
DataType string `json:"dataType"`
DataTypeSize string `json:"dataTypeSize"`
SchemaReference string `json:"schemaReference"`
Reference string `json:"reference"`
SortOrder string `json:"sortOrder"`
SortLabel string `json:"sortLabel"`
Format string `json:"format"`
DateDimension string `json:"dateDimension"`
Title string `json:"title"`
Type string `json:"type"`
}
type GoodDataProject ¶
type GoodDataProject struct {
ProjectId string `json:"pid"`
}
type GoodDataStorage ¶
type GoodDataStorage struct {
Input GoodDataStorageInput `json:"input,omitempty"`
}
type GoodDataStorageInput ¶
type GoodDataStorageInput struct {
Tables []GoodDataStorageTable `json:"tables,omitempty"`
}
type GoodDataStorageTable ¶
type GoodDataTable ¶
type GoodDataTable struct {
ID string `json:"tableId,omitempty"`
Title string `json:"title"`
Export bool `json:"export"`
Identifier string `json:"identifier"`
IncrementalDays KBCBooleanNumber `json:"incrementalLoad"`
Columns map[string]GoodDataColumn `json:"columns"`
}
type GoodDataTableV3 ¶
type GoodDataTableV3 struct {
ID string `json:"tableId,omitempty"`
Title string `json:"title"`
Identifier string `json:"identifier"`
IncrementalDays KBCBooleanNumber `json:"incrementalLoad,omitempty"`
Columns map[string]GoodDataColumn `json:"columns"`
}
type GoodDataUser ¶
type GoodDataUserManagement ¶
type GoodDataUserManagement struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Configuration GoodDataUserManagementConfiguration `json:"configuration"`
}
type GoodDataUserManagementComponentV2 ¶
type GoodDataUserManagementComponentV2 struct {
Name string `json:"name"`
Description string `json:"description"`
Configuration GoodDataUserManagementConfigurationV2 `json:"configuration"`
}
type GoodDataUserManagementConfiguration ¶
type GoodDataUserManagementConfiguration struct {
Storage GoodDataUserManagementStorage `json:"storage"`
Parameters GoodDataUserManagementParameters `json:"parameters"`
}
type GoodDataUserManagementConfigurationV2 ¶
type GoodDataUserManagementConfigurationV2 struct {
Storage GoodDataUserManagementStorageV2 `json:"storage"`
Parameters GoodDataUserManagementParametersV2 `json:"parameters"`
}
type GoodDataUserManagementInput ¶
type GoodDataUserManagementInput struct {
Tables []Input `json:"tables,omitempty"`
}
type GoodDataUserManagementOutput ¶
type GoodDataUserManagementOutput struct {
Tables []Output `json:"tables,omitempty"`
}
type GoodDataUserManagementParameters ¶
type GoodDataUserManagementParameters struct {
Writer string `json:"gd_writer"`
}
type GoodDataUserManagementStorage ¶
type GoodDataUserManagementStorage struct {
Input GoodDataUserManagementInput `json:"input"`
Output GoodDataUserManagementOutput `json:"output"`
}
type GoodDataUserManagementStorageInputV2 ¶
type GoodDataUserManagementStorageInputV2 struct {
Tables []GoodDataUserManagementInputTableV2 `json:"tables"`
}
type GoodDataUserManagementStorageV2 ¶
type GoodDataUserManagementStorageV2 struct {
Input GoodDataUserManagementStorageInputV2 `json:"input"`
}
type GoodDataWriter ¶
type GoodDataWriterComponent ¶
type GoodDataWriterComponent struct {
Name string `json:"name"`
Description string `json:"description"`
Configuration GoodDataWriterConfiguration `json:"configuration"`
}
type GoodDataWriterConfiguration ¶
type GoodDataWriterConfiguration struct {
Parameters GoodDataWriterParameters `json:"parameters"`
Storage GoodDataStorage `json:"storage,omitempty"`
}
type GoodDataWriterParameters ¶
type GoodDataWriterParameters struct {
DateDimensions map[string]DateDimension `json:"dimensions,omitempty"`
Tables map[string]GoodDataTableV3 `json:"tables,omitempty"`
LoadOnly bool `json:"loadOnly"`
MultiLoad bool `json:"multiLoad"`
Project GoodDataProject `json:"project"`
User GoodDataUser `json:"user"`
}
type Input ¶
type Input struct {
Source string `json:"source"`
Destination string `json:"destination"`
WhereColumn string `json:"whereColumn,omitempty"`
WhereOperator string `json:"whereOperator,omitempty"`
WhereValues []string `json:"whereValues,omitempty"`
Indexes [][]string `json:"indexes,omitempty"`
Columns []string `json:"columns,omitempty"`
DataTypes map[string]interface{} `json:"datatypes,omitempty"`
Days int `json:"days,omitempty"`
ChangedSince string `json:"changedSince,omitempty"`
LoadType string `json:"loadType,omitempty"`
}
Input is a mapping from input tables to internal tables for use by the transformation queries.
type KBCBoolean ¶
type KBCBoolean bool
KBCBoolean represents a boolean value in the Keboola APIs, which can take a 0/1 or false/true value.
func (*KBCBoolean) UnmarshalJSON ¶
func (bit *KBCBoolean) UnmarshalJSON(data []byte) error
UnmarshalJSON handles unmarshaling a KBCBoolean in to JSON.
type KBCBooleanNumber ¶
type KBCBooleanNumber int
KBCBooleanNumber represents a dual value in the Keboola APIs, which can take either a boolean, or a number/integer.
func (*KBCBooleanNumber) UnmarshalJSON ¶
func (kbn *KBCBooleanNumber) UnmarshalJSON(data []byte) error
UnmarshalJSON handles unmarshaling a KBCNumberString in to JSON.
type KBCClient ¶
type KBCClient struct {
APIKey string
}
KBCClient is used for communicating with the Keboola Connection API
func (*KBCClient) DeleteFromStorage ¶
DeleteFromStorage removes an existing object from the Keboola Storage API.
func (*KBCClient) DeleteFromSyrup ¶
DeleteFromSyrup removes an existing object from the Keboola Syrup API.
func (*KBCClient) GetFromStorage ¶
GetFromStorage requests an object from the Keboola Storage API.
func (*KBCClient) GetFromSyrup ¶
GetFromSyrup requests an object from the Keboola Syrup API.
func (*KBCClient) PatchOnSyrup ¶
func (c *KBCClient) PatchOnSyrup(endpoint string, jsonpayload *bytes.Buffer) (*http.Response, error)
PatchOnSyrup applies a patch/changeset to an existing object on the Keboola Storage API.
func (*KBCClient) PostToFileImport ¶
func (c *KBCClient) PostToFileImport(endpoint string, formdata *bytes.Buffer) (*http.Response, error)
PostToFileImport posts a new object to the Keboola File Import API.
func (*KBCClient) PostToStorage ¶
PostToStorage posts a new object to the Keboola Storage API.
func (*KBCClient) PostToSyrup ¶
PostToSyrup posts a new object to the Keboola Syrup API.
func (*KBCClient) PutFormToSyrup ¶
PutFormToSyrup puts an existing object in Form encoded format to the Keboola Storage API for update.
func (*KBCClient) PutToStorage ¶
PutToStorage puts an existing object to the Keboola Storage API for update.
type KBCNumberString ¶
type KBCNumberString string
KBCNumberString represents a dual value in the Keboola APIs, which can take either a string, or a number/integer.
func (*KBCNumberString) UnmarshalJSON ¶
func (kns *KBCNumberString) UnmarshalJSON(data []byte) error
UnmarshalJSON handles unmarshaling a KBCNumberString in to JSON.
type KBCTime ¶
KBCTime represents a time value in the Keboola APIs, which has a very specific formatting.
func (*KBCTime) UnmarshalJSON ¶
UnmarshalJSON handles unmarshaling a KBCTime in to JSON.
type Orchestration ¶
type Orchestration struct {
ID json.Number `json:"id,omitempty"`
Name string `json:"name"`
Active bool `json:"active"`
ScheduleCRON string `json:"crontabRecord"`
Token OrchestrationToken `json:"token,omitempty"`
Notifications []OrchestrationNotification `json:"notifications"`
}
type OrchestrationTask ¶
type OrchestrationTask struct {
ID json.Number `json:"id"`
Component string `json:"component"`
Action string `json:"action"`
ActionParameters map[string]interface{} `json:"actionParameters"`
Timeout int `json:"timeoutMinutes"`
IsActive bool `json:"active"`
ContinueOnFailure bool `json:"continueOnFailure"`
Phase string `json:"phase"`
}
type OrchestrationToken ¶
type Output ¶
type Output struct {
Source string `json:"source"`
Destination string `json:"destination"`
Incremental bool `json:"incremental,omitempty"`
PrimaryKey []string `json:"primaryKey,omitempty"`
DeleteWhereValues []string `json:"deleteWhereValues,omitempty"`
DeleteWhereOperator string `json:"deleteWhereOperator,omitempty"`
DeleteWhereColumn string `json:"deleteWhereColumn,omitempty"`
}
Output is a mapping from the internal tables used by transformation queries to output tables.
type PostgreSQLWriter ¶
type PostgreSQLWriter struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Description string `json:"description"`
Configuration PostgreSQLWriterConfiguration `json:"configuration"`
}
type PostgreSQLWriterConfiguration ¶
type PostgreSQLWriterConfiguration struct {
Parameters PostgreSQLWriterParameters `json:"parameters,omitempty"`
Storage PostgreSQLWriterStorage `json:"storage,omitempty"`
}
type PostgreSQLWriterParameters ¶
type PostgreSQLWriterParameters struct {
Database PostgreSQLWriterDatabaseParameters `json:"db"`
Tables []PostgreSQLWriterTable `json:"tables,omitempty"`
}
type PostgreSQLWriterStorage ¶
type PostgreSQLWriterStorage struct {
Input struct {
Tables []PostgreSQLWriterStorageTable `json:"tables,omitempty"`
} `json:"input"`
}
type PostgreSQLWriterTable ¶
type ProvisionSnowflakeResponse ¶
type ProvisionSnowflakeResponse struct {
Status string `json:"status"`
Credentials struct {
ID string `json:"id"`
HostName string `json:"hostname"`
Port int `json:"port"`
Database string `json:"db"`
Schema string `json:"schema"`
Warehouse string `json:"warehouse"`
Username string `json:"user"`
Password string `json:"password"`
WorkspaceID string `json:"workspaceId"`
} `json:"credentials"`
}
type SnowflakeDatabaseParameters ¶
type SnowflakeDatabaseParameters struct {
HostName string `json:"host"`
Database string `json:"database"`
Password string `json:"password,omitempty"`
EncryptedPassword string `json:"#password,omitempty"`
Username string `json:"user"`
Schema string `json:"schema"`
Port string `json:"port"`
Driver string `json:"driver,omitempty"`
Warehouse string `json:"warehouse"`
}
type SnowflakeExtractor ¶
type SnowflakeExtractor struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Description string `json:"description"`
Configuration SnowflakeExtractorConfiguration `json:"configuration"`
}
type SnowflakeExtractorConfiguration ¶
type SnowflakeExtractorConfiguration struct {
Parameters SnowflakeExtractorParameters `json:"parameters,omitempty"`
}
type SnowflakeExtractorParameters ¶
type SnowflakeExtractorParameters struct {
Database SnowflakeDatabaseParameters `json:"db"`
Tables []SnowflakeExtractorTable `json:"tables,omitempty"`
}
type SnowflakeExtractorTable ¶
type SnowflakeExtractorTable struct {
ID int `json:"id"`
Name string `json:"name"`
Enabled bool `json:"enabled,omitempty"`
Incremental bool `json:"incremental"`
OutputTable string `json:"outputTable"`
InputTable *SnowflakeExtractorInputTable `json:"table,omitempty"`
PrimaryKey []string `json:"primaryKey,omitempty"`
Query string `json:"query,omitempty"`
Columns []string `json:"columns,omitempty"`
}
type SnowflakeWriter ¶
type SnowflakeWriter struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Description string `json:"description"`
Configuration SnowflakeWriterConfiguration `json:"configuration"`
}
SnowflakeWriter is the data model for Snowflake Writers within the Keboola Storage API.
type SnowflakeWriterConfiguration ¶
type SnowflakeWriterConfiguration struct {
Parameters SnowflakeWriterParameters `json:"parameters"`
Storage SnowflakeWriterStorage `json:"storage,omitempty"`
}
type SnowflakeWriterDatabaseParameters ¶
type SnowflakeWriterDatabaseParameters struct {
HostName string `json:"host"`
Database string `json:"database"`
Password string `json:"password,omitempty"`
EncryptedPassword string `json:"#password,omitempty"`
Username string `json:"user"`
Schema string `json:"schema"`
Port string `json:"port"`
Driver string `json:"driver"`
Warehouse string `json:"warehouse"`
}
type SnowflakeWriterParameters ¶
type SnowflakeWriterParameters struct {
Database SnowflakeDatabaseParameters `json:"db"`
Tables []SnowflakeWriterTable `json:"tables,omitempty"`
}
type SnowflakeWriterStorage ¶
type SnowflakeWriterStorage struct {
Input struct {
Tables []SnowflakeWriterStorageTable `json:"tables,omitempty"`
} `json:"input,omitempty"`
}
type SnowflakeWriterStorageTable ¶
type SnowflakeWriterStorageTable struct {
Source string `json:"source"`
Destination string `json:"destination"`
Columns []string `json:"columns"`
ChangedSince string `json:"changed_since,omitempty"`
WhereColumn string `json:"where_column,omitempty"`
WhereOperator string `json:"where_operator,omitempty"`
WhereValues []string `json:"where_values,omitempty"`
}
type SnowflakeWriterTable ¶
type StorageBucket ¶
type StorageBucket struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Stage string `json:"stage"`
Description string `json:"description"`
Backend string `json:"backend,omitempty"`
}
StorageBucket is the data model for storage buckets within the Keboola Storage API.
type StorageJobStatus ¶
type StorageJobStatus struct {
ID int `json:"id"`
URL string `json:"url"`
Status string `json:"status"`
Results struct {
ID string `json:"id"`
Name string `json:"name"`
} `json:"results"`
}
StorageJobStatus contains the job status and results for Storage API based jobs.
type StorageTable ¶
type StorageTable struct {
ID string `json:"id,omitempty"`
Name string `json:"name"`
Delimiter string `json:"delimiter"`
Enclosure string `json:"enclosure,omitempty"`
Transactional bool `json:"transactional,omitempty"`
Columns []string `json:"columns"`
PrimaryKey []string `json:"primaryKey"`
IndexedColumns []string `json:"indexedColumns"`
}
StorageTable is the data model for Storage Tables within the Keboola Storage API.
type SyrupJobStatus ¶
type SyrupJobStatus struct {
ID int `json:"id"`
URL string `json:"url"`
Status string `json:"status"`
}
SyrupJobStatus contains the job status and results for Syrup API based jobs.
type Transformation ¶
type Transformation struct {
ID string `json:"id"`
Configuration Configuration `json:"configuration"`
}
Transformation is the data model for data transformations within the Keboola Storage API.
type TransformationBucket ¶
type TransformationBucket struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description"`
}
TransformationBucket is the data model for data transformations within the Keboola Storage API.
type UploadFileResult ¶
type UploadFileResult struct {
ID int `json:"id"`
}
UploadFileResult contains the id of the CSV file uploaded to AWS S3.
Source Files
¶
- arrays.go
- client.go
- client_fileimport.go
- client_storage.go
- client_syrup.go
- keboola.go
- keboola_jobs.go
- provider.go
- resource_keboola_access_token.go
- resource_keboola_csvimport_extractor.go
- resource_keboola_ftp_extractor.go
- resource_keboola_ftp_extractor_file.go
- resource_keboola_gooddata_user_management.go
- resource_keboola_gooddata_user_management_v2.go
- resource_keboola_gooddata_writer.go
- resource_keboola_gooddata_writer_table.go
- resource_keboola_gooddata_writer_v3.go
- resource_keboola_orchestration.go
- resource_keboola_orchestration_tasks.go
- resource_keboola_postgresql_writer.go
- resource_keboola_postgresql_writer_tables.go
- resource_keboola_snowflake_extractor.go
- resource_keboola_snowflake_extractor_tables.go
- resource_keboola_snowflake_writer.go
- resource_keboola_snowflake_writer_tables.go
- resource_keboola_storage_bucket.go
- resource_keboola_storage_table.go
- resource_keboola_transformation.go
- resource_keboola_transformation_bucket.go
- schema_input.go
- schema_output.go
- schema_snowflake_configuration.go
- suppress_funcs.go
- validators.go