Regenerate bundle resource structs from latest terraform provider (#633)

## Changes
This PR:
1. Regenerates the terraform provider structs based off the latest
terraform provider version: 1.22.0
2. Adds a debug launch configuration for regenerating the schema

## Tests
Existing unit tests
This commit is contained in:
shreyas-goenka 2023-08-03 13:20:30 +02:00 committed by GitHub
parent 3140a8feef
commit ce9c9148c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 241 additions and 87 deletions

View File

@ -1,2 +1,3 @@
/codegen
/tmp
/.vscode

View File

@ -27,17 +27,35 @@ type DataSourceJobJobSettingsSettingsDbtTask struct {
type DataSourceJobJobSettingsSettingsEmailNotifications struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []string `json:"on_failure,omitempty"`
OnStart []string `json:"on_start,omitempty"`
OnSuccess []string `json:"on_success,omitempty"`
}
type DataSourceJobJobSettingsSettingsGitSourceJobSource struct {
DirtyState string `json:"dirty_state,omitempty"`
ImportFromGitBranch string `json:"import_from_git_branch"`
JobConfigPath string `json:"job_config_path"`
}
type DataSourceJobJobSettingsSettingsGitSource struct {
Branch string `json:"branch,omitempty"`
Commit string `json:"commit,omitempty"`
Provider string `json:"provider,omitempty"`
Tag string `json:"tag,omitempty"`
Url string `json:"url"`
JobSource *DataSourceJobJobSettingsSettingsGitSourceJobSource `json:"job_source,omitempty"`
}
type DataSourceJobJobSettingsSettingsHealthRules struct {
Metric string `json:"metric,omitempty"`
Op string `json:"op,omitempty"`
Value int `json:"value,omitempty"`
}
type DataSourceJobJobSettingsSettingsHealth struct {
Rules []DataSourceJobJobSettingsSettingsHealthRules `json:"rules,omitempty"`
}
type DataSourceJobJobSettingsSettingsJobClusterNewClusterAutoscale struct {
@ -384,6 +402,7 @@ type DataSourceJobJobSettingsSettingsNotificationSettings struct {
}
type DataSourceJobJobSettingsSettingsPipelineTask struct {
FullRefresh bool `json:"full_refresh,omitempty"`
PipelineId string `json:"pipeline_id"`
}
@ -447,11 +466,22 @@ type DataSourceJobJobSettingsSettingsTaskDependsOn struct {
type DataSourceJobJobSettingsSettingsTaskEmailNotifications struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []string `json:"on_failure,omitempty"`
OnStart []string `json:"on_start,omitempty"`
OnSuccess []string `json:"on_success,omitempty"`
}
type DataSourceJobJobSettingsSettingsTaskHealthRules struct {
Metric string `json:"metric,omitempty"`
Op string `json:"op,omitempty"`
Value int `json:"value,omitempty"`
}
type DataSourceJobJobSettingsSettingsTaskHealth struct {
Rules []DataSourceJobJobSettingsSettingsTaskHealthRules `json:"rules,omitempty"`
}
type DataSourceJobJobSettingsSettingsTaskLibraryCran struct {
Package string `json:"package"`
Repo string `json:"repo,omitempty"`
@ -634,7 +664,14 @@ type DataSourceJobJobSettingsSettingsTaskNotebookTask struct {
Source string `json:"source,omitempty"`
}
type DataSourceJobJobSettingsSettingsTaskNotificationSettings struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForCanceledRuns bool `json:"no_alert_for_canceled_runs,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
}
type DataSourceJobJobSettingsSettingsTaskPipelineTask struct {
FullRefresh bool `json:"full_refresh,omitempty"`
PipelineId string `json:"pipeline_id"`
}
@ -716,9 +753,11 @@ type DataSourceJobJobSettingsSettingsTask struct {
DbtTask *DataSourceJobJobSettingsSettingsTaskDbtTask `json:"dbt_task,omitempty"`
DependsOn []DataSourceJobJobSettingsSettingsTaskDependsOn `json:"depends_on,omitempty"`
EmailNotifications *DataSourceJobJobSettingsSettingsTaskEmailNotifications `json:"email_notifications,omitempty"`
Health *DataSourceJobJobSettingsSettingsTaskHealth `json:"health,omitempty"`
Library []DataSourceJobJobSettingsSettingsTaskLibrary `json:"library,omitempty"`
NewCluster *DataSourceJobJobSettingsSettingsTaskNewCluster `json:"new_cluster,omitempty"`
NotebookTask *DataSourceJobJobSettingsSettingsTaskNotebookTask `json:"notebook_task,omitempty"`
NotificationSettings *DataSourceJobJobSettingsSettingsTaskNotificationSettings `json:"notification_settings,omitempty"`
PipelineTask *DataSourceJobJobSettingsSettingsTaskPipelineTask `json:"pipeline_task,omitempty"`
PythonWheelTask *DataSourceJobJobSettingsSettingsTaskPythonWheelTask `json:"python_wheel_task,omitempty"`
SparkJarTask *DataSourceJobJobSettingsSettingsTaskSparkJarTask `json:"spark_jar_task,omitempty"`
@ -738,6 +777,10 @@ type DataSourceJobJobSettingsSettingsTrigger struct {
FileArrival *DataSourceJobJobSettingsSettingsTriggerFileArrival `json:"file_arrival,omitempty"`
}
type DataSourceJobJobSettingsSettingsWebhookNotificationsOnDurationWarningThresholdExceeded struct {
Id string `json:"id"`
}
type DataSourceJobJobSettingsSettingsWebhookNotificationsOnFailure struct {
Id string `json:"id"`
}
@ -751,6 +794,7 @@ type DataSourceJobJobSettingsSettingsWebhookNotificationsOnSuccess struct {
}
type DataSourceJobJobSettingsSettingsWebhookNotifications struct {
OnDurationWarningThresholdExceeded []DataSourceJobJobSettingsSettingsWebhookNotificationsOnDurationWarningThresholdExceeded `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []DataSourceJobJobSettingsSettingsWebhookNotificationsOnFailure `json:"on_failure,omitempty"`
OnStart []DataSourceJobJobSettingsSettingsWebhookNotificationsOnStart `json:"on_start,omitempty"`
OnSuccess []DataSourceJobJobSettingsSettingsWebhookNotificationsOnSuccess `json:"on_success,omitempty"`
@ -771,6 +815,7 @@ type DataSourceJobJobSettingsSettings struct {
DbtTask *DataSourceJobJobSettingsSettingsDbtTask `json:"dbt_task,omitempty"`
EmailNotifications *DataSourceJobJobSettingsSettingsEmailNotifications `json:"email_notifications,omitempty"`
GitSource *DataSourceJobJobSettingsSettingsGitSource `json:"git_source,omitempty"`
Health *DataSourceJobJobSettingsSettingsHealth `json:"health,omitempty"`
JobCluster []DataSourceJobJobSettingsSettingsJobCluster `json:"job_cluster,omitempty"`
Library []DataSourceJobJobSettingsSettingsLibrary `json:"library,omitempty"`
NewCluster *DataSourceJobJobSettingsSettingsNewCluster `json:"new_cluster,omitempty"`

View File

@ -0,0 +1,30 @@
// Generated from Databricks Terraform provider schema. DO NOT EDIT.
package schema
type DataSourceMetastoreMetastoreInfo struct {
Cloud string `json:"cloud,omitempty"`
CreatedAt int `json:"created_at,omitempty"`
CreatedBy string `json:"created_by,omitempty"`
DefaultDataAccessConfigId string `json:"default_data_access_config_id,omitempty"`
DeltaSharingOrganizationName string `json:"delta_sharing_organization_name,omitempty"`
DeltaSharingRecipientTokenLifetimeInSeconds int `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
DeltaSharingScope string `json:"delta_sharing_scope,omitempty"`
GlobalMetastoreId string `json:"global_metastore_id,omitempty"`
MetastoreId string `json:"metastore_id,omitempty"`
Name string `json:"name,omitempty"`
Owner string `json:"owner,omitempty"`
PrivilegeModelVersion string `json:"privilege_model_version,omitempty"`
Region string `json:"region,omitempty"`
StorageRoot string `json:"storage_root,omitempty"`
StorageRootCredentialId string `json:"storage_root_credential_id,omitempty"`
StorageRootCredentialName string `json:"storage_root_credential_name,omitempty"`
UpdatedAt int `json:"updated_at,omitempty"`
UpdatedBy string `json:"updated_by,omitempty"`
}
type DataSourceMetastore struct {
Id string `json:"id,omitempty"`
MetastoreId string `json:"metastore_id"`
MetastoreInfo *DataSourceMetastoreMetastoreInfo `json:"metastore_info,omitempty"`
}

View File

@ -0,0 +1,8 @@
// Generated from Databricks Terraform provider schema. DO NOT EDIT.
package schema
type DataSourceMetastores struct {
Id string `json:"id,omitempty"`
Ids map[string]string `json:"ids,omitempty"`
}

View File

@ -29,7 +29,7 @@ type DataSourceSqlWarehouse struct {
DataSourceId string `json:"data_source_id,omitempty"`
EnablePhoton bool `json:"enable_photon,omitempty"`
EnableServerlessCompute bool `json:"enable_serverless_compute,omitempty"`
Id string `json:"id"`
Id string `json:"id,omitempty"`
InstanceProfileArn string `json:"instance_profile_arn,omitempty"`
JdbcUrl string `json:"jdbc_url,omitempty"`
MaxNumClusters int `json:"max_num_clusters,omitempty"`

View File

@ -18,6 +18,8 @@ type DataSources struct {
InstancePool map[string]*DataSourceInstancePool `json:"databricks_instance_pool,omitempty"`
Job map[string]*DataSourceJob `json:"databricks_job,omitempty"`
Jobs map[string]*DataSourceJobs `json:"databricks_jobs,omitempty"`
Metastore map[string]*DataSourceMetastore `json:"databricks_metastore,omitempty"`
Metastores map[string]*DataSourceMetastores `json:"databricks_metastores,omitempty"`
MwsCredentials map[string]*DataSourceMwsCredentials `json:"databricks_mws_credentials,omitempty"`
MwsWorkspaces map[string]*DataSourceMwsWorkspaces `json:"databricks_mws_workspaces,omitempty"`
NodeType map[string]*DataSourceNodeType `json:"databricks_node_type,omitempty"`
@ -55,6 +57,8 @@ func NewDataSources() *DataSources {
InstancePool: make(map[string]*DataSourceInstancePool),
Job: make(map[string]*DataSourceJob),
Jobs: make(map[string]*DataSourceJobs),
Metastore: make(map[string]*DataSourceMetastore),
Metastores: make(map[string]*DataSourceMetastores),
MwsCredentials: make(map[string]*DataSourceMwsCredentials),
MwsWorkspaces: make(map[string]*DataSourceMwsWorkspaces),
NodeType: make(map[string]*DataSourceNodeType),

View File

@ -0,0 +1,15 @@
// Generated from Databricks Terraform provider schema. DO NOT EDIT.
package schema
type ResourceAccessControlRuleSetGrantRules struct {
Principals []string `json:"principals,omitempty"`
Role string `json:"role"`
}
type ResourceAccessControlRuleSet struct {
Etag string `json:"etag,omitempty"`
Id string `json:"id,omitempty"`
Name string `json:"name"`
GrantRules []ResourceAccessControlRuleSetGrantRules `json:"grant_rules,omitempty"`
}

View File

@ -3,6 +3,7 @@
package schema
type ResourceGroup struct {
AclPrincipalId string `json:"acl_principal_id,omitempty"`
AllowClusterCreate bool `json:"allow_cluster_create,omitempty"`
AllowInstancePoolCreate bool `json:"allow_instance_pool_create,omitempty"`
DatabricksSqlAccess bool `json:"databricks_sql_access,omitempty"`

View File

@ -27,17 +27,35 @@ type ResourceJobDbtTask struct {
type ResourceJobEmailNotifications struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []string `json:"on_failure,omitempty"`
OnStart []string `json:"on_start,omitempty"`
OnSuccess []string `json:"on_success,omitempty"`
}
type ResourceJobGitSourceJobSource struct {
DirtyState string `json:"dirty_state,omitempty"`
ImportFromGitBranch string `json:"import_from_git_branch"`
JobConfigPath string `json:"job_config_path"`
}
type ResourceJobGitSource struct {
Branch string `json:"branch,omitempty"`
Commit string `json:"commit,omitempty"`
Provider string `json:"provider,omitempty"`
Tag string `json:"tag,omitempty"`
Url string `json:"url"`
JobSource *ResourceJobGitSourceJobSource `json:"job_source,omitempty"`
}
type ResourceJobHealthRules struct {
Metric string `json:"metric,omitempty"`
Op string `json:"op,omitempty"`
Value int `json:"value,omitempty"`
}
type ResourceJobHealth struct {
Rules []ResourceJobHealthRules `json:"rules,omitempty"`
}
type ResourceJobJobClusterNewClusterAutoscale struct {
@ -384,6 +402,7 @@ type ResourceJobNotificationSettings struct {
}
type ResourceJobPipelineTask struct {
FullRefresh bool `json:"full_refresh,omitempty"`
PipelineId string `json:"pipeline_id"`
}
@ -447,11 +466,22 @@ type ResourceJobTaskDependsOn struct {
type ResourceJobTaskEmailNotifications struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []string `json:"on_failure,omitempty"`
OnStart []string `json:"on_start,omitempty"`
OnSuccess []string `json:"on_success,omitempty"`
}
type ResourceJobTaskHealthRules struct {
Metric string `json:"metric,omitempty"`
Op string `json:"op,omitempty"`
Value int `json:"value,omitempty"`
}
type ResourceJobTaskHealth struct {
Rules []ResourceJobTaskHealthRules `json:"rules,omitempty"`
}
type ResourceJobTaskLibraryCran struct {
Package string `json:"package"`
Repo string `json:"repo,omitempty"`
@ -634,7 +664,14 @@ type ResourceJobTaskNotebookTask struct {
Source string `json:"source,omitempty"`
}
type ResourceJobTaskNotificationSettings struct {
AlertOnLastAttempt bool `json:"alert_on_last_attempt,omitempty"`
NoAlertForCanceledRuns bool `json:"no_alert_for_canceled_runs,omitempty"`
NoAlertForSkippedRuns bool `json:"no_alert_for_skipped_runs,omitempty"`
}
type ResourceJobTaskPipelineTask struct {
FullRefresh bool `json:"full_refresh,omitempty"`
PipelineId string `json:"pipeline_id"`
}
@ -716,9 +753,11 @@ type ResourceJobTask struct {
DbtTask *ResourceJobTaskDbtTask `json:"dbt_task,omitempty"`
DependsOn []ResourceJobTaskDependsOn `json:"depends_on,omitempty"`
EmailNotifications *ResourceJobTaskEmailNotifications `json:"email_notifications,omitempty"`
Health *ResourceJobTaskHealth `json:"health,omitempty"`
Library []ResourceJobTaskLibrary `json:"library,omitempty"`
NewCluster *ResourceJobTaskNewCluster `json:"new_cluster,omitempty"`
NotebookTask *ResourceJobTaskNotebookTask `json:"notebook_task,omitempty"`
NotificationSettings *ResourceJobTaskNotificationSettings `json:"notification_settings,omitempty"`
PipelineTask *ResourceJobTaskPipelineTask `json:"pipeline_task,omitempty"`
PythonWheelTask *ResourceJobTaskPythonWheelTask `json:"python_wheel_task,omitempty"`
SparkJarTask *ResourceJobTaskSparkJarTask `json:"spark_jar_task,omitempty"`
@ -738,6 +777,10 @@ type ResourceJobTrigger struct {
FileArrival *ResourceJobTriggerFileArrival `json:"file_arrival,omitempty"`
}
type ResourceJobWebhookNotificationsOnDurationWarningThresholdExceeded struct {
Id string `json:"id"`
}
type ResourceJobWebhookNotificationsOnFailure struct {
Id string `json:"id"`
}
@ -751,6 +794,7 @@ type ResourceJobWebhookNotificationsOnSuccess struct {
}
type ResourceJobWebhookNotifications struct {
OnDurationWarningThresholdExceeded []ResourceJobWebhookNotificationsOnDurationWarningThresholdExceeded `json:"on_duration_warning_threshold_exceeded,omitempty"`
OnFailure []ResourceJobWebhookNotificationsOnFailure `json:"on_failure,omitempty"`
OnStart []ResourceJobWebhookNotificationsOnStart `json:"on_start,omitempty"`
OnSuccess []ResourceJobWebhookNotificationsOnSuccess `json:"on_success,omitempty"`
@ -758,6 +802,7 @@ type ResourceJobWebhookNotifications struct {
type ResourceJob struct {
AlwaysRunning bool `json:"always_running,omitempty"`
ControlRunState bool `json:"control_run_state,omitempty"`
ExistingClusterId string `json:"existing_cluster_id,omitempty"`
Format string `json:"format,omitempty"`
Id string `json:"id,omitempty"`
@ -774,6 +819,7 @@ type ResourceJob struct {
DbtTask *ResourceJobDbtTask `json:"dbt_task,omitempty"`
EmailNotifications *ResourceJobEmailNotifications `json:"email_notifications,omitempty"`
GitSource *ResourceJobGitSource `json:"git_source,omitempty"`
Health *ResourceJobHealth `json:"health,omitempty"`
JobCluster []ResourceJobJobCluster `json:"job_cluster,omitempty"`
Library []ResourceJobLibrary `json:"library,omitempty"`
NewCluster *ResourceJobNewCluster `json:"new_cluster,omitempty"`

View File

@ -3,6 +3,7 @@
package schema
type ResourceServicePrincipal struct {
AclPrincipalId string `json:"acl_principal_id,omitempty"`
Active bool `json:"active,omitempty"`
AllowClusterCreate bool `json:"allow_cluster_create,omitempty"`
AllowInstancePoolCreate bool `json:"allow_instance_pool_create,omitempty"`

View File

@ -3,6 +3,7 @@
package schema
type ResourceUser struct {
AclPrincipalId string `json:"acl_principal_id,omitempty"`
Active bool `json:"active,omitempty"`
AllowClusterCreate bool `json:"allow_cluster_create,omitempty"`
AllowInstancePoolCreate bool `json:"allow_instance_pool_create,omitempty"`

View File

@ -3,6 +3,7 @@
package schema
type Resources struct {
AccessControlRuleSet map[string]*ResourceAccessControlRuleSet `json:"databricks_access_control_rule_set,omitempty"`
AwsS3Mount map[string]*ResourceAwsS3Mount `json:"databricks_aws_s3_mount,omitempty"`
AzureAdlsGen1Mount map[string]*ResourceAzureAdlsGen1Mount `json:"databricks_azure_adls_gen1_mount,omitempty"`
AzureAdlsGen2Mount map[string]*ResourceAzureAdlsGen2Mount `json:"databricks_azure_adls_gen2_mount,omitempty"`
@ -82,6 +83,7 @@ type Resources struct {
func NewResources() *Resources {
return &Resources{
AccessControlRuleSet: make(map[string]*ResourceAccessControlRuleSet),
AwsS3Mount: make(map[string]*ResourceAwsS3Mount),
AzureAdlsGen1Mount: make(map[string]*ResourceAzureAdlsGen1Mount),
AzureAdlsGen2Mount: make(map[string]*ResourceAzureAdlsGen2Mount),