All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
FieldStatusfield to connector metadataPropertydeserialization.
Nullable,Format, andImmutablefields to connector metadataPropertydeserialization.
- Deserialization of
SetupTestResponsefieldDetails, to be of typeinterface{}.
connector_sdkmodule with full Connector SDK package CRUD support: Create, Get, List, Update, Delete.ConnectorSdkPackageDatatype withFileSha256Hashfield for package integrity verification.DoMultipart()method onHttpServiceformultipart/form-datafile uploads (used by package Create and Update).- Client methods:
NewConnectorSdkPackageCreate(),NewConnectorSdkPackageDetails(),NewConnectorSdkPackageUpdate(),NewConnectorSdkPackageDelete(),NewConnectorSdkPackageList().
ConfigurableVariablesfield (map[string]interface{}) totransformationConfigResponse, deserializingconfigurable_variablesfromGET /transformations/{id}andGET /transformationsresponses.ConfigurableVariablesfield (*map[string]interface{}) totransformationConfigRequest, serializingconfigurable_variablesinPOST /transformationsandPATCH /transformations/{id}requests.configurableVariablesfield toTransformationConfigbuilder struct withConfigurableVariables(value map[string]interface{})builder method.
- Renamed
ConfigurableVarDefinitiontoConfigurableVariableDefinitionto align with the API field name (configurable_variables). - Renamed
ConfigurableVarsfield onquickstartPackageResponseBasetoConfigurableVariables.
ConfigurableVarDefinitionstruct with fieldsType,Description,AllowedValuesfor Quickstart package configurable variable definitions.ConfigurableVarsfield (map[string]ConfigurableVarDefinition) toquickstartPackageResponseBase, deserializingconfigurable_variablesfromGET /transformations/package-metadata/{id}andGET /transformations/package-metadataresponses.
destination_schema_namesfield for creating Connection.
Support flexible sync schedule for connector:
ConnectorSchedulestruct with fieldsScheduleType,Cron,DaysOfWeek,Interval,TimeOfDayConnectionUpdateService.SchedulemethodDetailsResponseDataCommon.Schedulefield in response
Support Proxy Agent Id in Destination API:
DestinationCreateService.proxyAgentIdDestinationModifyService.proxyAgentIdDestinationDetailsService.proxyAgentId
Support for custom config (map[string]interface{}) for external log details:
ExternalLoggingDetailsService.DoCustommethodExternalLoggingDetailsService.DoCustomMergedmethod
Support for custom config (map[string]interface{}) for destinations:
DestinationSetupTestsService.DoCustommethod
AccountInfoServicefor getting information about current account from API key
GroupIDandSchemamethods toConnectionsListServicefor filtering connection list by group ID and schema name
- field
Hostintoprivatelink.PrivateLinkResponseBase
Change method in ProxyRegenerateSecretsService
- fields
ClientCertandClientPrivateKeyfromproxy.ProxyCreateDataSupported the following Fivetran API endpoint for Proxy Agents Management: - Regenerate Secrets for Proxy Agent Supported the following Fivetran API endpoints:
- Retrieve connector configuration metadata
- Retrieve source metadata
- field
ProxyServerUrifromproxy.ProxyCreateData
- Service
ConnectionsSourceMetadataServicereplaced withMetadataListService
- Re-release due to issues with https://pkg.go.dev/github.com/fivetran/go-fivetran
- Add
IsDeprecated,ReplacementRoleNametoRolesListResponse
In order to synchronize terminology, we have renamed all services and structures that use incorrect terminology:
connectorspackage is now calledconnections. All services, data structures, methods with names likeConnector*are now namedConnection*teamspackage - all nested services, data structures, methods with names likeTeamConnector*are now namedTeamConnection*userspackage - all nested services, data structures, methods with names likeUserConnector*are now namedUserConnection*certificatespackage - all nested services, data structures, methods with names likeConnectorCertificate*are now namedConnectionCertificate*fingerprintspackage - all nested services, data structures, methods with names likeConnectorFingerprint*are now namedConnectionFingerprint*GroupListConnectorsServiceare now namedGroupListConnectionsService- all services, data structures, methods with names like
*Modify*are now named*Update*
Removed the following Fivetran API endpoints:
- Retrieve dbt model details
- Retrieve dbt models list
- Create dbt project
- Retrieve dbt projects list
- Retrieve dbt project details
- Update dbt project
- Delete dbt project
- Test dbt Project
Supported the following Fivetran API endpoints:
Our old API for dbt projects and transformations is marked as deprecated. Supported the following Fivetran API endpoints:
- Create Transformation Project
- Delete Transformation Project
- List all Transformation Projects within Account
- Retrieve Transformation Project Details
- Test Transformation Project
- Update Transformation Project
- Create Transformation
- Update Transformation
- Delete Transformation
- Retrieve Transformation Details
- List all Transformations within Account
- Upgrade Transformation Package
- Run Transformation
- Cancel Transformation
- List All Quickstart Package Metadata
- Retrieve Quickstart Package Metadata Details
- Fields
ConnectorModifyService.dataDelayThresholdandConnectorModifyService.dataDelaySensitivity - Fields
ConnectorCreateService.dataDelayThresholdandConnectorCreateService.dataDelaySensitivity
- Add
is_primary_keytoConnectorSchemaConfigColumn
- Fix
PrivateLinkCreateService.DowithPrivateLinkCreateService.ConfigCustom
- Field
HybridDeploymentAgentCreateService.authType - Field
HybridDeploymentAgentReAuthService.authType - Field
HybridDeploymentAgentCreateResponse.Token - Service
HybridDeploymentAgentResetCredentialsService
Support for custom config (map[string]interface{}) for private links:
PrivateLinkCreateService.ConfigCustomandPrivateLinkCreateService.DoCustommethodsPrivateLinkModifyService.ConfigCustomandPrivateLinkModifyService.DoCustommethodsPrivateLinkDetailsService.DoCustommethod
PrivateDnsRegionsfield inprivatelink.PrivateLinkConfig
Renamed the following service from Local Processing Agent to Hybrid Deployment Agent:
- LocalProcessingAgentCreateService to HybridDeploymentAgentCreateService
- LocalProcessingAgentListService to HybridDeploymentAgentListService
- LocalProcessingAgentDetailsService to HybridDeploymentAgentDetailsService
- LocalProcessingAgentDeleteService to HybridDeploymentAgentDeleteService
- LocalProcessingAgentReAuthService to HybridDeploymentAgentReAuthService
Rename fields:
DestinationCreateService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentIdDestinationModifyService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentIdDestinationDetailsService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentIdConnectorCreateService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentIdConnectorModifyService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentIdConnectorDetailsService.localProcessingAgentIdtoDestinationCreateService.hybridDeploymentAgentId
Supported the following Fivetran API endpoints:
- Transformations for dbt Core Management: Test dbt Project
- Issue with
DestinationConfigResponse.data.config.is_private_key_encrypted
- Allow to pass
nilinto ConnectorCreateService.SyncFrequency and ConnectorModifyService.SyncFrequency.
- Ability to modify
gitRemoteUrlfield indbt.DbtProjectModifyService
- fields
TokenandSaltfromproxy.ProxyData
- Response model for Retrieve Source Table Columns Config fixed.
- New field
connectors.ConnectorSchemaConfigTableResponse.SupportsColumnsConfigadded.
Support for a new endpoints:
Supported the following Fivetran API endpoints for Local Processing Agent Management:
- Create a Local Processing Agent
- List Local Processing Agents
- Retrieve Local Processing Agent Details
- Delete a Local Processing Agent
- Regenerate authentication keys for a Local Processing Agent
Supported the following Fivetran API endpoints for Private Links Management::
Added fields to support setting up Local Processing Agent in Destination API:
DestinationCreateService.localProcessingAgentIdDestinationModifyService.localProcessingAgentIdDestinationDetailsService.localProcessingAgentId
Added fields to support setting up Private Link in Destination API:
DestinationCreateService.privateLinkIdDestinationModifyService.privateLinkIdDestinationDetailsService.privateLinkId
Added fields to support setting up Networking Method in Destination API:
DestinationCreateService.networkingMethodDestinationModifyService.networkingMethodDestinationDetailsService.networkingMethod
Added fields to support setting up Local Processing Agent in Connector API:
ConnectorCreateService.localProcessingAgentIdConnectorModifyService.localProcessingAgentIdConnectorDetailsService.localProcessingAgentId
Added fields to support setting up Proxy Agent in Connector API:
ConnectorCreateService.proxyAgentIdConnectorModifyService.proxyAgentIdConnectorDetailsService.proxyAgentId
Added fields to support setting up Private Link in Connector API:
ConnectorCreateService.privateLinkIdConnectorModifyService.privateLinkIdConnectorDetailsService.privateLinkId
Added fields to support setting up Networking Method in Connector API:
ConnectorCreateService.networkingMethodConnectorModifyService.networkingMethodConnectorDetailsService.networkingMethod
Removed the following deprecated Fivetran API endpoints for Proxy Agents Management:
Removed the following deprecated Fivetran API endpoints for Private Links Management:
Supported the following Fivetran API endpoints for Proxy Agents Management:
- Create a Proxy Agent
- List all Proxy Agents
- Retrieve Proxy Agent Details
- Delete a Proxy Agent
- Return all connections attached to the proxy agent
- Attach connection to the proxy agent
- Detach connection from the proxy agent
Added fields to support Shift my UTC offset with daylight savings time (US Only) in Destination API:
DestinationCreateService.daylightSavingTimeEnabledDestinationModifyService.daylightSavingTimeEnabledDestinationDetailsService.daylightSavingTimeEnabled
Removed unneccessary field service from Private Links API PrivateLinksCreateService
Support for custom config (map[string]interface{}) for destinations:
DestinationCreateService.ConfigCustomandDestinationCreateService.DoCustommethodsDestinationModifyService.ConfigCustomandDestinationModifyService.DoCustommethodsDestinationDetailsService.DoCustommethod
Supported the following Fivetran API endpoints for Private Links Management:
- Create a Private Link
- List all Private Links within Group
- Retrieve Private Link Details
- Update a Private Link
- Delete a Private Link
Supported the following Fivetran API endpoints:
- User Management API Connector memberships: List all connector memberships
- User Management API Connector memberships: Retrieve connector membership
- User Management API Connector memberships: Add connector membership
- User Management API Connector memberships: Update connector membership
- User Management API Connector memberships: Delete connector membership
- User Management API Group memberships: List all group memberships
- User Management API Group memberships: Retrieve group membership
- User Management API Group memberships: Add group membership
- User Management API Group memberships: Update group membership
- User Management API Group memberships: Delete group membership
Added fields to support Google Cloud Logging:
ExternalLoggingConfig.projectId
- Support for Retrieve Group Service Account endpoint.
- Support for Retrieve Group Public SSH Key endpoint.
- Support for missing
authfields for connectors. - OneLake Data-Lake support.
Added fields to support Azure Data Lake Storage:
DestinationConfig.storageAccountNameDestinationConfig.containerNameDestinationConfig.tenantIdDestinationConfig.clientIdDestinationConfig.secretValue
Supported the following Fivetran API endpoints:
- List all approved certificates for connector
- List all approved fingerprints for connector
- Retrieve a connector certificate details
- Retrieve a connector fingerprint details
- Revoke a connector certificate
- Revoke a connector fingerprint
- List all approved certificates for destination
- List all approved fingerprints for destination
- Retrieve a destination certificate details
- Retrieve a destination fingerprint details
- Revoke a destination certificate
- Revoke a destination fingerprint
- Modify a connector database schema config
- Modify a connector table config
- Modify a connector column config
- Connect Card
Extended response object for the following endpoints:
- Approve a connector certificate
- Approve a connector fingerprint
- Approve a destination certificate
- Approve a destination fingerprint
Supported the following Fivetran API endpoints:
- Team Management API: List all teams
- Team Management API: Retrieve team details
- Team Management API: Create a team
- Team Management API: Modify a team
- Team Management API: Delete a team role in the account
- Team Management API: Delete a team
- Team Management API User memberships: List all user memberships
- Team Management API User memberships: Retrieve user membership
- Team Management API User memberships: Add a user to a team
- Team Management API User memberships: Modify a user membership
- Team Management API User memberships: Delete a user from a team
- Team Management API Connector memberships: List all connector memberships
- Team Management API Connector memberships: Retrieve connector membership
- Team Management API Connector memberships: Add connector membership
- Team Management API Connector memberships: Update connector membership
- Team Management API Connector memberships: Delete connector membership
- Team Management API Group memberships: List all group memberships
- Team Management API Group memberships: Retrieve group membership
- Team Management API Group memberships: Add group membership
- Team Management API Group memberships: Update group membership
- Team Management API Group memberships: Delete group membership
- Fixed export NewWebhookTest method
- Fixed markup in the README file
- Support for dbt Project status in responses.
- Dbt Project setters renamed for consistency ProjectID -> DbtProjectID for all endpoints
- Fixed path for delete dbt project
Supported the following Fivetran API endpoints:
- Retrieve dbt model details
- Retrieve dbt models list
- Create dbt project
- Retrieve dbt projects list
- Retrieve dbt project details
- Update dbt project
- Delete dbt project
- Retrieve schema metadata
- Retrieve table metadata
- Retrieve column metadata
- Create account webhook
- Create group webhook
- Retrieve webhook details
- Update webhook
- Delete webhook
- Retrieve the list of webhooks
- Test webhook
- List all roles
- DBT Transformations:
pausedfield update issue.
- DBT Transformations:
pausedfield supported.
Supported the following Fivetran API endpoints:
- Create a Log Service
- Retrieve Log Service Details
- Update a Log Service
- Delete a Log Service
- Run Log Service Setup Tests
- Automatic rate-limiting errors handling
- DBT Transformations API support: create, update, delete, get details
DestinationConfigResponse.FivetranRoleArnmissing field added (S3 Data Lake)DestinationConfigResponse.PrefixPathmissing field added (S3 Data Lake)DestinationConfigResponse.Regionmissing field added (S3 Data Lake)
Fix user/picture set to null issue (#55)
- delete methods for picture and phone
- tests
- refactoring of the picture and phone JSON marshalling + full test
- refactor - move nullableString to common file
0.7.1 - 2022-12-14
- Connector response should be deserialized even if response code doesn't match expected to provide exact error that API returned.
0.7.0 - 2022-12-14
ConnectorConfig.ShareUrlmissing field addedConnectorConfig.IsKeypairmissing field addedConnectorConfig.SecretsListmissing field added- New approach that allows to pass connector configuration as raw map[string]interface{}
Connector<Operation>Service.ConfigCustom(config map[string]interface{})methodConnector<Operation>Service.AuthCustom(auth map[string]interface{})methodConnectorCustom<Operation>ResponsetypesNewConnector<Operation>Service.DoCustom()methods
0.6.10 - 2022-11-24
ConnectorConfigResponse.UseAPIKeyswrong typestring->boolConnectorConfigResponse.IsSecurewrong typestring->boolConnectorConfigResponse.SkipBeforewrong typeint->*intConnectorConfigResponse.SkipAfterwrong typeint->*int
DestinationConfigResponse.Catalogmissing field added (Databricks)
0.6.9 - 2022-10-04
DestinationConfigResponse.IsPrivateKeyEncryptedwrong type
0.6.8 - 2022-09-13
DestinationConfigResponse.Rolemissing field added (Snowflake)DestinationConfigResponse.IsPrivateKeyEncryptedmissing field added (Snowflake)DestinationConfigResponse.Passphrasemissing field added (Snowflake)
0.6.7 - 2022-08-29
ConnectorSchemaConfigTable.SyncModefield that allows to switch table sync mode
0.6.6 - 2022-08-15
DestinationConfigResponse.Locationmissing field added (field is used by BQ destination asdata_set_locationfield)
0.6.5 - 2022-08-15
DestinationConfigResponse.PublicKeymissing field added (field is readonly and represented only in response)DestinationConfigResponse.PrivateKeymissing field added
0.6.4 - 2022-07-27
Mock HttpClient class with a unit test example
ConnectorSchemaDetailsResponse.Data.Schemastype changed:- Old
map[string]ConnectorSchemaConfigSchemaResponse - New
map[string]*ConnectorSchemaConfigSchemaResponse
- Old
0.6.3 - 2022-07-20
ConnectorSchemaConfigTableResponse.EnabledPatchSettingsmissing field addedConnectorSchemaConfigTableResponse.NameInDestinationmissing field addedConnectorSchemaConfigSchemaResponse.NameInDestinationmissing field added
0.6.2 - 2022-07-20
ConnectorConfig.TokenKeymissing field addedConnectorConfig.TokenSecretmissing field added
0.6.1 - 2022-07-15
ConnectorSchemaConfigTableResponsetype accesibility
0.6.0 - 2022-07-08
Supported the following Fivetran API endpoints:
- Retrieve a Connector Schema Config
- Reload a Connector Schema Config
- Modify a Connector Schema Config
0.5.11 - 2022-07-05
ConnectorConfig.PATmissing field added (Personal Access Token for github connector)
0.5.10 - 2022-06-16
ConnectorConfig.EuRegionmissing field added
0.5.9 - 2022-06-09
ConnectorConfig.PublicationNamemissing field added
0.5.8 - 2022-05-24
DestinationConfigResponse.CreateExternalTablesfield type updated
0.5.7 - 2022-05-13
ConnectorConfig.SkipBeforefield transformed to typeintConnectorConfig.SkipAfterfield transformed to typeint
0.5.6 - 2022-04-26
ConnectorConfig.APIKeysfield transformed to type[]stringConnectorConfig.AccountIdsfield transfromed to type[]string
0.5.5 - 2022-04-20
- Added
folder_idmissed field to connector config.
0.5.4 - 2022-02-25
- Added
base_urlmissed field to connector config. - Added
entity_idmissed field to connector config. - Added
soap_urimissed field to connector config. - Added
user_idmissed field to connector config. - Added
encryption_keymissed field to connector config.
0.5.3 - 2022-02-21
- Added
api_typemissed field to connector config.
0.5.2 - 2022-01-31
- Added
is_multi_entity_feature_enabledmissed field to connector config. - Added
always_encryptedmissed field to connector config.
0.5.1 - 2022-01-31
- Used
connection_typekey in destination config responses with v2 accept header for consistency. - Added
connection_typemissed field to connector config.
0.5.0 - 2022-01-24
The following fields were added to user resource responses
- UserDetailsResponse.Data.Role - RoleName for user role in account
- UserInviteResponse.Data.Role - RoleName for user role in account
- UserModifyResponse.Data.Role - RoleName for user role in account
0.4.0 - 2022-01-18
- E2E tests.
To be sure that SDK is stable we have added e2e tests which are triggered on each pull request to the main branch. Each e2e test has
E2Esuffix and located in a corresponding_test.gofile. - GitHub actions workflow to run tests on a testing account.
ConnectorConfigRequest.IsNewPackagemissing field addedConnectorConfigRequest.AdobeAnalyticsConfigurationsmissing field added
0.3.1 - 2021-12-08
DestinationConfigRequest.ClusterIdmissing field added.DestinationConfigRequest.ClusterRegionmissing field added.
0.3.0 - 2021-11-10
CustomUserAgentmethod for overriding User-Agent header in http-responses (for applications that uses SDK)
0.2.2 - 2021-09-22
DestinationConfigRequest.SecretKeymissing field added.
0.2.1 - 2021-07-27
ConnectorConfigResponse.Porttype is now *int as the response type has been fixed in the REST API v2.
0.2.0 - 2021-07-16
UsersListResponse.RoleGroupListUsersResponse.RoleConnectorConfig.AuthTypeConnectorCreateService.SyncFrequencyConnectorCreateService.DailySyncTimeConnectorCreateService.PauseAfterTrialConnectorCreateResponse.Data.PausedConnectorCreateResponse.Data.DailySyncTimeConnectorCreateResponse.Data.PauseAfterTrialConnectorDetailsResponse.Data.PausedConnectorDetailsResponse.Data.PauseAfterTrialConnectorDetailsResponse.Data.DailySyncTimeConnectorModifyService.PauseAfterTrial
ConnectorCreateService,ConnectorDetailsService,ConnectorModifyService, andConnectorSetupTestsServiceare now using REST API v2.- All
intandboolfields of all response types are now*intand*bool.
- Removed the unnecessary
ConnectorsSourceMetadataResponse.LinkToErdJSON annotationomitempty.
DestinationConfigResponsefieldConnectionTypehas changed toConnectionMethodto adequate to the REST API response.
0.1.0 - 2021-07-05
Initial release.
- User Management API: List all Users, Retrieve user details, Invite a user, Modify a user, Delete a user.
- Group Management API: Create a group, List all groups, Retrieve group details, Modify a group, List all connectors within a group, List all users within a group, Add a user to a group, Remove a user from a group, Delete a group.
- Certificate Management API: Approve a connector certificate, Approve a connector fingerprint, Approve a destination certificate, Approve a destination fingerprint.
- Destination Management API: Create a destination, Retrieve destination details, Modify a destination, Run destination setup tests, Delete a destination, Destination Config.
- Connector Management API: Retrieve source metadata, Create a connector, Retrieve connector details, Modify a connector, Sync connector data, Re-sync connector table data, Run connector setup tests, Delete a connector, Connector Config, Connector Auth.