Commit Graph

66 Commits

Author SHA1 Message Date
Shreyas Goenka bd6d0dca57
added test for map of map 2023-01-17 17:57:48 +01:00
Shreyas Goenka 753c54e899
added support for additionalProperties = false for validation and a test for a map of struct 2023-01-17 17:53:58 +01:00
Shreyas Goenka 91617e50c1
added test for map of primitives 2023-01-17 15:47:31 +01:00
Shreyas Goenka f556e62c3b
added tests for struct of map and struct of slice 2023-01-17 15:43:35 +01:00
Shreyas Goenka 2021ca1886
Added test for struct of structs 2023-01-17 15:34:49 +01:00
Shreyas Goenka 019b7d7fa9
added tests for schemas for primitives 2023-01-17 15:08:17 +01:00
Shreyas Goenka ce7b2133bf
Added comments for the schema struct fields 2023-01-17 13:59:56 +01:00
Shreyas Goenka d2f466afc5
replaced properties and items with schema 2023-01-17 13:47:31 +01:00
Shreyas Goenka cc350f761a
correct typo and some comments 2023-01-17 13:43:50 +01:00
Shreyas Goenka e79c52ff37
Added doc string for type mapping 2023-01-17 12:25:25 +01:00
Shreyas Goenka aa81d83970
added ignoring - fields and tests for ignoring dashed and non annotated fields 2023-01-17 11:58:32 +01:00
Shreyas Goenka 2a66a2fc74
added comment for what to do about cycles in json schema 2023-01-17 11:26:46 +01:00
Shreyas Goenka 7385f37df6
fixed typo 2023-01-16 21:53:20 +01:00
Shreyas Goenka 2945408f0d
add test for errWithTrace 2023-01-16 13:19:31 +01:00
Shreyas Goenka 42d82ede6e
- 2023-01-16 02:30:41 +01:00
Shreyas Goenka 4438d1b37c
some todo and comment cleanup 2023-01-16 02:27:49 +01:00
Shreyas Goenka ae201f1bd3
comments and typo correction 2023-01-16 02:23:35 +01:00
Shreyas Goenka 276ba00067
fixed debugTrace 2023-01-13 20:03:24 +01:00
Shreyas Goenka 1ee35c3633
corrected enum 2023-01-13 19:40:09 +01:00
Shreyas Goenka d605ab1aa4
using list for error tracing 2023-01-13 19:37:35 +01:00
Shreyas Goenka 1538422d27
some cleanup 2023-01-13 19:26:50 +01:00
Shreyas Goenka 0f67d7c0d7
added test for embedded structs 2023-01-13 19:25:42 +01:00
Shreyas Goenka b1e85e20f6
cleaned up test boilerplate, added support for maps and embedded types 2023-01-13 19:08:21 +01:00
Shreyas Goenka 010f60d498
added slice of object handling 2023-01-13 18:01:53 +01:00
Shreyas Goenka babd7fa4eb
corrected item typo 2023-01-13 17:28:46 +01:00
Shreyas Goenka cc5ed2bc76
fixed typo, and tested schema is working 2023-01-13 17:13:21 +01:00
Shreyas Goenka 926db54a6d
added tests for primitives and basic objects/arrays 2023-01-13 16:45:01 +01:00
Shreyas Goenka 987dd29357
added recursive limit 2023-01-13 12:09:19 +01:00
Shreyas Goenka d46dbbce6a
WIP json schema support for bundles 2023-01-13 04:52:25 +01:00
Pieter Noordhuis 3582037be6
Add nil check for retries.Info.Info (#166) 2023-01-12 18:58:36 +01:00
Pieter Noordhuis 8f4461904b
Define flags for running jobs and pipelines (#146) 2022-12-23 15:17:16 +01:00
Pieter Noordhuis 49aa858b89
Run command must always take a single argument (#156) 2022-12-22 16:19:38 +01:00
Pieter Noordhuis 61ef0ba8c6
Handle nil environment (#154) 2022-12-22 15:31:32 +01:00
Pieter Noordhuis 7f83463ca3
Bump SDK to latest (#151) 2022-12-22 09:46:17 +01:00
Pieter Noordhuis 4026b2cda2
Mutator to convert paths to local notebooks files into artifacts (#144)
This lets you write:
```yaml
libraries:
  - notebook:
      path: ./events.sql
```

Instead of:
```yaml
artifacts:
  events_sql:
    notebook:
      path: ./events.sql

libraries:
  - notebook:
      path: "${artifacts.events_sql.notebook.remote_path}"
```
2022-12-16 14:49:23 +01:00
Pieter Noordhuis 1a9a431b97
No need for nil check on map (#143) 2022-12-15 21:28:27 +01:00
Pieter Noordhuis 24a3b90713
Add "default" flag to environment block (#142)
If the environment is not set through command line argument or
environment variable, the bundle loads either 1) the only environment,
2) the only environment with the default flag set.
2022-12-15 21:28:14 +01:00
Pieter Noordhuis 35243db33c
Automatically install Terraform if needed (#141)
Users can opt out and use the system-installed version with the
following configuration:

```
bundle:
  terraform:
    exec_path: terraform
```

This will find the binary in $PATH and replace it with the found value.

If this is not set, the initialize phase will install Terraform in the
bundle's cache directory.
2022-12-15 17:30:33 +01:00
Pieter Noordhuis 32a37c1b83
Use filer.Filer in bundle/deployer/locker (#136)
Summary:
* All remote path arguments for deployer and locker are now relative to
root specified at initialization
* The workspace client is now a struct field so it doesn't have to be
passed around
2022-12-15 17:16:07 +01:00
Pieter Noordhuis b111416fe5
Add `bricks bundle run` command (#134) 2022-12-15 15:12:47 +01:00
Pieter Noordhuis 72e89bf33c
Use pointers to resources in bundle configuration (#140)
Avoid copy-by-value when iterating over these maps.
2022-12-15 13:00:41 +01:00
Pieter Noordhuis d0bd74c116
Run Go formatting with 1.19 (#137)
See https://tip.golang.org/doc/go1.19#go-doc.
2022-12-14 15:59:47 +01:00
Pieter Noordhuis d713521d63
Convert job task libraries to TF JSON (#132) 2022-12-12 16:36:59 +01:00
Pieter Noordhuis c255bd686a
Define deploy command as sequence of build phases (#129) 2022-12-12 12:49:25 +01:00
Pieter Noordhuis 8640696b4b
Add minimal test for conversion to TF JSON format (#130) 2022-12-12 11:31:28 +01:00
Pieter Noordhuis 94a86972e5
Allow multiple lookup functions for interpolation (#128) 2022-12-12 10:48:52 +01:00
Pieter Noordhuis 3f8e233a18
Function to limit interpolation to specific path (#127)
New function `IncludeLookupsInPath` is counterpart to
`ExcludeLookupsInPath`.
2022-12-12 10:30:17 +01:00
Pieter Noordhuis 4f668fc58b
Mutators to work with Terraform (#124)
This includes 3 mutators:
* Interpolate resources references to TF compatible format
* Convert resources struct to TF JSON format and write it to disk
* Run TF apply
2022-12-09 08:57:30 +01:00
Pieter Noordhuis ff89c9d06f
Generate equivalent Go types from Terraform provider schema (#122)
It contains:
* `codegen` -- this turns the schema of the Databricks Terraform provider into Go types.
* `schema` -- the output of the above.
2022-12-06 16:26:19 +01:00
shreyas-goenka d9d295f2a9
Implement Terraform state synchronization and deploy (#98)
https://user-images.githubusercontent.com/88374338/203669797-abebf99e-8fa6-4d6e-b57a-abd172d8020d.mov
2022-12-06 00:40:45 +01:00