Skip to content

Commit

Permalink
updated readme to include the latest status of the terraform resource…
Browse files Browse the repository at this point in the history
…s and data sources.
  • Loading branch information
stikkireddy committed Apr 15, 2020
1 parent 037c675 commit 3d777be
Showing 1 changed file with 42 additions and 152 deletions.
194 changes: 42 additions & 152 deletions README.md
Expand Up @@ -126,158 +126,47 @@ $ docker run -it -v $(pwd):/workpace -w /workpace databricks-terraform apply

## Project Components

### High Level Databricks Client CR[U]D
The client folder contains all the code for the golang sdk for the Databricks REST API. It is kept separate from the databricks terraform provider with its own unit/integration tests. The client so far supports the following:

#### Clusters
* [ ] Create cluster

* [ ] Get cluster

* [ ] Update cluster

* [ ] Delete cluster

#### Libraries
* [ ] Create Library Installation

* [ ] Get Library Installation (cluster-status api)

* [ ] Delete Library Installation

> Note: All library manipulation for clusters must be performed when the cluster is in a running state.
#### Jobs API
* [ ] Create job

* [ ] Get job

* [ ] Update job

* [ ] Delete job

Instance Pools
* [x] Create Instance Pools

* [x] Read Instance Pools

* [x] Update Instance Pools

* [x] Delete Instance Pools

#### Secrets
##### Secret Scope
* [x] Create Secret Scope

* [x] Read Secret Scope*

* [x] Delete Secret Scope

##### Secret
* [x] Create Secret

* [x] Read Secret*

* [x] Delete Secret

Note: For reading a secret it will only fetch the metadata so the value of the secret is only accessible via the databricks runtime in databricks.

##### Secret ACL
* [x] Create Secret ACL

* [x] Read Secret ACL*

* [x] Delete Secret ACL

#### Token API
* [x] Create Token

* [x] Read Token*

* [x] Delete (Revoke) Token

#### Workspace (Notebooks) API
* [ ] Import/create Workspace Path (notebooks)

* [ ] Get Workspace Path (notebooks)

* [ ] Delete Workspace Path (notebooks)

#### SCIM API
##### Users
* [x] Create User

* [x] Update User

* [x] Delete User

Note: For updating a user use Patch for entitlements, Put for everything else. We May want to deal with entitlements as a separate resource to make it easy to manage. Creating the user object and then mapping entitlements are two separate activities.

##### Groups
* [x] Create Group

* [x] Get Group*

* [x] Delete Group

##### Group Member
* [x] Create Member

* [x] Get Member*

* [x] Delete Member

#### Instance Profiles API (AWS Only)
* [ ] Create IAM Instance Profile Link

* [ ] Get IAM Instance Profile Link

* [ ] Delete IAM Instance Profile Link

#### DBFS
* [ ] Create Object from local file path (/dbfs/put)

* [ ] Get Object (metadata; /dbfs/get-status)

* [ ] Delete Object (metadata; /dbfs/get-status)

* For the Read operation there were no direct rest api calls for read so it is a list and search for the item and return the metadata from the list.


### Databricks terraform provider resources

* [x] Instance pools
* [x] Scim groups
* [x] Scim users
* [x] Secret scopes
* [x] Secrets
* [x] Secret acls
* [x] Jobs
* [x] Clusters + Libraries
* [x] IAM Instance Profiles
* [x] Notebooks
* [x] DBFS File
* [x] DBFS File Sync (stateful sync from src to target)
* [x] Mounting file systems
* [ ] Cluster Policies (private preview)
* [ ] Entitlements (private preview)

### Databricks terraform provider docs

* [x] Instance pools
* [x] Scim groups
* [x] Scim users
* [x] Secret scopes
* [x] Secrets
* [x] Secret acls
* [ ] Jobs
* [ ] Clusters + Libraries
* [ ] IAM Instance Profiles
* [ ] Notebooks
* [ ] DBFS File
* [ ] DBFS File Sync (stateful sync from src to target)
* [ ] Cluster Policies (private preview)
* [ ] Entitlements (private preview)
### Databricks Terraform Provider Resources State

| Resource | Implemented | Import Support | Acceptance Tests | Documentation | Reviewed | Finalize Schema |
|--------------------------|--------------------|----------------------|----------------------|----------------------|----------------------|----------------------|
| db_token | :white_check_mark: | :white_large_square: | :white_check_mark: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_secret_scope | :white_check_mark: | :white_large_square: | :white_check_mark: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_secret | :white_check_mark: | :white_large_square: | :white_check_mark: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_secret_acl | :white_check_mark: | :white_large_square: | :white_check_mark: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_instance_pool | :white_check_mark: | :white_large_square: | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_scim_user | :white_check_mark: | :white_large_square: | :white_check_mark: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_scim_group | :white_check_mark: | :white_large_square: | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_notebook | :white_check_mark: | :white_large_square: | :white_large_square: | :white_check_mark: | :white_large_square: | :white_large_square: |
| db_cluster | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_job | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_dbfs_file | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_dbfs_file_sync | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_instance_profile | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_aws_s3_mount | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_azure_blob_mount | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_azure_adls_gen1_mount | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_azure_adls_gen2_mount | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |

### Databricks Terraform Data Sources State

| Data Source | Implemented | Acceptance Tests | Documentation | Reviewed |
|---------------------|----------------------|----------------------|----------------------|----------------------|
| db_notebook | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_notebook_paths | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_dbfs_file | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_dbfs_file_paths | :white_check_mark: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_zones | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_runtimes | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_instance_pool | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_scim_user | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_scim_group | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_cluster | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_job | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_mount | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_instance_profile | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_database | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |
| db_table | :white_large_square: | :white_large_square: | :white_large_square: | :white_large_square: |


## Testing
Expand All @@ -289,3 +178,4 @@ Note: For updating a user use Patch for entitlements, Put for everything else. W
Please note that all projects in the /databrickslabs github account are provided for your exploration only, and are not formally supported by Databricks with Service Level Agreements (SLAs). They are provided AS-IS and we do not make any guarantees of any kind. Please do not submit a support ticket relating to any issues arising from the use of these projects.

Any issues discovered through the use of this project should be filed as GitHub Issues on the Repo. They will be reviewed as time permits, but there are no formal SLAs for support.

0 comments on commit 3d777be

Please sign in to comment.