Skip to content

Commit

Permalink
Add Proxy Management (#320)
Browse files Browse the repository at this point in the history
  • Loading branch information
fivetran-aleksandrboldyrev authored Jun 12, 2024
1 parent 46d969e commit 12df0e6
Show file tree
Hide file tree
Showing 39 changed files with 16,790 additions and 672 deletions.
44 changes: 43 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,49 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased](https://github.com/fivetran/terraform-provider-fivetran/compare/v1.1.25...HEAD)
## [Unreleased](https://github.com/fivetran/terraform-provider-fivetran/compare/v1.1.26...HEAD)

## [1.1.26](https://github.com/fivetran/terraform-provider-fivetran/compare/v1.1.25...v1.1.26)

## Added
- New resource `fivetran_proxy_agent` that allows to manage Proxy Agents.
- New data source `fivetran_proxy_agent` that allows to retrieve details of the existing Proxy Agent for a given identifier.
- New data source `fivetran_proxy_agents` that allows to retrieve the list of existing Proxy Agents available for the current account.

Updates to support management of proxies:
- Resource `fivetran_connector` updates:
- Added field `fivetran_connector.proxy_agent_id`.
- Added field `fivetran_connector.networking_method`.

- Datasource `fivetran_connector` updates:
- Added field `fivetran_connector.proxy_agent_id`.
- Added field `fivetran_connector.networking_method`.

New connection services supported:
- Supported service: `akamai`
- Supported service: `brave_ads`
- Supported service: `bubbleio`
- Supported service: `canvas_by_instructure`
- Supported service: `cin7core`
- Supported service: `clarity`
- Supported service: `cockroachdb`
- Supported service: `doorloop`
- Supported service: `freshsales`
- Supported service: `kevel`
- Supported service: `planful`
- Supported service: `rebound_returns`
- Supported service: `skillstx`
- Supported service: `smarthr`
- Supported service: `ticket_tailor`

New connector config fields supported:
- Added field `fivetran_connector.config.snc_certificate_source` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.type_name` for services: `akamai`, `bubbleio`.
- Added field `fivetran_connector.config.rollback_window` for services: `appsflyer`.
- Added field `fivetran_connector.config.custom_tables.engaged_view_attribution_window` for services: `facebook_ads`.
- Added field `fivetran_connector.config.server_variable` for services: `myosh`.
- Added field `fivetran_connector.config.snc_source_name` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.snc_fivetran_name` for services: `sap_hana_db`.

## [1.1.25](https://github.com/fivetran/terraform-provider-fivetran/compare/v1.1.24...v1.1.25)

Expand Down
17 changes: 7 additions & 10 deletions config-changes.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
- Added field `fivetran_connector.config.api` for services: `freshsuccess`.
- Added field `fivetran_connector.config.db` for services: `myosh`.
- Added field `fivetran_connector.config.snc_certificate` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.snc_mode` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.snc_my_name` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.toast_id` for services: `toast`.
- Added field `fivetran_connector.config.account_plan` for services: `tymeshift`.
- Added field `fivetran_connector.config.primary_key` for services: `care_quality_commission`.
- Added field `fivetran_connector.config.scope` for services: `ebay`.
- Added field `fivetran_connector.config.convert_dats_type_to_date` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.snc_certificate_source` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.type_name` for services: `akamai`, `bubbleio`.
- Added field `fivetran_connector.config.rollback_window` for services: `appsflyer`.
- Added field `fivetran_connector.config.custom_tables.engaged_view_attribution_window` for services: `facebook_ads`.
- Added field `fivetran_connector.config.server_variable` for services: `myosh`.
- Added field `fivetran_connector.config.snc_source_name` for services: `sap_hana_db`.
- Added field `fivetran_connector.config.snc_fivetran_name` for services: `sap_hana_db`.
1 change: 0 additions & 1 deletion destination-services-changelog.txt
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
- Supported service: `clickhouse`
32 changes: 32 additions & 0 deletions destination-services-new.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
adls
aiven_kafka_wh
aurora_postgres_warehouse
aurora_warehouse
aws_msk_wh
azure_postgres_warehouse
azure_sql_data_warehouse
azure_sql_database
azure_sql_managed_db_warehouse
big_query
big_query_dts
clickhouse
confluent_cloud_wh
databricks
managed_big_query
maria_rds_warehouse
maria_warehouse
materialize
motherduck
mysql_rds_warehouse
mysql_warehouse
new_s3_datalake
onelake
postgres_gcp_warehouse
postgres_rds_warehouse
postgres_warehouse
propel
redshift
singlestore
snowflake
sql_server_rds_warehouse
sql_server_warehouse
2 changes: 2 additions & 0 deletions docs/data-sources/connector.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,10 @@ data "fivetran_connector" "connector" {
- `failed_at` (String) The timestamp of the time the connector sync failed last time.
- `group_id` (String) The unique identifier for the Group (Destination) within the Fivetran system.
- `name` (String) The name used both as the connector's name within the Fivetran system and as the source schema's name within your destination.
- `networking_method` (String) Possible values: Directly, PrivateLink, SshTunnel, ProxyAgent.
- `pause_after_trial` (Boolean) Specifies whether the connector should be paused after the free trial period has ended.
- `paused` (Boolean) Specifies whether the connector is paused.
- `proxy_agent_id` (String) The proxy agent ID.
- `schedule_type` (String) The connector schedule configuration type. Supported values: auto, manual.
- `service` (String) The connector type id within the Fivetran system.
- `service_version` (String) The connector type version within the Fivetran system.
Expand Down
32 changes: 32 additions & 0 deletions docs/data-sources/proxy_agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
page_title: "Data Source: fivetran_proxy_agent"
---

# Data Source: fivetran_proxy_agent

This data source returns a proxy agent object.

## Example Usage

```hcl
data "fivetran_proxy_agent" "proxy_agent" {
id = "proxy_id"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `id` (String) The unique identifier for the proxy within your account.

### Read-Only

- `account_id` (String) The unique identifier for the account.
- `created_by` (String) The actor who created the proxy agent.
- `display_name` (String) Proxy agent name.
- `group_region` (String) Data processing location. This is where Fivetran will operate and run computation on data.
- `registred_at` (String) The timestamp of the time the proxy agent was created in your account.
- `salt` (String) The salt.
- `token` (String) The auth token.
38 changes: 38 additions & 0 deletions docs/data-sources/proxy_agents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
page_title: "Data Source: fivetran_proxy_agents"
---

# Data Source: fivetran_proxy_agents

This data source returns a list of all proxy agents within your Fivetran account.

## Example Usage

```hcl
data "fivetran_proxy_agents" "proxy_agents" {
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Optional

- `items` (Block Set) (see [below for nested schema](#nestedblock--items))

<a id="nestedblock--items"></a>
### Nested Schema for `items`

Required:

- `id` (String) The unique identifier for the proxy within your account.

Read-Only:

- `account_id` (String) The unique identifier for the account.
- `created_by` (String) The actor who created the proxy agent.
- `display_name` (String) Proxy agent name.
- `group_region` (String) Data processing location. This is where Fivetran will operate and run computation on data.
- `registred_at` (String) The timestamp of the time the proxy agent was created in your account.
- `salt` (String) The salt.
- `token` (String) The auth token.
2 changes: 2 additions & 0 deletions docs/resources/connector.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ resource "fivetran_connector" "amplitude" {
- `auth` (Block, Optional) (see [below for nested schema](#nestedblock--auth))
- `config` (Block, Optional) (see [below for nested schema](#nestedblock--config))
- `destination_schema` (Block, Optional) (see [below for nested schema](#nestedblock--destination_schema))
- `networking_method` (String) Possible values: Directly, PrivateLink, SshTunnel, ProxyAgent.
- `proxy_agent_id` (String) The proxy agent ID.
- `run_setup_tests` (Boolean) Specifies whether the setup tests should be run automatically. The default value is TRUE.
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `trust_certificates` (Boolean) Specifies whether we should trust the certificate automatically. The default value is FALSE. If a certificate is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination certificate](https://fivetran.com/docs/rest-api/certificates#approveadestinationcertificate).
Expand Down
36 changes: 36 additions & 0 deletions docs/resources/proxy_agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
page_title: "Resource: fivetran_proxy_agent"
---

# Resource: fivetran_proxy_agent

This resource allows you to create, update, and delete proxy agent.

## Example Usage

```hcl
resource "fivetran_proxy_agent" "test_proxy_agent" {
provider = fivetran-provider
display_name = "display_name"
group_region = "group_region"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `display_name` (String) Proxy agent name.
- `group_region` (String) Data processing location. This is where Fivetran will operate and run computation on data.

### Read-Only

- `account_id` (String) The unique identifier for the account.
- `created_by` (String) The actor who created the proxy agent.
- `id` (String) The unique identifier for the proxy within your account.
- `proxy_server_uri` (String) The proxy server URI.
- `registred_at` (String) The timestamp of the time the proxy agent was created in your account.
- `salt` (String) The salt.
- `token` (String) The auth token.
Loading

0 comments on commit 12df0e6

Please sign in to comment.