github.com/databricks/cli@v0.203.0/bundle/internal/tf/schema/resource_job.go (about)

     1  // Generated from Databricks Terraform provider schema. DO NOT EDIT.
     2  
     3  package schema
     4  
     5  type ResourceJobComputeSpec struct {
     6  	Kind string `json:"kind,omitempty"`
     7  }
     8  
     9  type ResourceJobCompute struct {
    10  	ComputeKey string                  `json:"compute_key,omitempty"`
    11  	Spec       *ResourceJobComputeSpec `json:"spec,omitempty"`
    12  }
    13  
    14  type ResourceJobContinuous struct {
    15  	PauseStatus string `json:"pause_status,omitempty"`
    16  }
    17  
    18  type ResourceJobDbtTask struct {
    19  	Catalog           string   `json:"catalog,omitempty"`
    20  	Commands          []string `json:"commands"`
    21  	ProfilesDirectory string   `json:"profiles_directory,omitempty"`
    22  	ProjectDirectory  string   `json:"project_directory,omitempty"`
    23  	Schema            string   `json:"schema,omitempty"`
    24  	WarehouseId       string   `json:"warehouse_id,omitempty"`
    25  }
    26  
    27  type ResourceJobEmailNotifications struct {
    28  	AlertOnLastAttempt                 bool     `json:"alert_on_last_attempt,omitempty"`
    29  	NoAlertForSkippedRuns              bool     `json:"no_alert_for_skipped_runs,omitempty"`
    30  	OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
    31  	OnFailure                          []string `json:"on_failure,omitempty"`
    32  	OnStart                            []string `json:"on_start,omitempty"`
    33  	OnSuccess                          []string `json:"on_success,omitempty"`
    34  }
    35  
    36  type ResourceJobGitSourceJobSource struct {
    37  	DirtyState          string `json:"dirty_state,omitempty"`
    38  	ImportFromGitBranch string `json:"import_from_git_branch"`
    39  	JobConfigPath       string `json:"job_config_path"`
    40  }
    41  
    42  type ResourceJobGitSource struct {
    43  	Branch    string                         `json:"branch,omitempty"`
    44  	Commit    string                         `json:"commit,omitempty"`
    45  	Provider  string                         `json:"provider,omitempty"`
    46  	Tag       string                         `json:"tag,omitempty"`
    47  	Url       string                         `json:"url"`
    48  	JobSource *ResourceJobGitSourceJobSource `json:"job_source,omitempty"`
    49  }
    50  
    51  type ResourceJobHealthRules struct {
    52  	Metric string `json:"metric,omitempty"`
    53  	Op     string `json:"op,omitempty"`
    54  	Value  int    `json:"value,omitempty"`
    55  }
    56  
    57  type ResourceJobHealth struct {
    58  	Rules []ResourceJobHealthRules `json:"rules,omitempty"`
    59  }
    60  
    61  type ResourceJobJobClusterNewClusterAutoscale struct {
    62  	MaxWorkers int `json:"max_workers,omitempty"`
    63  	MinWorkers int `json:"min_workers,omitempty"`
    64  }
    65  
    66  type ResourceJobJobClusterNewClusterAwsAttributes struct {
    67  	Availability        string `json:"availability,omitempty"`
    68  	EbsVolumeCount      int    `json:"ebs_volume_count,omitempty"`
    69  	EbsVolumeSize       int    `json:"ebs_volume_size,omitempty"`
    70  	EbsVolumeType       string `json:"ebs_volume_type,omitempty"`
    71  	FirstOnDemand       int    `json:"first_on_demand,omitempty"`
    72  	InstanceProfileArn  string `json:"instance_profile_arn,omitempty"`
    73  	SpotBidPricePercent int    `json:"spot_bid_price_percent,omitempty"`
    74  	ZoneId              string `json:"zone_id,omitempty"`
    75  }
    76  
    77  type ResourceJobJobClusterNewClusterAzureAttributes struct {
    78  	Availability    string `json:"availability,omitempty"`
    79  	FirstOnDemand   int    `json:"first_on_demand,omitempty"`
    80  	SpotBidMaxPrice int    `json:"spot_bid_max_price,omitempty"`
    81  }
    82  
    83  type ResourceJobJobClusterNewClusterClusterLogConfDbfs struct {
    84  	Destination string `json:"destination"`
    85  }
    86  
    87  type ResourceJobJobClusterNewClusterClusterLogConfS3 struct {
    88  	CannedAcl        string `json:"canned_acl,omitempty"`
    89  	Destination      string `json:"destination"`
    90  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
    91  	EncryptionType   string `json:"encryption_type,omitempty"`
    92  	Endpoint         string `json:"endpoint,omitempty"`
    93  	KmsKey           string `json:"kms_key,omitempty"`
    94  	Region           string `json:"region,omitempty"`
    95  }
    96  
    97  type ResourceJobJobClusterNewClusterClusterLogConf struct {
    98  	Dbfs *ResourceJobJobClusterNewClusterClusterLogConfDbfs `json:"dbfs,omitempty"`
    99  	S3   *ResourceJobJobClusterNewClusterClusterLogConfS3   `json:"s3,omitempty"`
   100  }
   101  
   102  type ResourceJobJobClusterNewClusterClusterMountInfoNetworkFilesystemInfo struct {
   103  	MountOptions  string `json:"mount_options,omitempty"`
   104  	ServerAddress string `json:"server_address"`
   105  }
   106  
   107  type ResourceJobJobClusterNewClusterClusterMountInfo struct {
   108  	LocalMountDirPath     string                                                                `json:"local_mount_dir_path"`
   109  	RemoteMountDirPath    string                                                                `json:"remote_mount_dir_path,omitempty"`
   110  	NetworkFilesystemInfo *ResourceJobJobClusterNewClusterClusterMountInfoNetworkFilesystemInfo `json:"network_filesystem_info,omitempty"`
   111  }
   112  
   113  type ResourceJobJobClusterNewClusterDockerImageBasicAuth struct {
   114  	Password string `json:"password"`
   115  	Username string `json:"username"`
   116  }
   117  
   118  type ResourceJobJobClusterNewClusterDockerImage struct {
   119  	Url       string                                               `json:"url"`
   120  	BasicAuth *ResourceJobJobClusterNewClusterDockerImageBasicAuth `json:"basic_auth,omitempty"`
   121  }
   122  
   123  type ResourceJobJobClusterNewClusterGcpAttributes struct {
   124  	Availability            string `json:"availability,omitempty"`
   125  	BootDiskSize            int    `json:"boot_disk_size,omitempty"`
   126  	GoogleServiceAccount    string `json:"google_service_account,omitempty"`
   127  	UsePreemptibleExecutors bool   `json:"use_preemptible_executors,omitempty"`
   128  	ZoneId                  string `json:"zone_id,omitempty"`
   129  }
   130  
   131  type ResourceJobJobClusterNewClusterInitScriptsAbfss struct {
   132  	Destination string `json:"destination,omitempty"`
   133  }
   134  
   135  type ResourceJobJobClusterNewClusterInitScriptsDbfs struct {
   136  	Destination string `json:"destination"`
   137  }
   138  
   139  type ResourceJobJobClusterNewClusterInitScriptsFile struct {
   140  	Destination string `json:"destination,omitempty"`
   141  }
   142  
   143  type ResourceJobJobClusterNewClusterInitScriptsGcs struct {
   144  	Destination string `json:"destination,omitempty"`
   145  }
   146  
   147  type ResourceJobJobClusterNewClusterInitScriptsS3 struct {
   148  	CannedAcl        string `json:"canned_acl,omitempty"`
   149  	Destination      string `json:"destination"`
   150  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
   151  	EncryptionType   string `json:"encryption_type,omitempty"`
   152  	Endpoint         string `json:"endpoint,omitempty"`
   153  	KmsKey           string `json:"kms_key,omitempty"`
   154  	Region           string `json:"region,omitempty"`
   155  }
   156  
   157  type ResourceJobJobClusterNewClusterInitScriptsWorkspace struct {
   158  	Destination string `json:"destination,omitempty"`
   159  }
   160  
   161  type ResourceJobJobClusterNewClusterInitScripts struct {
   162  	Abfss     *ResourceJobJobClusterNewClusterInitScriptsAbfss     `json:"abfss,omitempty"`
   163  	Dbfs      *ResourceJobJobClusterNewClusterInitScriptsDbfs      `json:"dbfs,omitempty"`
   164  	File      *ResourceJobJobClusterNewClusterInitScriptsFile      `json:"file,omitempty"`
   165  	Gcs       *ResourceJobJobClusterNewClusterInitScriptsGcs       `json:"gcs,omitempty"`
   166  	S3        *ResourceJobJobClusterNewClusterInitScriptsS3        `json:"s3,omitempty"`
   167  	Workspace *ResourceJobJobClusterNewClusterInitScriptsWorkspace `json:"workspace,omitempty"`
   168  }
   169  
   170  type ResourceJobJobClusterNewClusterWorkloadTypeClients struct {
   171  	Jobs      bool `json:"jobs,omitempty"`
   172  	Notebooks bool `json:"notebooks,omitempty"`
   173  }
   174  
   175  type ResourceJobJobClusterNewClusterWorkloadType struct {
   176  	Clients *ResourceJobJobClusterNewClusterWorkloadTypeClients `json:"clients,omitempty"`
   177  }
   178  
   179  type ResourceJobJobClusterNewCluster struct {
   180  	ApplyPolicyDefaultValues  bool                                              `json:"apply_policy_default_values,omitempty"`
   181  	AutoterminationMinutes    int                                               `json:"autotermination_minutes,omitempty"`
   182  	ClusterId                 string                                            `json:"cluster_id,omitempty"`
   183  	ClusterName               string                                            `json:"cluster_name,omitempty"`
   184  	CustomTags                map[string]string                                 `json:"custom_tags,omitempty"`
   185  	DataSecurityMode          string                                            `json:"data_security_mode,omitempty"`
   186  	DriverInstancePoolId      string                                            `json:"driver_instance_pool_id,omitempty"`
   187  	DriverNodeTypeId          string                                            `json:"driver_node_type_id,omitempty"`
   188  	EnableElasticDisk         bool                                              `json:"enable_elastic_disk,omitempty"`
   189  	EnableLocalDiskEncryption bool                                              `json:"enable_local_disk_encryption,omitempty"`
   190  	IdempotencyToken          string                                            `json:"idempotency_token,omitempty"`
   191  	InstancePoolId            string                                            `json:"instance_pool_id,omitempty"`
   192  	NodeTypeId                string                                            `json:"node_type_id,omitempty"`
   193  	NumWorkers                int                                               `json:"num_workers,omitempty"`
   194  	PolicyId                  string                                            `json:"policy_id,omitempty"`
   195  	RuntimeEngine             string                                            `json:"runtime_engine,omitempty"`
   196  	SingleUserName            string                                            `json:"single_user_name,omitempty"`
   197  	SparkConf                 map[string]string                                 `json:"spark_conf,omitempty"`
   198  	SparkEnvVars              map[string]string                                 `json:"spark_env_vars,omitempty"`
   199  	SparkVersion              string                                            `json:"spark_version"`
   200  	SshPublicKeys             []string                                          `json:"ssh_public_keys,omitempty"`
   201  	Autoscale                 *ResourceJobJobClusterNewClusterAutoscale         `json:"autoscale,omitempty"`
   202  	AwsAttributes             *ResourceJobJobClusterNewClusterAwsAttributes     `json:"aws_attributes,omitempty"`
   203  	AzureAttributes           *ResourceJobJobClusterNewClusterAzureAttributes   `json:"azure_attributes,omitempty"`
   204  	ClusterLogConf            *ResourceJobJobClusterNewClusterClusterLogConf    `json:"cluster_log_conf,omitempty"`
   205  	ClusterMountInfo          []ResourceJobJobClusterNewClusterClusterMountInfo `json:"cluster_mount_info,omitempty"`
   206  	DockerImage               *ResourceJobJobClusterNewClusterDockerImage       `json:"docker_image,omitempty"`
   207  	GcpAttributes             *ResourceJobJobClusterNewClusterGcpAttributes     `json:"gcp_attributes,omitempty"`
   208  	InitScripts               []ResourceJobJobClusterNewClusterInitScripts      `json:"init_scripts,omitempty"`
   209  	WorkloadType              *ResourceJobJobClusterNewClusterWorkloadType      `json:"workload_type,omitempty"`
   210  }
   211  
   212  type ResourceJobJobCluster struct {
   213  	JobClusterKey string                           `json:"job_cluster_key,omitempty"`
   214  	NewCluster    *ResourceJobJobClusterNewCluster `json:"new_cluster,omitempty"`
   215  }
   216  
   217  type ResourceJobLibraryCran struct {
   218  	Package string `json:"package"`
   219  	Repo    string `json:"repo,omitempty"`
   220  }
   221  
   222  type ResourceJobLibraryMaven struct {
   223  	Coordinates string   `json:"coordinates"`
   224  	Exclusions  []string `json:"exclusions,omitempty"`
   225  	Repo        string   `json:"repo,omitempty"`
   226  }
   227  
   228  type ResourceJobLibraryPypi struct {
   229  	Package string `json:"package"`
   230  	Repo    string `json:"repo,omitempty"`
   231  }
   232  
   233  type ResourceJobLibrary struct {
   234  	Egg   string                   `json:"egg,omitempty"`
   235  	Jar   string                   `json:"jar,omitempty"`
   236  	Whl   string                   `json:"whl,omitempty"`
   237  	Cran  *ResourceJobLibraryCran  `json:"cran,omitempty"`
   238  	Maven *ResourceJobLibraryMaven `json:"maven,omitempty"`
   239  	Pypi  *ResourceJobLibraryPypi  `json:"pypi,omitempty"`
   240  }
   241  
   242  type ResourceJobNewClusterAutoscale struct {
   243  	MaxWorkers int `json:"max_workers,omitempty"`
   244  	MinWorkers int `json:"min_workers,omitempty"`
   245  }
   246  
   247  type ResourceJobNewClusterAwsAttributes struct {
   248  	Availability        string `json:"availability,omitempty"`
   249  	EbsVolumeCount      int    `json:"ebs_volume_count,omitempty"`
   250  	EbsVolumeSize       int    `json:"ebs_volume_size,omitempty"`
   251  	EbsVolumeType       string `json:"ebs_volume_type,omitempty"`
   252  	FirstOnDemand       int    `json:"first_on_demand,omitempty"`
   253  	InstanceProfileArn  string `json:"instance_profile_arn,omitempty"`
   254  	SpotBidPricePercent int    `json:"spot_bid_price_percent,omitempty"`
   255  	ZoneId              string `json:"zone_id,omitempty"`
   256  }
   257  
   258  type ResourceJobNewClusterAzureAttributes struct {
   259  	Availability    string `json:"availability,omitempty"`
   260  	FirstOnDemand   int    `json:"first_on_demand,omitempty"`
   261  	SpotBidMaxPrice int    `json:"spot_bid_max_price,omitempty"`
   262  }
   263  
   264  type ResourceJobNewClusterClusterLogConfDbfs struct {
   265  	Destination string `json:"destination"`
   266  }
   267  
   268  type ResourceJobNewClusterClusterLogConfS3 struct {
   269  	CannedAcl        string `json:"canned_acl,omitempty"`
   270  	Destination      string `json:"destination"`
   271  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
   272  	EncryptionType   string `json:"encryption_type,omitempty"`
   273  	Endpoint         string `json:"endpoint,omitempty"`
   274  	KmsKey           string `json:"kms_key,omitempty"`
   275  	Region           string `json:"region,omitempty"`
   276  }
   277  
   278  type ResourceJobNewClusterClusterLogConf struct {
   279  	Dbfs *ResourceJobNewClusterClusterLogConfDbfs `json:"dbfs,omitempty"`
   280  	S3   *ResourceJobNewClusterClusterLogConfS3   `json:"s3,omitempty"`
   281  }
   282  
   283  type ResourceJobNewClusterClusterMountInfoNetworkFilesystemInfo struct {
   284  	MountOptions  string `json:"mount_options,omitempty"`
   285  	ServerAddress string `json:"server_address"`
   286  }
   287  
   288  type ResourceJobNewClusterClusterMountInfo struct {
   289  	LocalMountDirPath     string                                                      `json:"local_mount_dir_path"`
   290  	RemoteMountDirPath    string                                                      `json:"remote_mount_dir_path,omitempty"`
   291  	NetworkFilesystemInfo *ResourceJobNewClusterClusterMountInfoNetworkFilesystemInfo `json:"network_filesystem_info,omitempty"`
   292  }
   293  
   294  type ResourceJobNewClusterDockerImageBasicAuth struct {
   295  	Password string `json:"password"`
   296  	Username string `json:"username"`
   297  }
   298  
   299  type ResourceJobNewClusterDockerImage struct {
   300  	Url       string                                     `json:"url"`
   301  	BasicAuth *ResourceJobNewClusterDockerImageBasicAuth `json:"basic_auth,omitempty"`
   302  }
   303  
   304  type ResourceJobNewClusterGcpAttributes struct {
   305  	Availability            string `json:"availability,omitempty"`
   306  	BootDiskSize            int    `json:"boot_disk_size,omitempty"`
   307  	GoogleServiceAccount    string `json:"google_service_account,omitempty"`
   308  	UsePreemptibleExecutors bool   `json:"use_preemptible_executors,omitempty"`
   309  	ZoneId                  string `json:"zone_id,omitempty"`
   310  }
   311  
   312  type ResourceJobNewClusterInitScriptsAbfss struct {
   313  	Destination string `json:"destination,omitempty"`
   314  }
   315  
   316  type ResourceJobNewClusterInitScriptsDbfs struct {
   317  	Destination string `json:"destination"`
   318  }
   319  
   320  type ResourceJobNewClusterInitScriptsFile struct {
   321  	Destination string `json:"destination,omitempty"`
   322  }
   323  
   324  type ResourceJobNewClusterInitScriptsGcs struct {
   325  	Destination string `json:"destination,omitempty"`
   326  }
   327  
   328  type ResourceJobNewClusterInitScriptsS3 struct {
   329  	CannedAcl        string `json:"canned_acl,omitempty"`
   330  	Destination      string `json:"destination"`
   331  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
   332  	EncryptionType   string `json:"encryption_type,omitempty"`
   333  	Endpoint         string `json:"endpoint,omitempty"`
   334  	KmsKey           string `json:"kms_key,omitempty"`
   335  	Region           string `json:"region,omitempty"`
   336  }
   337  
   338  type ResourceJobNewClusterInitScriptsWorkspace struct {
   339  	Destination string `json:"destination,omitempty"`
   340  }
   341  
   342  type ResourceJobNewClusterInitScripts struct {
   343  	Abfss     *ResourceJobNewClusterInitScriptsAbfss     `json:"abfss,omitempty"`
   344  	Dbfs      *ResourceJobNewClusterInitScriptsDbfs      `json:"dbfs,omitempty"`
   345  	File      *ResourceJobNewClusterInitScriptsFile      `json:"file,omitempty"`
   346  	Gcs       *ResourceJobNewClusterInitScriptsGcs       `json:"gcs,omitempty"`
   347  	S3        *ResourceJobNewClusterInitScriptsS3        `json:"s3,omitempty"`
   348  	Workspace *ResourceJobNewClusterInitScriptsWorkspace `json:"workspace,omitempty"`
   349  }
   350  
   351  type ResourceJobNewClusterWorkloadTypeClients struct {
   352  	Jobs      bool `json:"jobs,omitempty"`
   353  	Notebooks bool `json:"notebooks,omitempty"`
   354  }
   355  
   356  type ResourceJobNewClusterWorkloadType struct {
   357  	Clients *ResourceJobNewClusterWorkloadTypeClients `json:"clients,omitempty"`
   358  }
   359  
   360  type ResourceJobNewCluster struct {
   361  	ApplyPolicyDefaultValues  bool                                    `json:"apply_policy_default_values,omitempty"`
   362  	AutoterminationMinutes    int                                     `json:"autotermination_minutes,omitempty"`
   363  	ClusterId                 string                                  `json:"cluster_id,omitempty"`
   364  	ClusterName               string                                  `json:"cluster_name,omitempty"`
   365  	CustomTags                map[string]string                       `json:"custom_tags,omitempty"`
   366  	DataSecurityMode          string                                  `json:"data_security_mode,omitempty"`
   367  	DriverInstancePoolId      string                                  `json:"driver_instance_pool_id,omitempty"`
   368  	DriverNodeTypeId          string                                  `json:"driver_node_type_id,omitempty"`
   369  	EnableElasticDisk         bool                                    `json:"enable_elastic_disk,omitempty"`
   370  	EnableLocalDiskEncryption bool                                    `json:"enable_local_disk_encryption,omitempty"`
   371  	IdempotencyToken          string                                  `json:"idempotency_token,omitempty"`
   372  	InstancePoolId            string                                  `json:"instance_pool_id,omitempty"`
   373  	NodeTypeId                string                                  `json:"node_type_id,omitempty"`
   374  	NumWorkers                int                                     `json:"num_workers,omitempty"`
   375  	PolicyId                  string                                  `json:"policy_id,omitempty"`
   376  	RuntimeEngine             string                                  `json:"runtime_engine,omitempty"`
   377  	SingleUserName            string                                  `json:"single_user_name,omitempty"`
   378  	SparkConf                 map[string]string                       `json:"spark_conf,omitempty"`
   379  	SparkEnvVars              map[string]string                       `json:"spark_env_vars,omitempty"`
   380  	SparkVersion              string                                  `json:"spark_version"`
   381  	SshPublicKeys             []string                                `json:"ssh_public_keys,omitempty"`
   382  	Autoscale                 *ResourceJobNewClusterAutoscale         `json:"autoscale,omitempty"`
   383  	AwsAttributes             *ResourceJobNewClusterAwsAttributes     `json:"aws_attributes,omitempty"`
   384  	AzureAttributes           *ResourceJobNewClusterAzureAttributes   `json:"azure_attributes,omitempty"`
   385  	ClusterLogConf            *ResourceJobNewClusterClusterLogConf    `json:"cluster_log_conf,omitempty"`
   386  	ClusterMountInfo          []ResourceJobNewClusterClusterMountInfo `json:"cluster_mount_info,omitempty"`
   387  	DockerImage               *ResourceJobNewClusterDockerImage       `json:"docker_image,omitempty"`
   388  	GcpAttributes             *ResourceJobNewClusterGcpAttributes     `json:"gcp_attributes,omitempty"`
   389  	InitScripts               []ResourceJobNewClusterInitScripts      `json:"init_scripts,omitempty"`
   390  	WorkloadType              *ResourceJobNewClusterWorkloadType      `json:"workload_type,omitempty"`
   391  }
   392  
   393  type ResourceJobNotebookTask struct {
   394  	BaseParameters map[string]string `json:"base_parameters,omitempty"`
   395  	NotebookPath   string            `json:"notebook_path"`
   396  	Source         string            `json:"source,omitempty"`
   397  }
   398  
   399  type ResourceJobNotificationSettings struct {
   400  	NoAlertForCanceledRuns bool `json:"no_alert_for_canceled_runs,omitempty"`
   401  	NoAlertForSkippedRuns  bool `json:"no_alert_for_skipped_runs,omitempty"`
   402  }
   403  
   404  type ResourceJobPipelineTask struct {
   405  	FullRefresh bool   `json:"full_refresh,omitempty"`
   406  	PipelineId  string `json:"pipeline_id"`
   407  }
   408  
   409  type ResourceJobPythonWheelTask struct {
   410  	EntryPoint      string            `json:"entry_point,omitempty"`
   411  	NamedParameters map[string]string `json:"named_parameters,omitempty"`
   412  	PackageName     string            `json:"package_name,omitempty"`
   413  	Parameters      []string          `json:"parameters,omitempty"`
   414  }
   415  
   416  type ResourceJobQueue struct {
   417  }
   418  
   419  type ResourceJobRunAs struct {
   420  	ServicePrincipalName string `json:"service_principal_name,omitempty"`
   421  	UserName             string `json:"user_name,omitempty"`
   422  }
   423  
   424  type ResourceJobSchedule struct {
   425  	PauseStatus          string `json:"pause_status,omitempty"`
   426  	QuartzCronExpression string `json:"quartz_cron_expression"`
   427  	TimezoneId           string `json:"timezone_id"`
   428  }
   429  
   430  type ResourceJobSparkJarTask struct {
   431  	JarUri        string   `json:"jar_uri,omitempty"`
   432  	MainClassName string   `json:"main_class_name,omitempty"`
   433  	Parameters    []string `json:"parameters,omitempty"`
   434  }
   435  
   436  type ResourceJobSparkPythonTask struct {
   437  	Parameters []string `json:"parameters,omitempty"`
   438  	PythonFile string   `json:"python_file"`
   439  	Source     string   `json:"source,omitempty"`
   440  }
   441  
   442  type ResourceJobSparkSubmitTask struct {
   443  	Parameters []string `json:"parameters,omitempty"`
   444  }
   445  
   446  type ResourceJobTaskConditionTask struct {
   447  	Left  string `json:"left,omitempty"`
   448  	Op    string `json:"op,omitempty"`
   449  	Right string `json:"right,omitempty"`
   450  }
   451  
   452  type ResourceJobTaskDbtTask struct {
   453  	Catalog           string   `json:"catalog,omitempty"`
   454  	Commands          []string `json:"commands"`
   455  	ProfilesDirectory string   `json:"profiles_directory,omitempty"`
   456  	ProjectDirectory  string   `json:"project_directory,omitempty"`
   457  	Schema            string   `json:"schema,omitempty"`
   458  	WarehouseId       string   `json:"warehouse_id,omitempty"`
   459  }
   460  
   461  type ResourceJobTaskDependsOn struct {
   462  	Outcome string `json:"outcome,omitempty"`
   463  	TaskKey string `json:"task_key"`
   464  }
   465  
   466  type ResourceJobTaskEmailNotifications struct {
   467  	AlertOnLastAttempt                 bool     `json:"alert_on_last_attempt,omitempty"`
   468  	NoAlertForSkippedRuns              bool     `json:"no_alert_for_skipped_runs,omitempty"`
   469  	OnDurationWarningThresholdExceeded []string `json:"on_duration_warning_threshold_exceeded,omitempty"`
   470  	OnFailure                          []string `json:"on_failure,omitempty"`
   471  	OnStart                            []string `json:"on_start,omitempty"`
   472  	OnSuccess                          []string `json:"on_success,omitempty"`
   473  }
   474  
   475  type ResourceJobTaskHealthRules struct {
   476  	Metric string `json:"metric,omitempty"`
   477  	Op     string `json:"op,omitempty"`
   478  	Value  int    `json:"value,omitempty"`
   479  }
   480  
   481  type ResourceJobTaskHealth struct {
   482  	Rules []ResourceJobTaskHealthRules `json:"rules,omitempty"`
   483  }
   484  
   485  type ResourceJobTaskLibraryCran struct {
   486  	Package string `json:"package"`
   487  	Repo    string `json:"repo,omitempty"`
   488  }
   489  
   490  type ResourceJobTaskLibraryMaven struct {
   491  	Coordinates string   `json:"coordinates"`
   492  	Exclusions  []string `json:"exclusions,omitempty"`
   493  	Repo        string   `json:"repo,omitempty"`
   494  }
   495  
   496  type ResourceJobTaskLibraryPypi struct {
   497  	Package string `json:"package"`
   498  	Repo    string `json:"repo,omitempty"`
   499  }
   500  
   501  type ResourceJobTaskLibrary struct {
   502  	Egg   string                       `json:"egg,omitempty"`
   503  	Jar   string                       `json:"jar,omitempty"`
   504  	Whl   string                       `json:"whl,omitempty"`
   505  	Cran  *ResourceJobTaskLibraryCran  `json:"cran,omitempty"`
   506  	Maven *ResourceJobTaskLibraryMaven `json:"maven,omitempty"`
   507  	Pypi  *ResourceJobTaskLibraryPypi  `json:"pypi,omitempty"`
   508  }
   509  
   510  type ResourceJobTaskNewClusterAutoscale struct {
   511  	MaxWorkers int `json:"max_workers,omitempty"`
   512  	MinWorkers int `json:"min_workers,omitempty"`
   513  }
   514  
   515  type ResourceJobTaskNewClusterAwsAttributes struct {
   516  	Availability        string `json:"availability,omitempty"`
   517  	EbsVolumeCount      int    `json:"ebs_volume_count,omitempty"`
   518  	EbsVolumeSize       int    `json:"ebs_volume_size,omitempty"`
   519  	EbsVolumeType       string `json:"ebs_volume_type,omitempty"`
   520  	FirstOnDemand       int    `json:"first_on_demand,omitempty"`
   521  	InstanceProfileArn  string `json:"instance_profile_arn,omitempty"`
   522  	SpotBidPricePercent int    `json:"spot_bid_price_percent,omitempty"`
   523  	ZoneId              string `json:"zone_id,omitempty"`
   524  }
   525  
   526  type ResourceJobTaskNewClusterAzureAttributes struct {
   527  	Availability    string `json:"availability,omitempty"`
   528  	FirstOnDemand   int    `json:"first_on_demand,omitempty"`
   529  	SpotBidMaxPrice int    `json:"spot_bid_max_price,omitempty"`
   530  }
   531  
   532  type ResourceJobTaskNewClusterClusterLogConfDbfs struct {
   533  	Destination string `json:"destination"`
   534  }
   535  
   536  type ResourceJobTaskNewClusterClusterLogConfS3 struct {
   537  	CannedAcl        string `json:"canned_acl,omitempty"`
   538  	Destination      string `json:"destination"`
   539  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
   540  	EncryptionType   string `json:"encryption_type,omitempty"`
   541  	Endpoint         string `json:"endpoint,omitempty"`
   542  	KmsKey           string `json:"kms_key,omitempty"`
   543  	Region           string `json:"region,omitempty"`
   544  }
   545  
   546  type ResourceJobTaskNewClusterClusterLogConf struct {
   547  	Dbfs *ResourceJobTaskNewClusterClusterLogConfDbfs `json:"dbfs,omitempty"`
   548  	S3   *ResourceJobTaskNewClusterClusterLogConfS3   `json:"s3,omitempty"`
   549  }
   550  
   551  type ResourceJobTaskNewClusterClusterMountInfoNetworkFilesystemInfo struct {
   552  	MountOptions  string `json:"mount_options,omitempty"`
   553  	ServerAddress string `json:"server_address"`
   554  }
   555  
   556  type ResourceJobTaskNewClusterClusterMountInfo struct {
   557  	LocalMountDirPath     string                                                          `json:"local_mount_dir_path"`
   558  	RemoteMountDirPath    string                                                          `json:"remote_mount_dir_path,omitempty"`
   559  	NetworkFilesystemInfo *ResourceJobTaskNewClusterClusterMountInfoNetworkFilesystemInfo `json:"network_filesystem_info,omitempty"`
   560  }
   561  
   562  type ResourceJobTaskNewClusterDockerImageBasicAuth struct {
   563  	Password string `json:"password"`
   564  	Username string `json:"username"`
   565  }
   566  
   567  type ResourceJobTaskNewClusterDockerImage struct {
   568  	Url       string                                         `json:"url"`
   569  	BasicAuth *ResourceJobTaskNewClusterDockerImageBasicAuth `json:"basic_auth,omitempty"`
   570  }
   571  
   572  type ResourceJobTaskNewClusterGcpAttributes struct {
   573  	Availability            string `json:"availability,omitempty"`
   574  	BootDiskSize            int    `json:"boot_disk_size,omitempty"`
   575  	GoogleServiceAccount    string `json:"google_service_account,omitempty"`
   576  	UsePreemptibleExecutors bool   `json:"use_preemptible_executors,omitempty"`
   577  	ZoneId                  string `json:"zone_id,omitempty"`
   578  }
   579  
   580  type ResourceJobTaskNewClusterInitScriptsAbfss struct {
   581  	Destination string `json:"destination,omitempty"`
   582  }
   583  
   584  type ResourceJobTaskNewClusterInitScriptsDbfs struct {
   585  	Destination string `json:"destination"`
   586  }
   587  
   588  type ResourceJobTaskNewClusterInitScriptsFile struct {
   589  	Destination string `json:"destination,omitempty"`
   590  }
   591  
   592  type ResourceJobTaskNewClusterInitScriptsGcs struct {
   593  	Destination string `json:"destination,omitempty"`
   594  }
   595  
   596  type ResourceJobTaskNewClusterInitScriptsS3 struct {
   597  	CannedAcl        string `json:"canned_acl,omitempty"`
   598  	Destination      string `json:"destination"`
   599  	EnableEncryption bool   `json:"enable_encryption,omitempty"`
   600  	EncryptionType   string `json:"encryption_type,omitempty"`
   601  	Endpoint         string `json:"endpoint,omitempty"`
   602  	KmsKey           string `json:"kms_key,omitempty"`
   603  	Region           string `json:"region,omitempty"`
   604  }
   605  
   606  type ResourceJobTaskNewClusterInitScriptsWorkspace struct {
   607  	Destination string `json:"destination,omitempty"`
   608  }
   609  
   610  type ResourceJobTaskNewClusterInitScripts struct {
   611  	Abfss     *ResourceJobTaskNewClusterInitScriptsAbfss     `json:"abfss,omitempty"`
   612  	Dbfs      *ResourceJobTaskNewClusterInitScriptsDbfs      `json:"dbfs,omitempty"`
   613  	File      *ResourceJobTaskNewClusterInitScriptsFile      `json:"file,omitempty"`
   614  	Gcs       *ResourceJobTaskNewClusterInitScriptsGcs       `json:"gcs,omitempty"`
   615  	S3        *ResourceJobTaskNewClusterInitScriptsS3        `json:"s3,omitempty"`
   616  	Workspace *ResourceJobTaskNewClusterInitScriptsWorkspace `json:"workspace,omitempty"`
   617  }
   618  
   619  type ResourceJobTaskNewClusterWorkloadTypeClients struct {
   620  	Jobs      bool `json:"jobs,omitempty"`
   621  	Notebooks bool `json:"notebooks,omitempty"`
   622  }
   623  
   624  type ResourceJobTaskNewClusterWorkloadType struct {
   625  	Clients *ResourceJobTaskNewClusterWorkloadTypeClients `json:"clients,omitempty"`
   626  }
   627  
   628  type ResourceJobTaskNewCluster struct {
   629  	ApplyPolicyDefaultValues  bool                                        `json:"apply_policy_default_values,omitempty"`
   630  	AutoterminationMinutes    int                                         `json:"autotermination_minutes,omitempty"`
   631  	ClusterId                 string                                      `json:"cluster_id,omitempty"`
   632  	ClusterName               string                                      `json:"cluster_name,omitempty"`
   633  	CustomTags                map[string]string                           `json:"custom_tags,omitempty"`
   634  	DataSecurityMode          string                                      `json:"data_security_mode,omitempty"`
   635  	DriverInstancePoolId      string                                      `json:"driver_instance_pool_id,omitempty"`
   636  	DriverNodeTypeId          string                                      `json:"driver_node_type_id,omitempty"`
   637  	EnableElasticDisk         bool                                        `json:"enable_elastic_disk,omitempty"`
   638  	EnableLocalDiskEncryption bool                                        `json:"enable_local_disk_encryption,omitempty"`
   639  	IdempotencyToken          string                                      `json:"idempotency_token,omitempty"`
   640  	InstancePoolId            string                                      `json:"instance_pool_id,omitempty"`
   641  	NodeTypeId                string                                      `json:"node_type_id,omitempty"`
   642  	NumWorkers                int                                         `json:"num_workers,omitempty"`
   643  	PolicyId                  string                                      `json:"policy_id,omitempty"`
   644  	RuntimeEngine             string                                      `json:"runtime_engine,omitempty"`
   645  	SingleUserName            string                                      `json:"single_user_name,omitempty"`
   646  	SparkConf                 map[string]string                           `json:"spark_conf,omitempty"`
   647  	SparkEnvVars              map[string]string                           `json:"spark_env_vars,omitempty"`
   648  	SparkVersion              string                                      `json:"spark_version"`
   649  	SshPublicKeys             []string                                    `json:"ssh_public_keys,omitempty"`
   650  	Autoscale                 *ResourceJobTaskNewClusterAutoscale         `json:"autoscale,omitempty"`
   651  	AwsAttributes             *ResourceJobTaskNewClusterAwsAttributes     `json:"aws_attributes,omitempty"`
   652  	AzureAttributes           *ResourceJobTaskNewClusterAzureAttributes   `json:"azure_attributes,omitempty"`
   653  	ClusterLogConf            *ResourceJobTaskNewClusterClusterLogConf    `json:"cluster_log_conf,omitempty"`
   654  	ClusterMountInfo          []ResourceJobTaskNewClusterClusterMountInfo `json:"cluster_mount_info,omitempty"`
   655  	DockerImage               *ResourceJobTaskNewClusterDockerImage       `json:"docker_image,omitempty"`
   656  	GcpAttributes             *ResourceJobTaskNewClusterGcpAttributes     `json:"gcp_attributes,omitempty"`
   657  	InitScripts               []ResourceJobTaskNewClusterInitScripts      `json:"init_scripts,omitempty"`
   658  	WorkloadType              *ResourceJobTaskNewClusterWorkloadType      `json:"workload_type,omitempty"`
   659  }
   660  
   661  type ResourceJobTaskNotebookTask struct {
   662  	BaseParameters map[string]string `json:"base_parameters,omitempty"`
   663  	NotebookPath   string            `json:"notebook_path"`
   664  	Source         string            `json:"source,omitempty"`
   665  }
   666  
   667  type ResourceJobTaskNotificationSettings struct {
   668  	AlertOnLastAttempt     bool `json:"alert_on_last_attempt,omitempty"`
   669  	NoAlertForCanceledRuns bool `json:"no_alert_for_canceled_runs,omitempty"`
   670  	NoAlertForSkippedRuns  bool `json:"no_alert_for_skipped_runs,omitempty"`
   671  }
   672  
   673  type ResourceJobTaskPipelineTask struct {
   674  	FullRefresh bool   `json:"full_refresh,omitempty"`
   675  	PipelineId  string `json:"pipeline_id"`
   676  }
   677  
   678  type ResourceJobTaskPythonWheelTask struct {
   679  	EntryPoint      string            `json:"entry_point,omitempty"`
   680  	NamedParameters map[string]string `json:"named_parameters,omitempty"`
   681  	PackageName     string            `json:"package_name,omitempty"`
   682  	Parameters      []string          `json:"parameters,omitempty"`
   683  }
   684  
   685  type ResourceJobTaskSparkJarTask struct {
   686  	JarUri        string   `json:"jar_uri,omitempty"`
   687  	MainClassName string   `json:"main_class_name,omitempty"`
   688  	Parameters    []string `json:"parameters,omitempty"`
   689  }
   690  
   691  type ResourceJobTaskSparkPythonTask struct {
   692  	Parameters []string `json:"parameters,omitempty"`
   693  	PythonFile string   `json:"python_file"`
   694  	Source     string   `json:"source,omitempty"`
   695  }
   696  
   697  type ResourceJobTaskSparkSubmitTask struct {
   698  	Parameters []string `json:"parameters,omitempty"`
   699  }
   700  
   701  type ResourceJobTaskSqlTaskAlertSubscriptions struct {
   702  	DestinationId string `json:"destination_id,omitempty"`
   703  	UserName      string `json:"user_name,omitempty"`
   704  }
   705  
   706  type ResourceJobTaskSqlTaskAlert struct {
   707  	AlertId            string                                     `json:"alert_id"`
   708  	PauseSubscriptions bool                                       `json:"pause_subscriptions,omitempty"`
   709  	Subscriptions      []ResourceJobTaskSqlTaskAlertSubscriptions `json:"subscriptions,omitempty"`
   710  }
   711  
   712  type ResourceJobTaskSqlTaskDashboardSubscriptions struct {
   713  	DestinationId string `json:"destination_id,omitempty"`
   714  	UserName      string `json:"user_name,omitempty"`
   715  }
   716  
   717  type ResourceJobTaskSqlTaskDashboard struct {
   718  	CustomSubject      string                                         `json:"custom_subject,omitempty"`
   719  	DashboardId        string                                         `json:"dashboard_id"`
   720  	PauseSubscriptions bool                                           `json:"pause_subscriptions,omitempty"`
   721  	Subscriptions      []ResourceJobTaskSqlTaskDashboardSubscriptions `json:"subscriptions,omitempty"`
   722  }
   723  
   724  type ResourceJobTaskSqlTaskFile struct {
   725  	Path string `json:"path"`
   726  }
   727  
   728  type ResourceJobTaskSqlTaskQuery struct {
   729  	QueryId string `json:"query_id"`
   730  }
   731  
   732  type ResourceJobTaskSqlTask struct {
   733  	Parameters  map[string]string                `json:"parameters,omitempty"`
   734  	WarehouseId string                           `json:"warehouse_id,omitempty"`
   735  	Alert       *ResourceJobTaskSqlTaskAlert     `json:"alert,omitempty"`
   736  	Dashboard   *ResourceJobTaskSqlTaskDashboard `json:"dashboard,omitempty"`
   737  	File        *ResourceJobTaskSqlTaskFile      `json:"file,omitempty"`
   738  	Query       *ResourceJobTaskSqlTaskQuery     `json:"query,omitempty"`
   739  }
   740  
   741  type ResourceJobTask struct {
   742  	ComputeKey             string                               `json:"compute_key,omitempty"`
   743  	Description            string                               `json:"description,omitempty"`
   744  	ExistingClusterId      string                               `json:"existing_cluster_id,omitempty"`
   745  	JobClusterKey          string                               `json:"job_cluster_key,omitempty"`
   746  	MaxRetries             int                                  `json:"max_retries,omitempty"`
   747  	MinRetryIntervalMillis int                                  `json:"min_retry_interval_millis,omitempty"`
   748  	RetryOnTimeout         bool                                 `json:"retry_on_timeout,omitempty"`
   749  	RunIf                  string                               `json:"run_if,omitempty"`
   750  	TaskKey                string                               `json:"task_key,omitempty"`
   751  	TimeoutSeconds         int                                  `json:"timeout_seconds,omitempty"`
   752  	ConditionTask          *ResourceJobTaskConditionTask        `json:"condition_task,omitempty"`
   753  	DbtTask                *ResourceJobTaskDbtTask              `json:"dbt_task,omitempty"`
   754  	DependsOn              []ResourceJobTaskDependsOn           `json:"depends_on,omitempty"`
   755  	EmailNotifications     *ResourceJobTaskEmailNotifications   `json:"email_notifications,omitempty"`
   756  	Health                 *ResourceJobTaskHealth               `json:"health,omitempty"`
   757  	Library                []ResourceJobTaskLibrary             `json:"library,omitempty"`
   758  	NewCluster             *ResourceJobTaskNewCluster           `json:"new_cluster,omitempty"`
   759  	NotebookTask           *ResourceJobTaskNotebookTask         `json:"notebook_task,omitempty"`
   760  	NotificationSettings   *ResourceJobTaskNotificationSettings `json:"notification_settings,omitempty"`
   761  	PipelineTask           *ResourceJobTaskPipelineTask         `json:"pipeline_task,omitempty"`
   762  	PythonWheelTask        *ResourceJobTaskPythonWheelTask      `json:"python_wheel_task,omitempty"`
   763  	SparkJarTask           *ResourceJobTaskSparkJarTask         `json:"spark_jar_task,omitempty"`
   764  	SparkPythonTask        *ResourceJobTaskSparkPythonTask      `json:"spark_python_task,omitempty"`
   765  	SparkSubmitTask        *ResourceJobTaskSparkSubmitTask      `json:"spark_submit_task,omitempty"`
   766  	SqlTask                *ResourceJobTaskSqlTask              `json:"sql_task,omitempty"`
   767  }
   768  
   769  type ResourceJobTriggerFileArrival struct {
   770  	MinTimeBetweenTriggersSeconds int    `json:"min_time_between_triggers_seconds,omitempty"`
   771  	Url                           string `json:"url"`
   772  	WaitAfterLastChangeSeconds    int    `json:"wait_after_last_change_seconds,omitempty"`
   773  }
   774  
   775  type ResourceJobTrigger struct {
   776  	PauseStatus string                         `json:"pause_status,omitempty"`
   777  	FileArrival *ResourceJobTriggerFileArrival `json:"file_arrival,omitempty"`
   778  }
   779  
   780  type ResourceJobWebhookNotificationsOnDurationWarningThresholdExceeded struct {
   781  	Id string `json:"id"`
   782  }
   783  
   784  type ResourceJobWebhookNotificationsOnFailure struct {
   785  	Id string `json:"id"`
   786  }
   787  
   788  type ResourceJobWebhookNotificationsOnStart struct {
   789  	Id string `json:"id"`
   790  }
   791  
   792  type ResourceJobWebhookNotificationsOnSuccess struct {
   793  	Id string `json:"id"`
   794  }
   795  
   796  type ResourceJobWebhookNotifications struct {
   797  	OnDurationWarningThresholdExceeded []ResourceJobWebhookNotificationsOnDurationWarningThresholdExceeded `json:"on_duration_warning_threshold_exceeded,omitempty"`
   798  	OnFailure                          []ResourceJobWebhookNotificationsOnFailure                          `json:"on_failure,omitempty"`
   799  	OnStart                            []ResourceJobWebhookNotificationsOnStart                            `json:"on_start,omitempty"`
   800  	OnSuccess                          []ResourceJobWebhookNotificationsOnSuccess                          `json:"on_success,omitempty"`
   801  }
   802  
   803  type ResourceJob struct {
   804  	AlwaysRunning          bool                             `json:"always_running,omitempty"`
   805  	ControlRunState        bool                             `json:"control_run_state,omitempty"`
   806  	ExistingClusterId      string                           `json:"existing_cluster_id,omitempty"`
   807  	Format                 string                           `json:"format,omitempty"`
   808  	Id                     string                           `json:"id,omitempty"`
   809  	MaxConcurrentRuns      int                              `json:"max_concurrent_runs,omitempty"`
   810  	MaxRetries             int                              `json:"max_retries,omitempty"`
   811  	MinRetryIntervalMillis int                              `json:"min_retry_interval_millis,omitempty"`
   812  	Name                   string                           `json:"name,omitempty"`
   813  	RetryOnTimeout         bool                             `json:"retry_on_timeout,omitempty"`
   814  	Tags                   map[string]string                `json:"tags,omitempty"`
   815  	TimeoutSeconds         int                              `json:"timeout_seconds,omitempty"`
   816  	Url                    string                           `json:"url,omitempty"`
   817  	Compute                []ResourceJobCompute             `json:"compute,omitempty"`
   818  	Continuous             *ResourceJobContinuous           `json:"continuous,omitempty"`
   819  	DbtTask                *ResourceJobDbtTask              `json:"dbt_task,omitempty"`
   820  	EmailNotifications     *ResourceJobEmailNotifications   `json:"email_notifications,omitempty"`
   821  	GitSource              *ResourceJobGitSource            `json:"git_source,omitempty"`
   822  	Health                 *ResourceJobHealth               `json:"health,omitempty"`
   823  	JobCluster             []ResourceJobJobCluster          `json:"job_cluster,omitempty"`
   824  	Library                []ResourceJobLibrary             `json:"library,omitempty"`
   825  	NewCluster             *ResourceJobNewCluster           `json:"new_cluster,omitempty"`
   826  	NotebookTask           *ResourceJobNotebookTask         `json:"notebook_task,omitempty"`
   827  	NotificationSettings   *ResourceJobNotificationSettings `json:"notification_settings,omitempty"`
   828  	PipelineTask           *ResourceJobPipelineTask         `json:"pipeline_task,omitempty"`
   829  	PythonWheelTask        *ResourceJobPythonWheelTask      `json:"python_wheel_task,omitempty"`
   830  	Queue                  *ResourceJobQueue                `json:"queue,omitempty"`
   831  	RunAs                  *ResourceJobRunAs                `json:"run_as,omitempty"`
   832  	Schedule               *ResourceJobSchedule             `json:"schedule,omitempty"`
   833  	SparkJarTask           *ResourceJobSparkJarTask         `json:"spark_jar_task,omitempty"`
   834  	SparkPythonTask        *ResourceJobSparkPythonTask      `json:"spark_python_task,omitempty"`
   835  	SparkSubmitTask        *ResourceJobSparkSubmitTask      `json:"spark_submit_task,omitempty"`
   836  	Task                   []ResourceJobTask                `json:"task,omitempty"`
   837  	Trigger                *ResourceJobTrigger              `json:"trigger,omitempty"`
   838  	WebhookNotifications   *ResourceJobWebhookNotifications `json:"webhook_notifications,omitempty"`
   839  }