diff --git a/.agents/rules/telemetry.md b/.agents/rules/telemetry.md index 5526dfb2007..d9e33dd0e65 100644 --- a/.agents/rules/telemetry.md +++ b/.agents/rules/telemetry.md @@ -34,7 +34,7 @@ The deploy payload is declared twice: the proto in the universe repo (`proto/log Other things worth knowing: -- A one-off boolean needs no proto change: add a key constant to `bundle/metrics/metrics.go` (snake_case, matching the constant name) and call `b.Metrics.SetBoolValue(...)`. It lands in `experimental.bool_values`. +- A one-off boolean needs no proto change: add a field to `bundle.Telemetry` (`bundle/telemetry.go`) with a snake_case `metric:"..."` tag and set it. Pick the type by what is measured: `bool` for a flag reported only when true, `*bool` for a measured value (nil when not measured), `BoolSet` for a measurement taken several times (e.g. once per artifact; record each with `SetBool`, and each value taken is reported once). It lands in `experimental.bool_values` and in the bundle bitmap; run `./task generate-bitmap-schema` to append it to the bitmap schema. - Metrics that may be removed later belong in `BundleDeployExperimental`, which carries no compatibility guarantees. - Positional encodings such as the `upload_file_sizes` histogram are frozen once the metric has adoption: changing a bucket bound silently changes the meaning of every previously reported entry. - Per-resource state sizes come from the direct engine's state in `resources.json`. diff --git a/Taskfile.yml b/Taskfile.yml index 17c508c0594..c46a2fe417b 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -802,6 +802,7 @@ tasks: # Refreshes acceptance/bundle/refschema/output/*.txt, which feeds # generate-direct-apitypes and generate-direct-resources below. - task: generate-refschema + - task: generate-bitmap-schema - task: generate-schema - task: generate-validation - task: generate-direct @@ -820,6 +821,7 @@ tasks: cmds: - task: generate-cligen - task: generate-refschema + - task: generate-bitmap-schema - task: generate-schema - task: generate-validation - task: generate-direct @@ -989,6 +991,33 @@ tasks: cmds: - go test ./acceptance -run TestAccept/bundle/refschema -update + # Appends any newly added bundle config fields to bundle/bitmap/schema.txt, the + # embedded bitmap schema (see cmd/bundle/bitmap). The schema is append-only, so + # update-schema reads the currently embedded schema and only appends. Output is + # written to a temp file first so the redirect does not truncate schema.txt + # before `go run` embeds it at compile time. Also refreshes the schema embedded + # in the databricks-bundles decoder (python/databricks/bundles/_bitmap) and the + # listing in acceptance/bundle/bitmap/full, which tracks every schema line. + generate-bitmap-schema: + desc: Regenerate bundle/bitmap/schema.txt and its acceptance listing + sources: + - bundle/**/*.go + - exclude: bundle/**/*_test.go + - acceptance/bundle/bitmap/full/script + - acceptance/bundle/bitmap/full/split.py + - go.mod + - go.sum + - "{{.EMBED_SOURCES}}" + generates: + - bundle/bitmap/schema.txt + - acceptance/bundle/bitmap/full/output/*.txt + - python/databricks/bundles/_bitmap/_schema.py + cmds: + - go run . bundle bitmap update-schema > bundle/bitmap/schema.txt.tmp + - mv bundle/bitmap/schema.txt.tmp bundle/bitmap/schema.txt + - go run ./bundle/bitmap/genpython python/databricks/bundles/_bitmap/_schema.py + - go test ./acceptance -run TestAccept/bundle/bitmap/full -update + # Upstream field documentation comes from the checked-in .codegen/cli.json; # bundle/internal/schema/annotations.yml carries the CLI-owned docs and # overrides and is rewritten in place (synced with the config structure). diff --git a/acceptance/bundle/bitmap/full/out.test.toml b/acceptance/bundle/bitmap/full/out.test.toml new file mode 100644 index 00000000000..2ab253adc73 --- /dev/null +++ b/acceptance/bundle/bitmap/full/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = [] diff --git a/acceptance/bundle/bitmap/full/output.txt b/acceptance/bundle/bitmap/full/output.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/acceptance/bundle/bitmap/full/output/alerts.txt b/acceptance/bundle/bitmap/full/output/alerts.txt new file mode 100644 index 00000000000..88c1022c992 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/alerts.txt @@ -0,0 +1,75 @@ +resources.alerts 4169 +resources.alerts.* 4170 +resources.alerts.*.url 4171 +resources.alerts.*.modified_status 4172 +resources.alerts.*.lifecycle 4173 +resources.alerts.*.lifecycle.prevent_destroy 4174 +resources.alerts.*.lifecycle.prevent_destroy=true 4175 +resources.alerts.*.lifecycle.prevent_destroy=false 4176 +resources.alerts.*.lifecycle.depends_on 4177 +resources.alerts.*.lifecycle.depends_on[*] 4178 +resources.alerts.*.lifecycle.depends_on[*].resource 4179 +resources.alerts.*.create_time 4180 +resources.alerts.*.custom_description 4181 +resources.alerts.*.custom_summary 4182 +resources.alerts.*.custom_template_format 4183 +resources.alerts.*.display_name 4184 +resources.alerts.*.effective_run_as 4185 +resources.alerts.*.effective_run_as.service_principal_name 4186 +resources.alerts.*.effective_run_as.user_name 4187 +resources.alerts.*.evaluation 4188 +resources.alerts.*.evaluation.comparison_operator 4189 +resources.alerts.*.evaluation.empty_result_state 4190 +resources.alerts.*.evaluation.last_evaluated_at 4191 +resources.alerts.*.evaluation.notification 4192 +resources.alerts.*.evaluation.notification.notify_on_ok 4193 +resources.alerts.*.evaluation.notification.notify_on_ok=true 4194 +resources.alerts.*.evaluation.notification.notify_on_ok=false 4195 +resources.alerts.*.evaluation.notification.retrigger_seconds 4196 +resources.alerts.*.evaluation.notification.subscriptions 4197 +resources.alerts.*.evaluation.notification.subscriptions[*] 4198 +resources.alerts.*.evaluation.notification.subscriptions[*].destination_id 4199 +resources.alerts.*.evaluation.notification.subscriptions[*].user_email 4200 +resources.alerts.*.evaluation.source 4201 +resources.alerts.*.evaluation.source.aggregation 4202 +resources.alerts.*.evaluation.source.display 4203 +resources.alerts.*.evaluation.source.name 4204 +resources.alerts.*.evaluation.state 4205 +resources.alerts.*.evaluation.threshold 4206 +resources.alerts.*.evaluation.threshold.column 4207 +resources.alerts.*.evaluation.threshold.column.aggregation 4208 +resources.alerts.*.evaluation.threshold.column.display 4209 +resources.alerts.*.evaluation.threshold.column.name 4210 +resources.alerts.*.evaluation.threshold.value 4211 +resources.alerts.*.evaluation.threshold.value.bool_value 4212 +resources.alerts.*.evaluation.threshold.value.bool_value=true 4213 +resources.alerts.*.evaluation.threshold.value.bool_value=false 4214 +resources.alerts.*.evaluation.threshold.value.double_value 4215 +resources.alerts.*.evaluation.threshold.value.string_value 4216 +resources.alerts.*.id 4217 +resources.alerts.*.lifecycle_state 4218 +resources.alerts.*.owner_user_name 4219 +resources.alerts.*.parameters 4220 +resources.alerts.*.parameters[*] 4221 +resources.alerts.*.parameters[*].name 4222 +resources.alerts.*.parameters[*].type 4223 +resources.alerts.*.parameters[*].value 4224 +resources.alerts.*.parent_path 4225 +resources.alerts.*.query_text 4226 +resources.alerts.*.run_as 4227 +resources.alerts.*.run_as.service_principal_name 4228 +resources.alerts.*.run_as.user_name 4229 +resources.alerts.*.run_as_user_name 4230 +resources.alerts.*.schedule 4231 +resources.alerts.*.schedule.pause_status 4232 +resources.alerts.*.schedule.quartz_cron_schedule 4233 +resources.alerts.*.schedule.timezone_id 4234 +resources.alerts.*.update_time 4235 +resources.alerts.*.warehouse_id 4236 +resources.alerts.*.permissions 4237 +resources.alerts.*.permissions[*] 4238 +resources.alerts.*.permissions[*].level 4239 +resources.alerts.*.permissions[*].user_name 4240 +resources.alerts.*.permissions[*].service_principal_name 4241 +resources.alerts.*.permissions[*].group_name 4242 +resources.alerts.*.file_path 4243 diff --git a/acceptance/bundle/bitmap/full/output/apps.txt b/acceptance/bundle/bitmap/full/output/apps.txt new file mode 100644 index 00000000000..620740b69f2 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/apps.txt @@ -0,0 +1,215 @@ +resources.apps 3931 +resources.apps.* 3932 +resources.apps.*.url 3933 +resources.apps.*.modified_status 3934 +resources.apps.*.lifecycle 3935 +resources.apps.*.lifecycle.prevent_destroy 3936 +resources.apps.*.lifecycle.prevent_destroy=true 3937 +resources.apps.*.lifecycle.prevent_destroy=false 3938 +resources.apps.*.lifecycle.depends_on 3939 +resources.apps.*.lifecycle.depends_on[*] 3940 +resources.apps.*.lifecycle.depends_on[*].resource 3941 +resources.apps.*.active_deployment 3942 +resources.apps.*.active_deployment.command 3943 +resources.apps.*.active_deployment.command[*] 3944 +resources.apps.*.active_deployment.create_time 3945 +resources.apps.*.active_deployment.creator 3946 +resources.apps.*.active_deployment.deployment_artifacts 3947 +resources.apps.*.active_deployment.deployment_artifacts.source_code_path 3948 +resources.apps.*.active_deployment.deployment_id 3949 +resources.apps.*.active_deployment.env_vars 3950 +resources.apps.*.active_deployment.env_vars[*] 3951 +resources.apps.*.active_deployment.env_vars[*].name 3952 +resources.apps.*.active_deployment.env_vars[*].value 3953 +resources.apps.*.active_deployment.env_vars[*].value_from 3954 +resources.apps.*.active_deployment.git_source 3955 +resources.apps.*.active_deployment.git_source.branch 3956 +resources.apps.*.active_deployment.git_source.commit 3957 +resources.apps.*.active_deployment.git_source.git_repository 3958 +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy 3959 +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy=true 3960 +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy=false 3961 +resources.apps.*.active_deployment.git_source.git_repository.caller_credential_id 3962 +resources.apps.*.active_deployment.git_source.git_repository.provider 3963 +resources.apps.*.active_deployment.git_source.git_repository.url 3964 +resources.apps.*.active_deployment.git_source.resolved_commit 3965 +resources.apps.*.active_deployment.git_source.source_code_path 3966 +resources.apps.*.active_deployment.git_source.tag 3967 +resources.apps.*.active_deployment.health_check 3968 +resources.apps.*.active_deployment.health_check.path 3969 +resources.apps.*.active_deployment.health_check.timeout 3970 +resources.apps.*.active_deployment.mode 3971 +resources.apps.*.active_deployment.source_code_path 3972 +resources.apps.*.active_deployment.status 3973 +resources.apps.*.active_deployment.status.message 3974 +resources.apps.*.active_deployment.status.state 3975 +resources.apps.*.active_deployment.update_time 3976 +resources.apps.*.app_status 3977 +resources.apps.*.app_status.message 3978 +resources.apps.*.app_status.running_instances 3979 +resources.apps.*.app_status.state 3980 +resources.apps.*.budget_policy_id 3981 +resources.apps.*.compute_max_instances 3982 +resources.apps.*.compute_min_instances 3983 +resources.apps.*.compute_size 3984 +resources.apps.*.compute_status 3985 +resources.apps.*.compute_status.active_instances 3986 +resources.apps.*.compute_status.message 3987 +resources.apps.*.compute_status.state 3988 +resources.apps.*.create_time 3989 +resources.apps.*.creator 3990 +resources.apps.*.default_git_source 3991 +resources.apps.*.default_git_source.branch 3992 +resources.apps.*.default_git_source.commit 3993 +resources.apps.*.default_git_source.git_repository 3994 +resources.apps.*.default_git_source.git_repository.auto_deploy 3995 +resources.apps.*.default_git_source.git_repository.auto_deploy=true 3996 +resources.apps.*.default_git_source.git_repository.auto_deploy=false 3997 +resources.apps.*.default_git_source.git_repository.caller_credential_id 3998 +resources.apps.*.default_git_source.git_repository.provider 3999 +resources.apps.*.default_git_source.git_repository.url 4000 +resources.apps.*.default_git_source.resolved_commit 4001 +resources.apps.*.default_git_source.source_code_path 4002 +resources.apps.*.default_git_source.tag 4003 +resources.apps.*.default_source_code_path 4004 +resources.apps.*.description 4005 +resources.apps.*.effective_budget_policy_id 4006 +resources.apps.*.effective_usage_policy_id 4007 +resources.apps.*.effective_user_api_scopes 4008 +resources.apps.*.effective_user_api_scopes[*] 4009 +resources.apps.*.forward_user_access_token 4010 +resources.apps.*.forward_user_access_token=true 4011 +resources.apps.*.forward_user_access_token=false 4012 +resources.apps.*.git_repository 4013 +resources.apps.*.git_repository.auto_deploy 4014 +resources.apps.*.git_repository.auto_deploy=true 4015 +resources.apps.*.git_repository.auto_deploy=false 4016 +resources.apps.*.git_repository.caller_credential_id 4017 +resources.apps.*.git_repository.provider 4018 +resources.apps.*.git_repository.url 4019 +resources.apps.*.git_source 4020 +resources.apps.*.git_source.branch 4021 +resources.apps.*.git_source.commit 4022 +resources.apps.*.git_source.git_repository 4023 +resources.apps.*.git_source.git_repository.auto_deploy 4024 +resources.apps.*.git_source.git_repository.auto_deploy=true 4025 +resources.apps.*.git_source.git_repository.auto_deploy=false 4026 +resources.apps.*.git_source.git_repository.caller_credential_id 4027 +resources.apps.*.git_source.git_repository.provider 4028 +resources.apps.*.git_source.git_repository.url 4029 +resources.apps.*.git_source.resolved_commit 4030 +resources.apps.*.git_source.source_code_path 4031 +resources.apps.*.git_source.tag 4032 +resources.apps.*.id 4033 +resources.apps.*.name 4034 +resources.apps.*.oauth2_app_client_id 4035 +resources.apps.*.oauth2_app_integration_id 4036 +resources.apps.*.pending_deployment 4037 +resources.apps.*.pending_deployment.command 4038 +resources.apps.*.pending_deployment.command[*] 4039 +resources.apps.*.pending_deployment.create_time 4040 +resources.apps.*.pending_deployment.creator 4041 +resources.apps.*.pending_deployment.deployment_artifacts 4042 +resources.apps.*.pending_deployment.deployment_artifacts.source_code_path 4043 +resources.apps.*.pending_deployment.deployment_id 4044 +resources.apps.*.pending_deployment.env_vars 4045 +resources.apps.*.pending_deployment.env_vars[*] 4046 +resources.apps.*.pending_deployment.env_vars[*].name 4047 +resources.apps.*.pending_deployment.env_vars[*].value 4048 +resources.apps.*.pending_deployment.env_vars[*].value_from 4049 +resources.apps.*.pending_deployment.git_source 4050 +resources.apps.*.pending_deployment.git_source.branch 4051 +resources.apps.*.pending_deployment.git_source.commit 4052 +resources.apps.*.pending_deployment.git_source.git_repository 4053 +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy 4054 +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy=true 4055 +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy=false 4056 +resources.apps.*.pending_deployment.git_source.git_repository.caller_credential_id 4057 +resources.apps.*.pending_deployment.git_source.git_repository.provider 4058 +resources.apps.*.pending_deployment.git_source.git_repository.url 4059 +resources.apps.*.pending_deployment.git_source.resolved_commit 4060 +resources.apps.*.pending_deployment.git_source.source_code_path 4061 +resources.apps.*.pending_deployment.git_source.tag 4062 +resources.apps.*.pending_deployment.health_check 4063 +resources.apps.*.pending_deployment.health_check.path 4064 +resources.apps.*.pending_deployment.health_check.timeout 4065 +resources.apps.*.pending_deployment.mode 4066 +resources.apps.*.pending_deployment.source_code_path 4067 +resources.apps.*.pending_deployment.status 4068 +resources.apps.*.pending_deployment.status.message 4069 +resources.apps.*.pending_deployment.status.state 4070 +resources.apps.*.pending_deployment.update_time 4071 +resources.apps.*.resources 4072 +resources.apps.*.resources[*] 4073 +resources.apps.*.resources[*].app 4074 +resources.apps.*.resources[*].app.name 4075 +resources.apps.*.resources[*].app.permission 4076 +resources.apps.*.resources[*].database 4077 +resources.apps.*.resources[*].database.database_name 4078 +resources.apps.*.resources[*].database.instance_name 4079 +resources.apps.*.resources[*].database.permission 4080 +resources.apps.*.resources[*].description 4081 +resources.apps.*.resources[*].experiment 4082 +resources.apps.*.resources[*].experiment.experiment_id 4083 +resources.apps.*.resources[*].experiment.permission 4084 +resources.apps.*.resources[*].genie_space 4085 +resources.apps.*.resources[*].genie_space.name 4086 +resources.apps.*.resources[*].genie_space.permission 4087 +resources.apps.*.resources[*].genie_space.space_id 4088 +resources.apps.*.resources[*].job 4089 +resources.apps.*.resources[*].job.id 4090 +resources.apps.*.resources[*].job.permission 4091 +resources.apps.*.resources[*].name 4092 +resources.apps.*.resources[*].postgres 4093 +resources.apps.*.resources[*].postgres.branch 4094 +resources.apps.*.resources[*].postgres.database 4095 +resources.apps.*.resources[*].postgres.permission 4096 +resources.apps.*.resources[*].secret 4097 +resources.apps.*.resources[*].secret.key 4098 +resources.apps.*.resources[*].secret.permission 4099 +resources.apps.*.resources[*].secret.scope 4100 +resources.apps.*.resources[*].serving_endpoint 4101 +resources.apps.*.resources[*].serving_endpoint.name 4102 +resources.apps.*.resources[*].serving_endpoint.permission 4103 +resources.apps.*.resources[*].sql_warehouse 4104 +resources.apps.*.resources[*].sql_warehouse.id 4105 +resources.apps.*.resources[*].sql_warehouse.permission 4106 +resources.apps.*.resources[*].uc_securable 4107 +resources.apps.*.resources[*].uc_securable.permission 4108 +resources.apps.*.resources[*].uc_securable.securable_full_name 4109 +resources.apps.*.resources[*].uc_securable.securable_kind 4110 +resources.apps.*.resources[*].uc_securable.securable_type 4111 +resources.apps.*.service_principal_client_id 4112 +resources.apps.*.service_principal_id 4113 +resources.apps.*.service_principal_name 4114 +resources.apps.*.source_code_path 4115 +resources.apps.*.space 4116 +resources.apps.*.telemetry_export_destinations 4117 +resources.apps.*.telemetry_export_destinations[*] 4118 +resources.apps.*.telemetry_export_destinations[*].unity_catalog 4119 +resources.apps.*.telemetry_export_destinations[*].unity_catalog.logs_table 4120 +resources.apps.*.telemetry_export_destinations[*].unity_catalog.metrics_table 4121 +resources.apps.*.telemetry_export_destinations[*].unity_catalog.traces_table 4122 +resources.apps.*.thumbnail_url 4123 +resources.apps.*.update_time 4124 +resources.apps.*.updater 4125 +resources.apps.*.usage_policy_id 4126 +resources.apps.*.user_api_scopes 4127 +resources.apps.*.user_api_scopes[*] 4128 +resources.apps.*.lifecycle.started 4129 +resources.apps.*.lifecycle.started=true 4130 +resources.apps.*.lifecycle.started=false 4131 +resources.apps.*.config 4132 +resources.apps.*.config.command 4133 +resources.apps.*.config.command[*] 4134 +resources.apps.*.config.env 4135 +resources.apps.*.config.env[*] 4136 +resources.apps.*.config.env[*].name 4137 +resources.apps.*.config.env[*].value 4138 +resources.apps.*.config.env[*].value_from 4139 +resources.apps.*.permissions 4140 +resources.apps.*.permissions[*] 4141 +resources.apps.*.permissions[*].level 4142 +resources.apps.*.permissions[*].user_name 4143 +resources.apps.*.permissions[*].service_principal_name 4144 +resources.apps.*.permissions[*].group_name 4145 diff --git a/acceptance/bundle/bitmap/full/output/catalogs.txt b/acceptance/bundle/bitmap/full/output/catalogs.txt new file mode 100644 index 00000000000..3e843b6aa73 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/catalogs.txt @@ -0,0 +1,35 @@ +resources.catalogs 3534 +resources.catalogs.* 3535 +resources.catalogs.*.url 3536 +resources.catalogs.*.modified_status 3537 +resources.catalogs.*.lifecycle 3538 +resources.catalogs.*.lifecycle.prevent_destroy 3539 +resources.catalogs.*.lifecycle.prevent_destroy=true 3540 +resources.catalogs.*.lifecycle.prevent_destroy=false 3541 +resources.catalogs.*.lifecycle.depends_on 3542 +resources.catalogs.*.lifecycle.depends_on[*] 3543 +resources.catalogs.*.lifecycle.depends_on[*].resource 3544 +resources.catalogs.*.id 3545 +resources.catalogs.*.comment 3546 +resources.catalogs.*.connection_name 3547 +resources.catalogs.*.custom_max_retention_hours 3548 +resources.catalogs.*.managed_encryption_settings 3549 +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings 3550 +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_cmk_access_connector_id 3551 +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_cmk_managed_identity_id 3552 +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_tenant_id 3553 +resources.catalogs.*.managed_encryption_settings.azure_key_vault_key_id 3554 +resources.catalogs.*.managed_encryption_settings.customer_managed_key_id 3555 +resources.catalogs.*.name 3556 +resources.catalogs.*.options 3557 +resources.catalogs.*.options.* 3558 +resources.catalogs.*.properties 3559 +resources.catalogs.*.properties.* 3560 +resources.catalogs.*.provider_name 3561 +resources.catalogs.*.share_name 3562 +resources.catalogs.*.storage_root 3563 +resources.catalogs.*.grants 3564 +resources.catalogs.*.grants[*] 3565 +resources.catalogs.*.grants[*].principal 3566 +resources.catalogs.*.grants[*].privileges 3567 +resources.catalogs.*.grants[*].privileges[*] 3568 diff --git a/acceptance/bundle/bitmap/full/output/cluster_policies.txt b/acceptance/bundle/bitmap/full/output/cluster_policies.txt new file mode 100644 index 00000000000..4a734dd3f39 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/cluster_policies.txt @@ -0,0 +1,41 @@ +resources.cluster_policies 4909 +resources.cluster_policies.* 4910 +resources.cluster_policies.*.url 4911 +resources.cluster_policies.*.modified_status 4912 +resources.cluster_policies.*.lifecycle 4913 +resources.cluster_policies.*.lifecycle.prevent_destroy 4914 +resources.cluster_policies.*.lifecycle.prevent_destroy=true 4915 +resources.cluster_policies.*.lifecycle.prevent_destroy=false 4916 +resources.cluster_policies.*.lifecycle.depends_on 4917 +resources.cluster_policies.*.lifecycle.depends_on[*] 4918 +resources.cluster_policies.*.lifecycle.depends_on[*].resource 4919 +resources.cluster_policies.*.id 4920 +resources.cluster_policies.*.definition 4921 +resources.cluster_policies.*.description 4922 +resources.cluster_policies.*.libraries 4923 +resources.cluster_policies.*.libraries[*] 4924 +resources.cluster_policies.*.libraries[*].cran 4925 +resources.cluster_policies.*.libraries[*].cran.package 4926 +resources.cluster_policies.*.libraries[*].cran.repo 4927 +resources.cluster_policies.*.libraries[*].egg 4928 +resources.cluster_policies.*.libraries[*].jar 4929 +resources.cluster_policies.*.libraries[*].maven 4930 +resources.cluster_policies.*.libraries[*].maven.coordinates 4931 +resources.cluster_policies.*.libraries[*].maven.exclusions 4932 +resources.cluster_policies.*.libraries[*].maven.exclusions[*] 4933 +resources.cluster_policies.*.libraries[*].maven.repo 4934 +resources.cluster_policies.*.libraries[*].pypi 4935 +resources.cluster_policies.*.libraries[*].pypi.package 4936 +resources.cluster_policies.*.libraries[*].pypi.repo 4937 +resources.cluster_policies.*.libraries[*].requirements 4938 +resources.cluster_policies.*.libraries[*].whl 4939 +resources.cluster_policies.*.max_clusters_per_user 4940 +resources.cluster_policies.*.name 4941 +resources.cluster_policies.*.policy_family_definition_overrides 4942 +resources.cluster_policies.*.policy_family_id 4943 +resources.cluster_policies.*.permissions 4944 +resources.cluster_policies.*.permissions[*] 4945 +resources.cluster_policies.*.permissions[*].level 4946 +resources.cluster_policies.*.permissions[*].user_name 4947 +resources.cluster_policies.*.permissions[*].service_principal_name 4948 +resources.cluster_policies.*.permissions[*].group_name 4949 diff --git a/acceptance/bundle/bitmap/full/output/clusters.txt b/acceptance/bundle/bitmap/full/output/clusters.txt new file mode 100644 index 00000000000..e7cf7660a98 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/clusters.txt @@ -0,0 +1,170 @@ +resources.clusters 3702 +resources.clusters.* 3703 +resources.clusters.*.url 3704 +resources.clusters.*.modified_status 3705 +resources.clusters.*.lifecycle 3706 +resources.clusters.*.lifecycle.prevent_destroy 3707 +resources.clusters.*.lifecycle.prevent_destroy=true 3708 +resources.clusters.*.lifecycle.prevent_destroy=false 3709 +resources.clusters.*.lifecycle.depends_on 3710 +resources.clusters.*.lifecycle.depends_on[*] 3711 +resources.clusters.*.lifecycle.depends_on[*].resource 3712 +resources.clusters.*.id 3713 +resources.clusters.*.apply_policy_default_values 3714 +resources.clusters.*.apply_policy_default_values=true 3715 +resources.clusters.*.apply_policy_default_values=false 3716 +resources.clusters.*.autoscale 3717 +resources.clusters.*.autoscale.max_workers 3718 +resources.clusters.*.autoscale.min_workers 3719 +resources.clusters.*.autotermination_minutes 3720 +resources.clusters.*.aws_attributes 3721 +resources.clusters.*.aws_attributes.availability 3722 +resources.clusters.*.aws_attributes.ebs_volume_count 3723 +resources.clusters.*.aws_attributes.ebs_volume_iops 3724 +resources.clusters.*.aws_attributes.ebs_volume_size 3725 +resources.clusters.*.aws_attributes.ebs_volume_throughput 3726 +resources.clusters.*.aws_attributes.ebs_volume_type 3727 +resources.clusters.*.aws_attributes.first_on_demand 3728 +resources.clusters.*.aws_attributes.instance_profile_arn 3729 +resources.clusters.*.aws_attributes.spot_bid_price_percent 3730 +resources.clusters.*.aws_attributes.zone_id 3731 +resources.clusters.*.azure_attributes 3732 +resources.clusters.*.azure_attributes.availability 3733 +resources.clusters.*.azure_attributes.capacity_reservation_group 3734 +resources.clusters.*.azure_attributes.first_on_demand 3735 +resources.clusters.*.azure_attributes.log_analytics_info 3736 +resources.clusters.*.azure_attributes.log_analytics_info.log_analytics_primary_key 3737 +resources.clusters.*.azure_attributes.log_analytics_info.log_analytics_workspace_id 3738 +resources.clusters.*.azure_attributes.spot_bid_max_price 3739 +resources.clusters.*.cluster_log_conf 3740 +resources.clusters.*.cluster_log_conf.dbfs 3741 +resources.clusters.*.cluster_log_conf.dbfs.destination 3742 +resources.clusters.*.cluster_log_conf.s3 3743 +resources.clusters.*.cluster_log_conf.s3.canned_acl 3744 +resources.clusters.*.cluster_log_conf.s3.destination 3745 +resources.clusters.*.cluster_log_conf.s3.enable_encryption 3746 +resources.clusters.*.cluster_log_conf.s3.enable_encryption=true 3747 +resources.clusters.*.cluster_log_conf.s3.enable_encryption=false 3748 +resources.clusters.*.cluster_log_conf.s3.encryption_type 3749 +resources.clusters.*.cluster_log_conf.s3.endpoint 3750 +resources.clusters.*.cluster_log_conf.s3.kms_key 3751 +resources.clusters.*.cluster_log_conf.s3.region 3752 +resources.clusters.*.cluster_log_conf.volumes 3753 +resources.clusters.*.cluster_log_conf.volumes.destination 3754 +resources.clusters.*.cluster_name 3755 +resources.clusters.*.custom_tags 3756 +resources.clusters.*.custom_tags.* 3757 +resources.clusters.*.data_security_mode 3758 +resources.clusters.*.dependency_mode 3759 +resources.clusters.*.docker_image 3760 +resources.clusters.*.docker_image.basic_auth 3761 +resources.clusters.*.docker_image.basic_auth.password 3762 +resources.clusters.*.docker_image.basic_auth.username 3763 +resources.clusters.*.docker_image.url 3764 +resources.clusters.*.driver_instance_pool_id 3765 +resources.clusters.*.driver_node_type_flexibility 3766 +resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids 3767 +resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids[*] 3768 +resources.clusters.*.driver_node_type_flexibility.aws_context_id 3769 +resources.clusters.*.driver_node_type_id 3770 +resources.clusters.*.enable_elastic_disk 3771 +resources.clusters.*.enable_elastic_disk=true 3772 +resources.clusters.*.enable_elastic_disk=false 3773 +resources.clusters.*.enable_local_disk_encryption 3774 +resources.clusters.*.enable_local_disk_encryption=true 3775 +resources.clusters.*.enable_local_disk_encryption=false 3776 +resources.clusters.*.gcp_attributes 3777 +resources.clusters.*.gcp_attributes.availability 3778 +resources.clusters.*.gcp_attributes.boot_disk_size 3779 +resources.clusters.*.gcp_attributes.confidential_compute_type 3780 +resources.clusters.*.gcp_attributes.first_on_demand 3781 +resources.clusters.*.gcp_attributes.google_service_account 3782 +resources.clusters.*.gcp_attributes.local_ssd_count 3783 +resources.clusters.*.gcp_attributes.use_preemptible_executors 3784 +resources.clusters.*.gcp_attributes.use_preemptible_executors=true 3785 +resources.clusters.*.gcp_attributes.use_preemptible_executors=false 3786 +resources.clusters.*.gcp_attributes.zone_id 3787 +resources.clusters.*.init_scripts 3788 +resources.clusters.*.init_scripts[*] 3789 +resources.clusters.*.init_scripts[*].abfss 3790 +resources.clusters.*.init_scripts[*].abfss.destination 3791 +resources.clusters.*.init_scripts[*].dbfs 3792 +resources.clusters.*.init_scripts[*].dbfs.destination 3793 +resources.clusters.*.init_scripts[*].file 3794 +resources.clusters.*.init_scripts[*].file.destination 3795 +resources.clusters.*.init_scripts[*].gcs 3796 +resources.clusters.*.init_scripts[*].gcs.destination 3797 +resources.clusters.*.init_scripts[*].s3 3798 +resources.clusters.*.init_scripts[*].s3.canned_acl 3799 +resources.clusters.*.init_scripts[*].s3.destination 3800 +resources.clusters.*.init_scripts[*].s3.enable_encryption 3801 +resources.clusters.*.init_scripts[*].s3.enable_encryption=true 3802 +resources.clusters.*.init_scripts[*].s3.enable_encryption=false 3803 +resources.clusters.*.init_scripts[*].s3.encryption_type 3804 +resources.clusters.*.init_scripts[*].s3.endpoint 3805 +resources.clusters.*.init_scripts[*].s3.kms_key 3806 +resources.clusters.*.init_scripts[*].s3.region 3807 +resources.clusters.*.init_scripts[*].volumes 3808 +resources.clusters.*.init_scripts[*].volumes.destination 3809 +resources.clusters.*.init_scripts[*].workspace 3810 +resources.clusters.*.init_scripts[*].workspace.destination 3811 +resources.clusters.*.instance_pool_id 3812 +resources.clusters.*.is_single_node 3813 +resources.clusters.*.is_single_node=true 3814 +resources.clusters.*.is_single_node=false 3815 +resources.clusters.*.kind 3816 +resources.clusters.*.node_type_id 3817 +resources.clusters.*.num_workers 3818 +resources.clusters.*.policy_id 3819 +resources.clusters.*.remote_disk_throughput 3820 +resources.clusters.*.runtime_engine 3821 +resources.clusters.*.single_user_name 3822 +resources.clusters.*.spark_conf 3823 +resources.clusters.*.spark_conf.* 3824 +resources.clusters.*.spark_env_vars 3825 +resources.clusters.*.spark_env_vars.* 3826 +resources.clusters.*.spark_version 3827 +resources.clusters.*.ssh_public_keys 3828 +resources.clusters.*.ssh_public_keys[*] 3829 +resources.clusters.*.total_initial_remote_disk_size 3830 +resources.clusters.*.use_ml_runtime 3831 +resources.clusters.*.use_ml_runtime=true 3832 +resources.clusters.*.use_ml_runtime=false 3833 +resources.clusters.*.worker_node_type_flexibility 3834 +resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids 3835 +resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids[*] 3836 +resources.clusters.*.worker_node_type_flexibility.aws_context_id 3837 +resources.clusters.*.workload_type 3838 +resources.clusters.*.workload_type.clients 3839 +resources.clusters.*.workload_type.clients.jobs 3840 +resources.clusters.*.workload_type.clients.jobs=true 3841 +resources.clusters.*.workload_type.clients.jobs=false 3842 +resources.clusters.*.workload_type.clients.notebooks 3843 +resources.clusters.*.workload_type.clients.notebooks=true 3844 +resources.clusters.*.workload_type.clients.notebooks=false 3845 +resources.clusters.*.lifecycle.started 3846 +resources.clusters.*.lifecycle.started=true 3847 +resources.clusters.*.lifecycle.started=false 3848 +resources.clusters.*.libraries 3849 +resources.clusters.*.libraries[*] 3850 +resources.clusters.*.libraries[*].cran 3851 +resources.clusters.*.libraries[*].cran.package 3852 +resources.clusters.*.libraries[*].cran.repo 3853 +resources.clusters.*.libraries[*].egg 3854 +resources.clusters.*.libraries[*].jar 3855 +resources.clusters.*.libraries[*].maven 3856 +resources.clusters.*.libraries[*].maven.coordinates 3857 +resources.clusters.*.libraries[*].maven.exclusions 3858 +resources.clusters.*.libraries[*].maven.exclusions[*] 3859 +resources.clusters.*.libraries[*].maven.repo 3860 +resources.clusters.*.libraries[*].pypi 3861 +resources.clusters.*.libraries[*].pypi.package 3862 +resources.clusters.*.libraries[*].pypi.repo 3863 +resources.clusters.*.libraries[*].requirements 3864 +resources.clusters.*.libraries[*].whl 3865 +resources.clusters.*.permissions 3866 +resources.clusters.*.permissions[*] 3867 +resources.clusters.*.permissions[*].level 3868 +resources.clusters.*.permissions[*].user_name 3869 +resources.clusters.*.permissions[*].service_principal_name 3870 +resources.clusters.*.permissions[*].group_name 3871 diff --git a/acceptance/bundle/bitmap/full/output/dashboards.txt b/acceptance/bundle/bitmap/full/output/dashboards.txt new file mode 100644 index 00000000000..afc2699ce95 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/dashboards.txt @@ -0,0 +1,34 @@ +resources.dashboards 3872 +resources.dashboards.* 3873 +resources.dashboards.*.url 3874 +resources.dashboards.*.modified_status 3875 +resources.dashboards.*.lifecycle 3876 +resources.dashboards.*.lifecycle.prevent_destroy 3877 +resources.dashboards.*.lifecycle.prevent_destroy=true 3878 +resources.dashboards.*.lifecycle.prevent_destroy=false 3879 +resources.dashboards.*.lifecycle.depends_on 3880 +resources.dashboards.*.lifecycle.depends_on[*] 3881 +resources.dashboards.*.lifecycle.depends_on[*].resource 3882 +resources.dashboards.*.id 3883 +resources.dashboards.*.create_time 3884 +resources.dashboards.*.dashboard_id 3885 +resources.dashboards.*.display_name 3886 +resources.dashboards.*.etag 3887 +resources.dashboards.*.lifecycle_state 3888 +resources.dashboards.*.parent_path 3889 +resources.dashboards.*.path 3890 +resources.dashboards.*.update_time 3891 +resources.dashboards.*.warehouse_id 3892 +resources.dashboards.*.serialized_dashboard 3893 +resources.dashboards.*.embed_credentials 3894 +resources.dashboards.*.embed_credentials=true 3895 +resources.dashboards.*.embed_credentials=false 3896 +resources.dashboards.*.dataset_catalog 3897 +resources.dashboards.*.dataset_schema 3898 +resources.dashboards.*.permissions 3899 +resources.dashboards.*.permissions[*] 3900 +resources.dashboards.*.permissions[*].level 3901 +resources.dashboards.*.permissions[*].user_name 3902 +resources.dashboards.*.permissions[*].service_principal_name 3903 +resources.dashboards.*.permissions[*].group_name 3904 +resources.dashboards.*.file_path 3905 diff --git a/acceptance/bundle/bitmap/full/output/data_quality_monitors.txt b/acceptance/bundle/bitmap/full/output/data_quality_monitors.txt new file mode 100644 index 00000000000..b2b5054c15f --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/data_quality_monitors.txt @@ -0,0 +1,90 @@ +resources.data_quality_monitors 3444 +resources.data_quality_monitors.* 3445 +resources.data_quality_monitors.*.url 3446 +resources.data_quality_monitors.*.modified_status 3447 +resources.data_quality_monitors.*.lifecycle 3448 +resources.data_quality_monitors.*.lifecycle.prevent_destroy 3449 +resources.data_quality_monitors.*.lifecycle.prevent_destroy=true 3450 +resources.data_quality_monitors.*.lifecycle.prevent_destroy=false 3451 +resources.data_quality_monitors.*.lifecycle.depends_on 3452 +resources.data_quality_monitors.*.lifecycle.depends_on[*] 3453 +resources.data_quality_monitors.*.lifecycle.depends_on[*].resource 3454 +resources.data_quality_monitors.*.id 3455 +resources.data_quality_monitors.*.anomaly_detection_config 3456 +resources.data_quality_monitors.*.anomaly_detection_config.excluded_table_full_names 3457 +resources.data_quality_monitors.*.anomaly_detection_config.excluded_table_full_names[*] 3458 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings 3459 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure 3460 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_ids 3461 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_ids[*] 3462 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_user_ids 3463 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_user_ids[*] 3464 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.email_addresses 3465 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.email_addresses[*] 3466 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table 3467 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_ids 3468 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_ids[*] 3469 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_user_ids 3470 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_user_ids[*] 3471 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.email_addresses 3472 +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.email_addresses[*] 3473 +resources.data_quality_monitors.*.data_profiling_config 3474 +resources.data_quality_monitors.*.data_profiling_config.assets_dir 3475 +resources.data_quality_monitors.*.data_profiling_config.baseline_table_name 3476 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics 3477 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*] 3478 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].definition 3479 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].input_columns 3480 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].input_columns[*] 3481 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].name 3482 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].output_data_type 3483 +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].type 3484 +resources.data_quality_monitors.*.data_profiling_config.dashboard_id 3485 +resources.data_quality_monitors.*.data_profiling_config.drift_metrics_table_name 3486 +resources.data_quality_monitors.*.data_profiling_config.effective_warehouse_id 3487 +resources.data_quality_monitors.*.data_profiling_config.inference_log 3488 +resources.data_quality_monitors.*.data_profiling_config.inference_log.granularities 3489 +resources.data_quality_monitors.*.data_profiling_config.inference_log.granularities[*] 3490 +resources.data_quality_monitors.*.data_profiling_config.inference_log.label_column 3491 +resources.data_quality_monitors.*.data_profiling_config.inference_log.model_id_column 3492 +resources.data_quality_monitors.*.data_profiling_config.inference_log.prediction_column 3493 +resources.data_quality_monitors.*.data_profiling_config.inference_log.problem_type 3494 +resources.data_quality_monitors.*.data_profiling_config.inference_log.timestamp_column 3495 +resources.data_quality_monitors.*.data_profiling_config.latest_monitor_failure_message 3496 +resources.data_quality_monitors.*.data_profiling_config.monitor_version 3497 +resources.data_quality_monitors.*.data_profiling_config.monitored_table_name 3498 +resources.data_quality_monitors.*.data_profiling_config.notification_settings 3499 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure 3500 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_ids 3501 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_ids[*] 3502 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_user_ids 3503 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_user_ids[*] 3504 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.email_addresses 3505 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.email_addresses[*] 3506 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table 3507 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_ids 3508 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_ids[*] 3509 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_user_ids 3510 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_user_ids[*] 3511 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.email_addresses 3512 +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.email_addresses[*] 3513 +resources.data_quality_monitors.*.data_profiling_config.output_schema_id 3514 +resources.data_quality_monitors.*.data_profiling_config.profile_metrics_table_name 3515 +resources.data_quality_monitors.*.data_profiling_config.schedule 3516 +resources.data_quality_monitors.*.data_profiling_config.schedule.pause_status 3517 +resources.data_quality_monitors.*.data_profiling_config.schedule.quartz_cron_expression 3518 +resources.data_quality_monitors.*.data_profiling_config.schedule.timezone_id 3519 +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard 3520 +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard=true 3521 +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard=false 3522 +resources.data_quality_monitors.*.data_profiling_config.slicing_exprs 3523 +resources.data_quality_monitors.*.data_profiling_config.slicing_exprs[*] 3524 +resources.data_quality_monitors.*.data_profiling_config.snapshot 3525 +resources.data_quality_monitors.*.data_profiling_config.status 3526 +resources.data_quality_monitors.*.data_profiling_config.time_series 3527 +resources.data_quality_monitors.*.data_profiling_config.time_series.granularities 3528 +resources.data_quality_monitors.*.data_profiling_config.time_series.granularities[*] 3529 +resources.data_quality_monitors.*.data_profiling_config.time_series.timestamp_column 3530 +resources.data_quality_monitors.*.data_profiling_config.warehouse_id 3531 +resources.data_quality_monitors.*.object_id 3532 +resources.data_quality_monitors.*.object_type 3533 diff --git a/acceptance/bundle/bitmap/full/output/database_catalogs.txt b/acceptance/bundle/bitmap/full/output/database_catalogs.txt new file mode 100644 index 00000000000..ee625453bfb --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/database_catalogs.txt @@ -0,0 +1,19 @@ +resources.database_catalogs 4365 +resources.database_catalogs.* 4366 +resources.database_catalogs.*.url 4367 +resources.database_catalogs.*.modified_status 4368 +resources.database_catalogs.*.lifecycle 4369 +resources.database_catalogs.*.lifecycle.prevent_destroy 4370 +resources.database_catalogs.*.lifecycle.prevent_destroy=true 4371 +resources.database_catalogs.*.lifecycle.prevent_destroy=false 4372 +resources.database_catalogs.*.lifecycle.depends_on 4373 +resources.database_catalogs.*.lifecycle.depends_on[*] 4374 +resources.database_catalogs.*.lifecycle.depends_on[*].resource 4375 +resources.database_catalogs.*.id 4376 +resources.database_catalogs.*.create_database_if_not_exists 4377 +resources.database_catalogs.*.create_database_if_not_exists=true 4378 +resources.database_catalogs.*.create_database_if_not_exists=false 4379 +resources.database_catalogs.*.database_instance_name 4380 +resources.database_catalogs.*.database_name 4381 +resources.database_catalogs.*.name 4382 +resources.database_catalogs.*.uid 4383 diff --git a/acceptance/bundle/bitmap/full/output/database_instances.txt b/acceptance/bundle/bitmap/full/output/database_instances.txt new file mode 100644 index 00000000000..2d8501d20a2 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/database_instances.txt @@ -0,0 +1,73 @@ +resources.database_instances 4292 +resources.database_instances.* 4293 +resources.database_instances.*.url 4294 +resources.database_instances.*.modified_status 4295 +resources.database_instances.*.lifecycle 4296 +resources.database_instances.*.lifecycle.prevent_destroy 4297 +resources.database_instances.*.lifecycle.prevent_destroy=true 4298 +resources.database_instances.*.lifecycle.prevent_destroy=false 4299 +resources.database_instances.*.lifecycle.depends_on 4300 +resources.database_instances.*.lifecycle.depends_on[*] 4301 +resources.database_instances.*.lifecycle.depends_on[*].resource 4302 +resources.database_instances.*.id 4303 +resources.database_instances.*.capacity 4304 +resources.database_instances.*.child_instance_refs 4305 +resources.database_instances.*.child_instance_refs[*] 4306 +resources.database_instances.*.child_instance_refs[*].branch_time 4307 +resources.database_instances.*.child_instance_refs[*].effective_lsn 4308 +resources.database_instances.*.child_instance_refs[*].lsn 4309 +resources.database_instances.*.child_instance_refs[*].name 4310 +resources.database_instances.*.child_instance_refs[*].uid 4311 +resources.database_instances.*.creation_time 4312 +resources.database_instances.*.creator 4313 +resources.database_instances.*.custom_tags 4314 +resources.database_instances.*.custom_tags[*] 4315 +resources.database_instances.*.custom_tags[*].key 4316 +resources.database_instances.*.custom_tags[*].value 4317 +resources.database_instances.*.effective_capacity 4318 +resources.database_instances.*.effective_custom_tags 4319 +resources.database_instances.*.effective_custom_tags[*] 4320 +resources.database_instances.*.effective_custom_tags[*].key 4321 +resources.database_instances.*.effective_custom_tags[*].value 4322 +resources.database_instances.*.effective_enable_pg_native_login 4323 +resources.database_instances.*.effective_enable_pg_native_login=true 4324 +resources.database_instances.*.effective_enable_pg_native_login=false 4325 +resources.database_instances.*.effective_enable_readable_secondaries 4326 +resources.database_instances.*.effective_enable_readable_secondaries=true 4327 +resources.database_instances.*.effective_enable_readable_secondaries=false 4328 +resources.database_instances.*.effective_node_count 4329 +resources.database_instances.*.effective_retention_window_in_days 4330 +resources.database_instances.*.effective_stopped 4331 +resources.database_instances.*.effective_stopped=true 4332 +resources.database_instances.*.effective_stopped=false 4333 +resources.database_instances.*.effective_usage_policy_id 4334 +resources.database_instances.*.enable_pg_native_login 4335 +resources.database_instances.*.enable_pg_native_login=true 4336 +resources.database_instances.*.enable_pg_native_login=false 4337 +resources.database_instances.*.enable_readable_secondaries 4338 +resources.database_instances.*.enable_readable_secondaries=true 4339 +resources.database_instances.*.enable_readable_secondaries=false 4340 +resources.database_instances.*.name 4341 +resources.database_instances.*.node_count 4342 +resources.database_instances.*.parent_instance_ref 4343 +resources.database_instances.*.parent_instance_ref.branch_time 4344 +resources.database_instances.*.parent_instance_ref.effective_lsn 4345 +resources.database_instances.*.parent_instance_ref.lsn 4346 +resources.database_instances.*.parent_instance_ref.name 4347 +resources.database_instances.*.parent_instance_ref.uid 4348 +resources.database_instances.*.pg_version 4349 +resources.database_instances.*.read_only_dns 4350 +resources.database_instances.*.read_write_dns 4351 +resources.database_instances.*.retention_window_in_days 4352 +resources.database_instances.*.state 4353 +resources.database_instances.*.stopped 4354 +resources.database_instances.*.stopped=true 4355 +resources.database_instances.*.stopped=false 4356 +resources.database_instances.*.uid 4357 +resources.database_instances.*.usage_policy_id 4358 +resources.database_instances.*.permissions 4359 +resources.database_instances.*.permissions[*] 4360 +resources.database_instances.*.permissions[*].level 4361 +resources.database_instances.*.permissions[*].user_name 4362 +resources.database_instances.*.permissions[*].service_principal_name 4363 +resources.database_instances.*.permissions[*].group_name 4364 diff --git a/acceptance/bundle/bitmap/full/output/experiments.txt b/acceptance/bundle/bitmap/full/output/experiments.txt new file mode 100644 index 00000000000..9d669f61c74 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/experiments.txt @@ -0,0 +1,30 @@ +resources.experiments 2846 +resources.experiments.* 2847 +resources.experiments.*.url 2848 +resources.experiments.*.modified_status 2849 +resources.experiments.*.lifecycle 2850 +resources.experiments.*.lifecycle.prevent_destroy 2851 +resources.experiments.*.lifecycle.prevent_destroy=true 2852 +resources.experiments.*.lifecycle.prevent_destroy=false 2853 +resources.experiments.*.lifecycle.depends_on 2854 +resources.experiments.*.lifecycle.depends_on[*] 2855 +resources.experiments.*.lifecycle.depends_on[*].resource 2856 +resources.experiments.*.id 2857 +resources.experiments.*.artifact_location 2858 +resources.experiments.*.name 2859 +resources.experiments.*.tags 2860 +resources.experiments.*.tags[*] 2861 +resources.experiments.*.tags[*].key 2862 +resources.experiments.*.tags[*].value 2863 +resources.experiments.*.trace_location 2864 +resources.experiments.*.trace_location.uc_trace_location 2865 +resources.experiments.*.trace_location.uc_trace_location.catalog 2866 +resources.experiments.*.trace_location.uc_trace_location.effective_table_prefix 2867 +resources.experiments.*.trace_location.uc_trace_location.schema 2868 +resources.experiments.*.trace_location.uc_trace_location.table_prefix 2869 +resources.experiments.*.permissions 2870 +resources.experiments.*.permissions[*] 2871 +resources.experiments.*.permissions[*].level 2872 +resources.experiments.*.permissions[*].user_name 2873 +resources.experiments.*.permissions[*].service_principal_name 2874 +resources.experiments.*.permissions[*].group_name 2875 diff --git a/acceptance/bundle/bitmap/full/output/external_locations.txt b/acceptance/bundle/bitmap/full/output/external_locations.txt new file mode 100644 index 00000000000..90f4e867906 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/external_locations.txt @@ -0,0 +1,85 @@ +resources.external_locations 3617 +resources.external_locations.* 3618 +resources.external_locations.*.id 3619 +resources.external_locations.*.modified_status 3620 +resources.external_locations.*.lifecycle 3621 +resources.external_locations.*.lifecycle.prevent_destroy 3622 +resources.external_locations.*.lifecycle.prevent_destroy=true 3623 +resources.external_locations.*.lifecycle.prevent_destroy=false 3624 +resources.external_locations.*.lifecycle.depends_on 3625 +resources.external_locations.*.lifecycle.depends_on[*] 3626 +resources.external_locations.*.lifecycle.depends_on[*].resource 3627 +resources.external_locations.*.comment 3628 +resources.external_locations.*.credential_name 3629 +resources.external_locations.*.effective_enable_file_events 3630 +resources.external_locations.*.effective_enable_file_events=true 3631 +resources.external_locations.*.effective_enable_file_events=false 3632 +resources.external_locations.*.effective_file_event_queue 3633 +resources.external_locations.*.effective_file_event_queue.managed_aqs 3634 +resources.external_locations.*.effective_file_event_queue.managed_aqs.managed_resource_id 3635 +resources.external_locations.*.effective_file_event_queue.managed_aqs.queue_url 3636 +resources.external_locations.*.effective_file_event_queue.managed_aqs.resource_group 3637 +resources.external_locations.*.effective_file_event_queue.managed_aqs.subscription_id 3638 +resources.external_locations.*.effective_file_event_queue.managed_pubsub 3639 +resources.external_locations.*.effective_file_event_queue.managed_pubsub.managed_resource_id 3640 +resources.external_locations.*.effective_file_event_queue.managed_pubsub.subscription_name 3641 +resources.external_locations.*.effective_file_event_queue.managed_sqs 3642 +resources.external_locations.*.effective_file_event_queue.managed_sqs.managed_resource_id 3643 +resources.external_locations.*.effective_file_event_queue.managed_sqs.queue_url 3644 +resources.external_locations.*.effective_file_event_queue.provided_aqs 3645 +resources.external_locations.*.effective_file_event_queue.provided_aqs.managed_resource_id 3646 +resources.external_locations.*.effective_file_event_queue.provided_aqs.queue_url 3647 +resources.external_locations.*.effective_file_event_queue.provided_aqs.resource_group 3648 +resources.external_locations.*.effective_file_event_queue.provided_aqs.subscription_id 3649 +resources.external_locations.*.effective_file_event_queue.provided_pubsub 3650 +resources.external_locations.*.effective_file_event_queue.provided_pubsub.managed_resource_id 3651 +resources.external_locations.*.effective_file_event_queue.provided_pubsub.subscription_name 3652 +resources.external_locations.*.effective_file_event_queue.provided_sqs 3653 +resources.external_locations.*.effective_file_event_queue.provided_sqs.managed_resource_id 3654 +resources.external_locations.*.effective_file_event_queue.provided_sqs.queue_url 3655 +resources.external_locations.*.enable_file_events 3656 +resources.external_locations.*.enable_file_events=true 3657 +resources.external_locations.*.enable_file_events=false 3658 +resources.external_locations.*.encryption_details 3659 +resources.external_locations.*.encryption_details.sse_encryption_details 3660 +resources.external_locations.*.encryption_details.sse_encryption_details.algorithm 3661 +resources.external_locations.*.encryption_details.sse_encryption_details.aws_kms_key_arn 3662 +resources.external_locations.*.fallback 3663 +resources.external_locations.*.fallback=true 3664 +resources.external_locations.*.fallback=false 3665 +resources.external_locations.*.file_event_queue 3666 +resources.external_locations.*.file_event_queue.managed_aqs 3667 +resources.external_locations.*.file_event_queue.managed_aqs.managed_resource_id 3668 +resources.external_locations.*.file_event_queue.managed_aqs.queue_url 3669 +resources.external_locations.*.file_event_queue.managed_aqs.resource_group 3670 +resources.external_locations.*.file_event_queue.managed_aqs.subscription_id 3671 +resources.external_locations.*.file_event_queue.managed_pubsub 3672 +resources.external_locations.*.file_event_queue.managed_pubsub.managed_resource_id 3673 +resources.external_locations.*.file_event_queue.managed_pubsub.subscription_name 3674 +resources.external_locations.*.file_event_queue.managed_sqs 3675 +resources.external_locations.*.file_event_queue.managed_sqs.managed_resource_id 3676 +resources.external_locations.*.file_event_queue.managed_sqs.queue_url 3677 +resources.external_locations.*.file_event_queue.provided_aqs 3678 +resources.external_locations.*.file_event_queue.provided_aqs.managed_resource_id 3679 +resources.external_locations.*.file_event_queue.provided_aqs.queue_url 3680 +resources.external_locations.*.file_event_queue.provided_aqs.resource_group 3681 +resources.external_locations.*.file_event_queue.provided_aqs.subscription_id 3682 +resources.external_locations.*.file_event_queue.provided_pubsub 3683 +resources.external_locations.*.file_event_queue.provided_pubsub.managed_resource_id 3684 +resources.external_locations.*.file_event_queue.provided_pubsub.subscription_name 3685 +resources.external_locations.*.file_event_queue.provided_sqs 3686 +resources.external_locations.*.file_event_queue.provided_sqs.managed_resource_id 3687 +resources.external_locations.*.file_event_queue.provided_sqs.queue_url 3688 +resources.external_locations.*.name 3689 +resources.external_locations.*.read_only 3690 +resources.external_locations.*.read_only=true 3691 +resources.external_locations.*.read_only=false 3692 +resources.external_locations.*.skip_validation 3693 +resources.external_locations.*.skip_validation=true 3694 +resources.external_locations.*.skip_validation=false 3695 +resources.external_locations.*.url 3696 +resources.external_locations.*.grants 3697 +resources.external_locations.*.grants[*] 3698 +resources.external_locations.*.grants[*].principal 3699 +resources.external_locations.*.grants[*].privileges 3700 +resources.external_locations.*.grants[*].privileges[*] 3701 diff --git a/acceptance/bundle/bitmap/full/output/features.txt b/acceptance/bundle/bitmap/full/output/features.txt new file mode 100644 index 00000000000..39909112e57 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/features.txt @@ -0,0 +1,174 @@ +resources.features 2568 +resources.features.* 2569 +resources.features.*.url 2570 +resources.features.*.modified_status 2571 +resources.features.*.lifecycle 2572 +resources.features.*.lifecycle.prevent_destroy 2573 +resources.features.*.lifecycle.prevent_destroy=true 2574 +resources.features.*.lifecycle.prevent_destroy=false 2575 +resources.features.*.lifecycle.depends_on 2576 +resources.features.*.lifecycle.depends_on[*] 2577 +resources.features.*.lifecycle.depends_on[*].resource 2578 +resources.features.*.id 2579 +resources.features.*.catalog_name 2580 +resources.features.*.created_at 2581 +resources.features.*.created_by 2582 +resources.features.*.description 2583 +resources.features.*.entities 2584 +resources.features.*.entities[*] 2585 +resources.features.*.entities[*].name 2586 +resources.features.*.filter_condition 2587 +resources.features.*.full_name 2588 +resources.features.*.function 2589 +resources.features.*.function.aggregation_function 2590 +resources.features.*.function.aggregation_function.approx_count_distinct 2591 +resources.features.*.function.aggregation_function.approx_count_distinct.input 2592 +resources.features.*.function.aggregation_function.approx_count_distinct.relative_error 2593 +resources.features.*.function.aggregation_function.approx_count_distinct.relative_sd 2594 +resources.features.*.function.aggregation_function.approx_percentile 2595 +resources.features.*.function.aggregation_function.approx_percentile.accuracy 2596 +resources.features.*.function.aggregation_function.approx_percentile.input 2597 +resources.features.*.function.aggregation_function.approx_percentile.percentile 2598 +resources.features.*.function.aggregation_function.approx_percentile.relative_error 2599 +resources.features.*.function.aggregation_function.avg 2600 +resources.features.*.function.aggregation_function.avg.input 2601 +resources.features.*.function.aggregation_function.count_function 2602 +resources.features.*.function.aggregation_function.count_function.input 2603 +resources.features.*.function.aggregation_function.first 2604 +resources.features.*.function.aggregation_function.first.input 2605 +resources.features.*.function.aggregation_function.first_distinct 2606 +resources.features.*.function.aggregation_function.first_distinct.input 2607 +resources.features.*.function.aggregation_function.first_distinct.n 2608 +resources.features.*.function.aggregation_function.first_n 2609 +resources.features.*.function.aggregation_function.first_n.input 2610 +resources.features.*.function.aggregation_function.first_n.n 2611 +resources.features.*.function.aggregation_function.last 2612 +resources.features.*.function.aggregation_function.last.input 2613 +resources.features.*.function.aggregation_function.last_distinct 2614 +resources.features.*.function.aggregation_function.last_distinct.input 2615 +resources.features.*.function.aggregation_function.last_distinct.n 2616 +resources.features.*.function.aggregation_function.last_n 2617 +resources.features.*.function.aggregation_function.last_n.input 2618 +resources.features.*.function.aggregation_function.last_n.n 2619 +resources.features.*.function.aggregation_function.max 2620 +resources.features.*.function.aggregation_function.max.input 2621 +resources.features.*.function.aggregation_function.min 2622 +resources.features.*.function.aggregation_function.min.input 2623 +resources.features.*.function.aggregation_function.stddev_pop 2624 +resources.features.*.function.aggregation_function.stddev_pop.input 2625 +resources.features.*.function.aggregation_function.stddev_samp 2626 +resources.features.*.function.aggregation_function.stddev_samp.input 2627 +resources.features.*.function.aggregation_function.sum 2628 +resources.features.*.function.aggregation_function.sum.input 2629 +resources.features.*.function.aggregation_function.time_window 2630 +resources.features.*.function.aggregation_function.time_window.continuous 2631 +resources.features.*.function.aggregation_function.time_window.continuous.offset 2632 +resources.features.*.function.aggregation_function.time_window.continuous.window_duration 2633 +resources.features.*.function.aggregation_function.time_window.rolling 2634 +resources.features.*.function.aggregation_function.time_window.rolling.delay 2635 +resources.features.*.function.aggregation_function.time_window.rolling.window_duration 2636 +resources.features.*.function.aggregation_function.time_window.sawtooth 2637 +resources.features.*.function.aggregation_function.time_window.sawtooth.delay 2638 +resources.features.*.function.aggregation_function.time_window.sawtooth.window_duration 2639 +resources.features.*.function.aggregation_function.time_window.sliding 2640 +resources.features.*.function.aggregation_function.time_window.sliding.delay 2641 +resources.features.*.function.aggregation_function.time_window.sliding.offset 2642 +resources.features.*.function.aggregation_function.time_window.sliding.slide_duration 2643 +resources.features.*.function.aggregation_function.time_window.sliding.window_duration 2644 +resources.features.*.function.aggregation_function.time_window.start_time 2645 +resources.features.*.function.aggregation_function.time_window.tumbling 2646 +resources.features.*.function.aggregation_function.time_window.tumbling.delay 2647 +resources.features.*.function.aggregation_function.time_window.tumbling.offset 2648 +resources.features.*.function.aggregation_function.time_window.tumbling.window_duration 2649 +resources.features.*.function.aggregation_function.var_pop 2650 +resources.features.*.function.aggregation_function.var_pop.input 2651 +resources.features.*.function.aggregation_function.var_samp 2652 +resources.features.*.function.aggregation_function.var_samp.input 2653 +resources.features.*.function.column_selection 2654 +resources.features.*.function.column_selection.column 2655 +resources.features.*.function.custom_udf 2656 +resources.features.*.function.custom_udf.function_path 2657 +resources.features.*.function.custom_udf.input_bindings 2658 +resources.features.*.function.custom_udf.input_bindings[*] 2659 +resources.features.*.function.custom_udf.input_bindings[*].column 2660 +resources.features.*.function.custom_udf.input_bindings[*].parameter 2661 +resources.features.*.function.extra_parameters 2662 +resources.features.*.function.extra_parameters[*] 2663 +resources.features.*.function.extra_parameters[*].key 2664 +resources.features.*.function.extra_parameters[*].value 2665 +resources.features.*.function.function_type 2666 +resources.features.*.inputs 2667 +resources.features.*.inputs[*] 2668 +resources.features.*.lineage_context 2669 +resources.features.*.lineage_context.job_context 2670 +resources.features.*.lineage_context.job_context.job_id 2671 +resources.features.*.lineage_context.job_context.job_run_id 2672 +resources.features.*.lineage_context.notebook_id 2673 +resources.features.*.name 2674 +resources.features.*.schema_name 2675 +resources.features.*.source 2676 +resources.features.*.source.delta_table_source 2677 +resources.features.*.source.delta_table_source.dataframe_schema 2678 +resources.features.*.source.delta_table_source.entity_columns 2679 +resources.features.*.source.delta_table_source.entity_columns[*] 2680 +resources.features.*.source.delta_table_source.filter_condition 2681 +resources.features.*.source.delta_table_source.full_name 2682 +resources.features.*.source.delta_table_source.timeseries_column 2683 +resources.features.*.source.delta_table_source.transformation_sql 2684 +resources.features.*.source.feature_view_source 2685 +resources.features.*.source.feature_view_source.feature_references 2686 +resources.features.*.source.feature_view_source.feature_references[*] 2687 +resources.features.*.source.feature_view_source.feature_references[*].feature 2688 +resources.features.*.source.kafka_source 2689 +resources.features.*.source.kafka_source.entity_column_identifiers 2690 +resources.features.*.source.kafka_source.entity_column_identifiers[*] 2691 +resources.features.*.source.kafka_source.entity_column_identifiers[*].variant_expr_path 2692 +resources.features.*.source.kafka_source.filter_condition 2693 +resources.features.*.source.kafka_source.name 2694 +resources.features.*.source.kafka_source.timeseries_column_identifier 2695 +resources.features.*.source.kafka_source.timeseries_column_identifier.variant_expr_path 2696 +resources.features.*.source.lateness 2697 +resources.features.*.source.lateness.settling_delay 2698 +resources.features.*.source.request_source 2699 +resources.features.*.source.request_source.dataframe_schema 2700 +resources.features.*.source.request_source.flat_schema 2701 +resources.features.*.source.request_source.flat_schema.fields 2702 +resources.features.*.source.request_source.flat_schema.fields[*] 2703 +resources.features.*.source.request_source.flat_schema.fields[*].data_type 2704 +resources.features.*.source.request_source.flat_schema.fields[*].name 2705 +resources.features.*.source.sdp_source 2706 +resources.features.*.source.sdp_source.dataframe_schema 2707 +resources.features.*.source.sdp_source.filter_condition 2708 +resources.features.*.source.sdp_source.input_tables 2709 +resources.features.*.source.sdp_source.input_tables[*] 2710 +resources.features.*.source.sdp_source.output_table 2711 +resources.features.*.source.sdp_source.pipeline_id 2712 +resources.features.*.source.sdp_source.pipeline_state 2713 +resources.features.*.source.sdp_source.transformation_sql 2714 +resources.features.*.source.stream_source 2715 +resources.features.*.source.stream_source.dataframe_schema 2716 +resources.features.*.source.stream_source.filter_condition 2717 +resources.features.*.source.stream_source.full_name 2718 +resources.features.*.source.stream_source.transformation_sql 2719 +resources.features.*.time_window 2720 +resources.features.*.time_window.continuous 2721 +resources.features.*.time_window.continuous.offset 2722 +resources.features.*.time_window.continuous.window_duration 2723 +resources.features.*.time_window.rolling 2724 +resources.features.*.time_window.rolling.delay 2725 +resources.features.*.time_window.rolling.window_duration 2726 +resources.features.*.time_window.sawtooth 2727 +resources.features.*.time_window.sawtooth.delay 2728 +resources.features.*.time_window.sawtooth.window_duration 2729 +resources.features.*.time_window.sliding 2730 +resources.features.*.time_window.sliding.delay 2731 +resources.features.*.time_window.sliding.offset 2732 +resources.features.*.time_window.sliding.slide_duration 2733 +resources.features.*.time_window.sliding.window_duration 2734 +resources.features.*.time_window.start_time 2735 +resources.features.*.time_window.tumbling 2736 +resources.features.*.time_window.tumbling.delay 2737 +resources.features.*.time_window.tumbling.offset 2738 +resources.features.*.time_window.tumbling.window_duration 2739 +resources.features.*.timeseries_column 2740 +resources.features.*.timeseries_column.name 2741 diff --git a/acceptance/bundle/bitmap/full/output/genie_spaces.txt b/acceptance/bundle/bitmap/full/output/genie_spaces.txt new file mode 100644 index 00000000000..161ed59df8e --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/genie_spaces.txt @@ -0,0 +1,25 @@ +resources.genie_spaces 3906 +resources.genie_spaces.* 3907 +resources.genie_spaces.*.url 3908 +resources.genie_spaces.*.modified_status 3909 +resources.genie_spaces.*.lifecycle 3910 +resources.genie_spaces.*.lifecycle.prevent_destroy 3911 +resources.genie_spaces.*.lifecycle.prevent_destroy=true 3912 +resources.genie_spaces.*.lifecycle.prevent_destroy=false 3913 +resources.genie_spaces.*.lifecycle.depends_on 3914 +resources.genie_spaces.*.lifecycle.depends_on[*] 3915 +resources.genie_spaces.*.lifecycle.depends_on[*].resource 3916 +resources.genie_spaces.*.id 3917 +resources.genie_spaces.*.description 3918 +resources.genie_spaces.*.etag 3919 +resources.genie_spaces.*.title 3920 +resources.genie_spaces.*.warehouse_id 3921 +resources.genie_spaces.*.parent_path 3922 +resources.genie_spaces.*.serialized_space 3923 +resources.genie_spaces.*.permissions 3924 +resources.genie_spaces.*.permissions[*] 3925 +resources.genie_spaces.*.permissions[*].level 3926 +resources.genie_spaces.*.permissions[*].user_name 3927 +resources.genie_spaces.*.permissions[*].service_principal_name 3928 +resources.genie_spaces.*.permissions[*].group_name 3929 +resources.genie_spaces.*.file_path 3930 diff --git a/acceptance/bundle/bitmap/full/output/instance_pools.txt b/acceptance/bundle/bitmap/full/output/instance_pools.txt new file mode 100644 index 00000000000..9b9c7206529 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/instance_pools.txt @@ -0,0 +1,63 @@ +resources.instance_pools 4814 +resources.instance_pools.* 4815 +resources.instance_pools.*.url 4816 +resources.instance_pools.*.modified_status 4817 +resources.instance_pools.*.lifecycle 4818 +resources.instance_pools.*.lifecycle.prevent_destroy 4819 +resources.instance_pools.*.lifecycle.prevent_destroy=true 4820 +resources.instance_pools.*.lifecycle.prevent_destroy=false 4821 +resources.instance_pools.*.lifecycle.depends_on 4822 +resources.instance_pools.*.lifecycle.depends_on[*] 4823 +resources.instance_pools.*.lifecycle.depends_on[*].resource 4824 +resources.instance_pools.*.id 4825 +resources.instance_pools.*.aws_attributes 4826 +resources.instance_pools.*.aws_attributes.availability 4827 +resources.instance_pools.*.aws_attributes.instance_profile_arn 4828 +resources.instance_pools.*.aws_attributes.spot_bid_price_percent 4829 +resources.instance_pools.*.aws_attributes.zone_id 4830 +resources.instance_pools.*.azure_attributes 4831 +resources.instance_pools.*.azure_attributes.availability 4832 +resources.instance_pools.*.azure_attributes.capacity_reservation_group 4833 +resources.instance_pools.*.azure_attributes.spot_bid_max_price 4834 +resources.instance_pools.*.custom_tags 4835 +resources.instance_pools.*.custom_tags.* 4836 +resources.instance_pools.*.disk_spec 4837 +resources.instance_pools.*.disk_spec.disk_count 4838 +resources.instance_pools.*.disk_spec.disk_iops 4839 +resources.instance_pools.*.disk_spec.disk_size 4840 +resources.instance_pools.*.disk_spec.disk_throughput 4841 +resources.instance_pools.*.disk_spec.disk_type 4842 +resources.instance_pools.*.disk_spec.disk_type.azure_disk_volume_type 4843 +resources.instance_pools.*.disk_spec.disk_type.ebs_volume_type 4844 +resources.instance_pools.*.enable_elastic_disk 4845 +resources.instance_pools.*.enable_elastic_disk=true 4846 +resources.instance_pools.*.enable_elastic_disk=false 4847 +resources.instance_pools.*.gcp_attributes 4848 +resources.instance_pools.*.gcp_attributes.gcp_availability 4849 +resources.instance_pools.*.gcp_attributes.local_ssd_count 4850 +resources.instance_pools.*.gcp_attributes.zone_id 4851 +resources.instance_pools.*.idle_instance_autotermination_minutes 4852 +resources.instance_pools.*.instance_pool_name 4853 +resources.instance_pools.*.max_capacity 4854 +resources.instance_pools.*.min_idle_instances 4855 +resources.instance_pools.*.node_type_flexibility 4856 +resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids 4857 +resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids[*] 4858 +resources.instance_pools.*.node_type_flexibility.aws_context_id 4859 +resources.instance_pools.*.node_type_id 4860 +resources.instance_pools.*.preloaded_docker_images 4861 +resources.instance_pools.*.preloaded_docker_images[*] 4862 +resources.instance_pools.*.preloaded_docker_images[*].basic_auth 4863 +resources.instance_pools.*.preloaded_docker_images[*].basic_auth.password 4864 +resources.instance_pools.*.preloaded_docker_images[*].basic_auth.username 4865 +resources.instance_pools.*.preloaded_docker_images[*].url 4866 +resources.instance_pools.*.preloaded_spark_versions 4867 +resources.instance_pools.*.preloaded_spark_versions[*] 4868 +resources.instance_pools.*.remote_disk_throughput 4869 +resources.instance_pools.*.total_initial_remote_disk_size 4870 +resources.instance_pools.*.permissions 4871 +resources.instance_pools.*.permissions[*] 4872 +resources.instance_pools.*.permissions[*].level 4873 +resources.instance_pools.*.permissions[*].user_name 4874 +resources.instance_pools.*.permissions[*].service_principal_name 4875 +resources.instance_pools.*.permissions[*].group_name 4876 diff --git a/acceptance/bundle/bitmap/full/output/internal_immutable_snapshots.txt b/acceptance/bundle/bitmap/full/output/internal_immutable_snapshots.txt new file mode 100644 index 00000000000..29b86c532bb --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/internal_immutable_snapshots.txt @@ -0,0 +1,16 @@ +resources.internal_immutable_snapshots 4950 +resources.internal_immutable_snapshots.* 4951 +resources.internal_immutable_snapshots.*.bundle_id 4952 +resources.internal_immutable_snapshots.*.acl 4953 +resources.internal_immutable_snapshots.*.acl[*] 4954 +resources.internal_immutable_snapshots.*.acl[*].user_name 4955 +resources.internal_immutable_snapshots.*.acl[*].group_name 4956 +resources.internal_immutable_snapshots.*.acl[*].service_principal_name 4957 +resources.internal_immutable_snapshots.*.acl[*].permission_level 4958 +resources.internal_immutable_snapshots.*.can_manage 4959 +resources.internal_immutable_snapshots.*.can_manage[*] 4960 +resources.internal_immutable_snapshots.*.can_manage[*].user_name 4961 +resources.internal_immutable_snapshots.*.can_manage[*].group_name 4962 +resources.internal_immutable_snapshots.*.can_manage[*].service_principal_name 4963 +resources.internal_immutable_snapshots.*.zip_path 4964 +resources.internal_immutable_snapshots.*.remote_root 4965 diff --git a/acceptance/bundle/bitmap/full/output/job_runs.txt b/acceptance/bundle/bitmap/full/output/job_runs.txt new file mode 100644 index 00000000000..327c0340432 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/job_runs.txt @@ -0,0 +1,61 @@ +resources.job_runs 1521 +resources.job_runs.* 1522 +resources.job_runs.*.url 1523 +resources.job_runs.*.modified_status 1524 +resources.job_runs.*.lifecycle 1525 +resources.job_runs.*.lifecycle.prevent_destroy 1526 +resources.job_runs.*.lifecycle.prevent_destroy=true 1527 +resources.job_runs.*.lifecycle.prevent_destroy=false 1528 +resources.job_runs.*.lifecycle.depends_on 1529 +resources.job_runs.*.lifecycle.depends_on[*] 1530 +resources.job_runs.*.lifecycle.depends_on[*].resource 1531 +resources.job_runs.*.id 1532 +resources.job_runs.*.dbt_commands 1533 +resources.job_runs.*.dbt_commands[*] 1534 +resources.job_runs.*.duration_target 1535 +resources.job_runs.*.idempotency_token 1536 +resources.job_runs.*.jar_params 1537 +resources.job_runs.*.jar_params[*] 1538 +resources.job_runs.*.job_id 1539 +resources.job_runs.*.job_parameters 1540 +resources.job_runs.*.job_parameters.* 1541 +resources.job_runs.*.notebook_params 1542 +resources.job_runs.*.notebook_params.* 1543 +resources.job_runs.*.only 1544 +resources.job_runs.*.only[*] 1545 +resources.job_runs.*.performance_target 1546 +resources.job_runs.*.pipeline_params 1547 +resources.job_runs.*.pipeline_params.full_refresh 1548 +resources.job_runs.*.pipeline_params.full_refresh=true 1549 +resources.job_runs.*.pipeline_params.full_refresh=false 1550 +resources.job_runs.*.pipeline_params.full_refresh_selection 1551 +resources.job_runs.*.pipeline_params.full_refresh_selection[*] 1552 +resources.job_runs.*.pipeline_params.refresh_flow_selection 1553 +resources.job_runs.*.pipeline_params.refresh_flow_selection[*] 1554 +resources.job_runs.*.pipeline_params.refresh_selection 1555 +resources.job_runs.*.pipeline_params.refresh_selection[*] 1556 +resources.job_runs.*.pipeline_params.reset_checkpoint_selection 1557 +resources.job_runs.*.pipeline_params.reset_checkpoint_selection[*] 1558 +resources.job_runs.*.python_named_params 1559 +resources.job_runs.*.python_named_params.* 1560 +resources.job_runs.*.python_params 1561 +resources.job_runs.*.python_params[*] 1562 +resources.job_runs.*.queue 1563 +resources.job_runs.*.queue.enabled 1564 +resources.job_runs.*.queue.enabled=true 1565 +resources.job_runs.*.queue.enabled=false 1566 +resources.job_runs.*.spark_submit_params 1567 +resources.job_runs.*.spark_submit_params[*] 1568 +resources.job_runs.*.sql_params 1569 +resources.job_runs.*.sql_params.* 1570 +resources.job_runs.*.lifecycle.triggers 1571 +resources.job_runs.*.lifecycle.triggers[*] 1572 +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy 1573 +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy=true 1574 +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy=false 1575 +resources.job_runs.*.lifecycle.triggers[*].on_file_change 1576 +resources.job_runs.*.lifecycle.triggers_state 1577 +resources.job_runs.*.lifecycle.triggers_state.on_bundle_deploy 1578 +resources.job_runs.*.lifecycle.triggers_state.on_file_change 1579 +resources.job_runs.*.lifecycle.triggers_state.on_file_change.* 1580 +resources.job_runs.*.resolved_job_id 1581 diff --git a/acceptance/bundle/bitmap/full/output/jobs.txt b/acceptance/bundle/bitmap/full/output/jobs.txt new file mode 100644 index 00000000000..da3f40b58be --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/jobs.txt @@ -0,0 +1,1368 @@ +resources.jobs 153 +resources.jobs.* 154 +resources.jobs.*.url 155 +resources.jobs.*.modified_status 156 +resources.jobs.*.lifecycle 157 +resources.jobs.*.lifecycle.prevent_destroy 158 +resources.jobs.*.lifecycle.prevent_destroy=true 159 +resources.jobs.*.lifecycle.prevent_destroy=false 160 +resources.jobs.*.lifecycle.depends_on 161 +resources.jobs.*.lifecycle.depends_on[*] 162 +resources.jobs.*.lifecycle.depends_on[*].resource 163 +resources.jobs.*.id 164 +resources.jobs.*.budget_policy_id 165 +resources.jobs.*.continuous 166 +resources.jobs.*.continuous.maintenance_window 167 +resources.jobs.*.continuous.maintenance_window.day_of_week 168 +resources.jobs.*.continuous.maintenance_window.start_hour 169 +resources.jobs.*.continuous.maintenance_window.timezone_id 170 +resources.jobs.*.continuous.pause_status 171 +resources.jobs.*.continuous.task_retry_mode 172 +resources.jobs.*.deployment 173 +resources.jobs.*.deployment.deployment_id 174 +resources.jobs.*.deployment.kind 175 +resources.jobs.*.deployment.metadata_file_path 176 +resources.jobs.*.deployment.version_id 177 +resources.jobs.*.description 178 +resources.jobs.*.duration_target 179 +resources.jobs.*.edit_mode 180 +resources.jobs.*.email_notifications 181 +resources.jobs.*.email_notifications.no_alert_for_skipped_runs 182 +resources.jobs.*.email_notifications.no_alert_for_skipped_runs=true 183 +resources.jobs.*.email_notifications.no_alert_for_skipped_runs=false 184 +resources.jobs.*.email_notifications.on_duration_warning_threshold_exceeded 185 +resources.jobs.*.email_notifications.on_duration_warning_threshold_exceeded[*] 186 +resources.jobs.*.email_notifications.on_failure 187 +resources.jobs.*.email_notifications.on_failure[*] 188 +resources.jobs.*.email_notifications.on_maintenance_complete 189 +resources.jobs.*.email_notifications.on_maintenance_complete[*] 190 +resources.jobs.*.email_notifications.on_maintenance_start 191 +resources.jobs.*.email_notifications.on_maintenance_start[*] 192 +resources.jobs.*.email_notifications.on_start 193 +resources.jobs.*.email_notifications.on_start[*] 194 +resources.jobs.*.email_notifications.on_streaming_backlog_exceeded 195 +resources.jobs.*.email_notifications.on_streaming_backlog_exceeded[*] 196 +resources.jobs.*.email_notifications.on_success 197 +resources.jobs.*.email_notifications.on_success[*] 198 +resources.jobs.*.environment_variables 199 +resources.jobs.*.environment_variables[*] 200 +resources.jobs.*.environment_variables[*].environment_variables_key 201 +resources.jobs.*.environment_variables[*].spec 202 +resources.jobs.*.environment_variables[*].spec.files 203 +resources.jobs.*.environment_variables[*].spec.files[*] 204 +resources.jobs.*.environment_variables[*].spec.variables 205 +resources.jobs.*.environment_variables[*].spec.variables.* 206 +resources.jobs.*.environments 207 +resources.jobs.*.environments[*] 208 +resources.jobs.*.environments[*].environment_key 209 +resources.jobs.*.environments[*].spec 210 +resources.jobs.*.environments[*].spec.base_environment 211 +resources.jobs.*.environments[*].spec.client 212 +resources.jobs.*.environments[*].spec.dependencies 213 +resources.jobs.*.environments[*].spec.dependencies[*] 214 +resources.jobs.*.environments[*].spec.environment_version 215 +resources.jobs.*.environments[*].spec.java_dependencies 216 +resources.jobs.*.environments[*].spec.java_dependencies[*] 217 +resources.jobs.*.environments[*].spec.project_environment 218 +resources.jobs.*.format 219 +resources.jobs.*.git_source 220 +resources.jobs.*.git_source.git_branch 221 +resources.jobs.*.git_source.git_commit 222 +resources.jobs.*.git_source.git_provider 223 +resources.jobs.*.git_source.git_snapshot 224 +resources.jobs.*.git_source.git_snapshot.used_commit 225 +resources.jobs.*.git_source.git_tag 226 +resources.jobs.*.git_source.git_url 227 +resources.jobs.*.git_source.job_source 228 +resources.jobs.*.git_source.job_source.dirty_state 229 +resources.jobs.*.git_source.job_source.import_from_git_branch 230 +resources.jobs.*.git_source.job_source.job_config_path 231 +resources.jobs.*.git_source.sparse_checkout 232 +resources.jobs.*.git_source.sparse_checkout.patterns 233 +resources.jobs.*.git_source.sparse_checkout.patterns[*] 234 +resources.jobs.*.health 235 +resources.jobs.*.health.rules 236 +resources.jobs.*.health.rules[*] 237 +resources.jobs.*.health.rules[*].metric 238 +resources.jobs.*.health.rules[*].op 239 +resources.jobs.*.health.rules[*].value 240 +resources.jobs.*.job_clusters 241 +resources.jobs.*.job_clusters[*] 242 +resources.jobs.*.job_clusters[*].job_cluster_key 243 +resources.jobs.*.job_clusters[*].new_cluster 244 +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values 245 +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values=true 246 +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values=false 247 +resources.jobs.*.job_clusters[*].new_cluster.autoscale 248 +resources.jobs.*.job_clusters[*].new_cluster.autoscale.max_workers 249 +resources.jobs.*.job_clusters[*].new_cluster.autoscale.min_workers 250 +resources.jobs.*.job_clusters[*].new_cluster.autotermination_minutes 251 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes 252 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.availability 253 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_count 254 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_iops 255 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_size 256 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_throughput 257 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_type 258 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.first_on_demand 259 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.instance_profile_arn 260 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.spot_bid_price_percent 261 +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.zone_id 262 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes 263 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.availability 264 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.capacity_reservation_group 265 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.first_on_demand 266 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info 267 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key 268 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id 269 +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.spot_bid_max_price 270 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf 271 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.dbfs 272 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.dbfs.destination 273 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3 274 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.canned_acl 275 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.destination 276 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption 277 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption=true 278 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption=false 279 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.encryption_type 280 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.endpoint 281 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.kms_key 282 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.region 283 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.volumes 284 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.volumes.destination 285 +resources.jobs.*.job_clusters[*].new_cluster.cluster_name 286 +resources.jobs.*.job_clusters[*].new_cluster.custom_tags 287 +resources.jobs.*.job_clusters[*].new_cluster.custom_tags.* 288 +resources.jobs.*.job_clusters[*].new_cluster.data_security_mode 289 +resources.jobs.*.job_clusters[*].new_cluster.dependency_mode 290 +resources.jobs.*.job_clusters[*].new_cluster.docker_image 291 +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth 292 +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth.password 293 +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth.username 294 +resources.jobs.*.job_clusters[*].new_cluster.docker_image.url 295 +resources.jobs.*.job_clusters[*].new_cluster.driver_instance_pool_id 296 +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility 297 +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids 298 +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] 299 +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.aws_context_id 300 +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_id 301 +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk 302 +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk=true 303 +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk=false 304 +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption 305 +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption=true 306 +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption=false 307 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes 308 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.availability 309 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.boot_disk_size 310 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.confidential_compute_type 311 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.first_on_demand 312 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.google_service_account 313 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.local_ssd_count 314 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors 315 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors=true 316 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors=false 317 +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.zone_id 318 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts 319 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*] 320 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].abfss 321 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].abfss.destination 322 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].dbfs 323 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].dbfs.destination 324 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].file 325 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].file.destination 326 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].gcs 327 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].gcs.destination 328 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3 329 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.canned_acl 330 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.destination 331 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption 332 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption=true 333 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption=false 334 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.encryption_type 335 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.endpoint 336 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.kms_key 337 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.region 338 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].volumes 339 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].volumes.destination 340 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].workspace 341 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].workspace.destination 342 +resources.jobs.*.job_clusters[*].new_cluster.instance_pool_id 343 +resources.jobs.*.job_clusters[*].new_cluster.is_single_node 344 +resources.jobs.*.job_clusters[*].new_cluster.is_single_node=true 345 +resources.jobs.*.job_clusters[*].new_cluster.is_single_node=false 346 +resources.jobs.*.job_clusters[*].new_cluster.kind 347 +resources.jobs.*.job_clusters[*].new_cluster.node_type_id 348 +resources.jobs.*.job_clusters[*].new_cluster.num_workers 349 +resources.jobs.*.job_clusters[*].new_cluster.policy_id 350 +resources.jobs.*.job_clusters[*].new_cluster.remote_disk_throughput 351 +resources.jobs.*.job_clusters[*].new_cluster.runtime_engine 352 +resources.jobs.*.job_clusters[*].new_cluster.single_user_name 353 +resources.jobs.*.job_clusters[*].new_cluster.spark_conf 354 +resources.jobs.*.job_clusters[*].new_cluster.spark_conf.* 355 +resources.jobs.*.job_clusters[*].new_cluster.spark_env_vars 356 +resources.jobs.*.job_clusters[*].new_cluster.spark_env_vars.* 357 +resources.jobs.*.job_clusters[*].new_cluster.spark_version 358 +resources.jobs.*.job_clusters[*].new_cluster.ssh_public_keys 359 +resources.jobs.*.job_clusters[*].new_cluster.ssh_public_keys[*] 360 +resources.jobs.*.job_clusters[*].new_cluster.total_initial_remote_disk_size 361 +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime 362 +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime=true 363 +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime=false 364 +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility 365 +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids 366 +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] 367 +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.aws_context_id 368 +resources.jobs.*.job_clusters[*].new_cluster.workload_type 369 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients 370 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs 371 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs=true 372 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs=false 373 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks 374 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks=true 375 +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks=false 376 +resources.jobs.*.job_clusters[*].serverless_compute 377 +resources.jobs.*.job_clusters[*].serverless_compute.policy_id 378 +resources.jobs.*.job_clusters[*].serverless_compute_id 379 +resources.jobs.*.max_concurrent_runs 380 +resources.jobs.*.name 381 +resources.jobs.*.notification_settings 382 +resources.jobs.*.notification_settings.no_alert_for_canceled_runs 383 +resources.jobs.*.notification_settings.no_alert_for_canceled_runs=true 384 +resources.jobs.*.notification_settings.no_alert_for_canceled_runs=false 385 +resources.jobs.*.notification_settings.no_alert_for_skipped_runs 386 +resources.jobs.*.notification_settings.no_alert_for_skipped_runs=true 387 +resources.jobs.*.notification_settings.no_alert_for_skipped_runs=false 388 +resources.jobs.*.parameters 389 +resources.jobs.*.parameters[*] 390 +resources.jobs.*.parameters[*].default 391 +resources.jobs.*.parameters[*].name 392 +resources.jobs.*.parent_path 393 +resources.jobs.*.performance_target 394 +resources.jobs.*.queue 395 +resources.jobs.*.queue.enabled 396 +resources.jobs.*.queue.enabled=true 397 +resources.jobs.*.queue.enabled=false 398 +resources.jobs.*.run_as 399 +resources.jobs.*.run_as.group_name 400 +resources.jobs.*.run_as.service_principal_name 401 +resources.jobs.*.run_as.user_name 402 +resources.jobs.*.schedule 403 +resources.jobs.*.schedule.pause_status 404 +resources.jobs.*.schedule.quartz_cron_expression 405 +resources.jobs.*.schedule.sql_condition 406 +resources.jobs.*.schedule.sql_condition.sql_query_id 407 +resources.jobs.*.schedule.sql_condition.trigger_mode 408 +resources.jobs.*.schedule.sql_condition.warehouse_id 409 +resources.jobs.*.schedule.timezone_id 410 +resources.jobs.*.tags 411 +resources.jobs.*.tags.* 412 +resources.jobs.*.tasks 413 +resources.jobs.*.tasks[*] 414 +resources.jobs.*.tasks[*].ai_function_task 415 +resources.jobs.*.tasks[*].ai_function_task.ai_classify 416 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores 417 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores=true 418 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores=false 419 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales 420 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales=true 421 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales=false 422 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels 423 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels 424 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*] 425 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*].description 426 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*].name 427 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.instructions 428 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel 429 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel=true 430 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel=false 431 +resources.jobs.*.tasks[*].ai_function_task.ai_classify.version 432 +resources.jobs.*.tasks[*].ai_function_task.ai_extract 433 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations 434 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations=true 435 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations=false 436 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores 437 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores=true 438 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores=false 439 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.instructions 440 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.mode 441 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.schema 442 +resources.jobs.*.tasks[*].ai_function_task.ai_extract.version 443 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document 444 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.description_element_types 445 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.description_element_types[*] 446 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.image_output_path 447 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.page_range 448 +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.version 449 +resources.jobs.*.tasks[*].ai_function_task.delta_table 450 +resources.jobs.*.tasks[*].ai_function_task.delta_table.input_column 451 +resources.jobs.*.tasks[*].ai_function_task.delta_table.merge_key_columns 452 +resources.jobs.*.tasks[*].ai_function_task.delta_table.merge_key_columns[*] 453 +resources.jobs.*.tasks[*].ai_function_task.delta_table.table_name 454 +resources.jobs.*.tasks[*].ai_function_task.output 455 +resources.jobs.*.tasks[*].ai_function_task.output.catalog 456 +resources.jobs.*.tasks[*].ai_function_task.output.schema 457 +resources.jobs.*.tasks[*].ai_function_task.output.table 458 +resources.jobs.*.tasks[*].ai_function_task.volume 459 +resources.jobs.*.tasks[*].ai_function_task.volume.volume_path 460 +resources.jobs.*.tasks[*].ai_runtime_task 461 +resources.jobs.*.tasks[*].ai_runtime_task.code_source_path 462 +resources.jobs.*.tasks[*].ai_runtime_task.deployments 463 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*] 464 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].command_path 465 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute 466 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_count 467 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_type 468 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.provisioned_capacity_id 469 +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].name 470 +resources.jobs.*.tasks[*].ai_runtime_task.docker_image_url 471 +resources.jobs.*.tasks[*].ai_runtime_task.experiment 472 +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_artifact_location 473 +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_experiment_directory 474 +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_run 475 +resources.jobs.*.tasks[*].ai_runtime_task.priority_class 476 +resources.jobs.*.tasks[*].ai_runtime_task.unity_catalog_image_path 477 +resources.jobs.*.tasks[*].alert_task 478 +resources.jobs.*.tasks[*].alert_task.alert_id 479 +resources.jobs.*.tasks[*].alert_task.parameters 480 +resources.jobs.*.tasks[*].alert_task.parameters.* 481 +resources.jobs.*.tasks[*].alert_task.subscribers 482 +resources.jobs.*.tasks[*].alert_task.subscribers[*] 483 +resources.jobs.*.tasks[*].alert_task.subscribers[*].destination_id 484 +resources.jobs.*.tasks[*].alert_task.subscribers[*].user_name 485 +resources.jobs.*.tasks[*].alert_task.warehouse_id 486 +resources.jobs.*.tasks[*].alert_task.workspace_path 487 +resources.jobs.*.tasks[*].clean_rooms_notebook_task 488 +resources.jobs.*.tasks[*].clean_rooms_notebook_task.clean_room_name 489 +resources.jobs.*.tasks[*].clean_rooms_notebook_task.etag 490 +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_base_parameters 491 +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_base_parameters.* 492 +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_name 493 +resources.jobs.*.tasks[*].compute 494 +resources.jobs.*.tasks[*].compute.hardware_accelerator 495 +resources.jobs.*.tasks[*].condition_task 496 +resources.jobs.*.tasks[*].condition_task.left 497 +resources.jobs.*.tasks[*].condition_task.op 498 +resources.jobs.*.tasks[*].condition_task.right 499 +resources.jobs.*.tasks[*].dashboard_task 500 +resources.jobs.*.tasks[*].dashboard_task.dashboard_id 501 +resources.jobs.*.tasks[*].dashboard_task.filters 502 +resources.jobs.*.tasks[*].dashboard_task.filters.* 503 +resources.jobs.*.tasks[*].dashboard_task.subscription 504 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment 505 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment 506 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.file_format 507 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters 508 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters=true 509 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters=false 510 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets 511 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*] 512 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*].page_id 513 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*].widget_id 514 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment 515 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_ids 516 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_ids[*] 517 +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_selection 518 +resources.jobs.*.tasks[*].dashboard_task.subscription.custom_subject 519 +resources.jobs.*.tasks[*].dashboard_task.subscription.paused 520 +resources.jobs.*.tasks[*].dashboard_task.subscription.paused=true 521 +resources.jobs.*.tasks[*].dashboard_task.subscription.paused=false 522 +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers 523 +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*] 524 +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*].destination_id 525 +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*].user_name 526 +resources.jobs.*.tasks[*].dashboard_task.warehouse_id 527 +resources.jobs.*.tasks[*].dbt_cloud_task 528 +resources.jobs.*.tasks[*].dbt_cloud_task.connection_resource_name 529 +resources.jobs.*.tasks[*].dbt_cloud_task.dbt_cloud_job_id 530 +resources.jobs.*.tasks[*].dbt_platform_task 531 +resources.jobs.*.tasks[*].dbt_platform_task.connection_resource_name 532 +resources.jobs.*.tasks[*].dbt_platform_task.dbt_platform_job_id 533 +resources.jobs.*.tasks[*].dbt_task 534 +resources.jobs.*.tasks[*].dbt_task.catalog 535 +resources.jobs.*.tasks[*].dbt_task.commands 536 +resources.jobs.*.tasks[*].dbt_task.commands[*] 537 +resources.jobs.*.tasks[*].dbt_task.profiles_directory 538 +resources.jobs.*.tasks[*].dbt_task.project_directory 539 +resources.jobs.*.tasks[*].dbt_task.schema 540 +resources.jobs.*.tasks[*].dbt_task.source 541 +resources.jobs.*.tasks[*].dbt_task.warehouse_id 542 +resources.jobs.*.tasks[*].depends_on 543 +resources.jobs.*.tasks[*].depends_on[*] 544 +resources.jobs.*.tasks[*].depends_on[*].outcome 545 +resources.jobs.*.tasks[*].depends_on[*].task_key 546 +resources.jobs.*.tasks[*].description 547 +resources.jobs.*.tasks[*].disable_auto_optimization 548 +resources.jobs.*.tasks[*].disable_auto_optimization=true 549 +resources.jobs.*.tasks[*].disable_auto_optimization=false 550 +resources.jobs.*.tasks[*].disabled 551 +resources.jobs.*.tasks[*].disabled=true 552 +resources.jobs.*.tasks[*].disabled=false 553 +resources.jobs.*.tasks[*].email_notifications 554 +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs 555 +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs=true 556 +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs=false 557 +resources.jobs.*.tasks[*].email_notifications.on_duration_warning_threshold_exceeded 558 +resources.jobs.*.tasks[*].email_notifications.on_duration_warning_threshold_exceeded[*] 559 +resources.jobs.*.tasks[*].email_notifications.on_failure 560 +resources.jobs.*.tasks[*].email_notifications.on_failure[*] 561 +resources.jobs.*.tasks[*].email_notifications.on_maintenance_complete 562 +resources.jobs.*.tasks[*].email_notifications.on_maintenance_complete[*] 563 +resources.jobs.*.tasks[*].email_notifications.on_maintenance_start 564 +resources.jobs.*.tasks[*].email_notifications.on_maintenance_start[*] 565 +resources.jobs.*.tasks[*].email_notifications.on_start 566 +resources.jobs.*.tasks[*].email_notifications.on_start[*] 567 +resources.jobs.*.tasks[*].email_notifications.on_streaming_backlog_exceeded 568 +resources.jobs.*.tasks[*].email_notifications.on_streaming_backlog_exceeded[*] 569 +resources.jobs.*.tasks[*].email_notifications.on_success 570 +resources.jobs.*.tasks[*].email_notifications.on_success[*] 571 +resources.jobs.*.tasks[*].environment_key 572 +resources.jobs.*.tasks[*].environment_variables_key 573 +resources.jobs.*.tasks[*].existing_cluster_id 574 +resources.jobs.*.tasks[*].for_each_task 575 +resources.jobs.*.tasks[*].for_each_task.concurrency 576 +resources.jobs.*.tasks[*].for_each_task.inputs 577 +resources.jobs.*.tasks[*].for_each_task.task 578 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task 579 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify 580 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores 581 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores=true 582 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores=false 583 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales 584 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales=true 585 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales=false 586 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels 587 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels 588 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*] 589 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*].description 590 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*].name 591 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.instructions 592 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel 593 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel=true 594 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel=false 595 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.version 596 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract 597 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations 598 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations=true 599 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations=false 600 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores 601 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores=true 602 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores=false 603 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.instructions 604 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.mode 605 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.schema 606 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.version 607 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document 608 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.description_element_types 609 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.description_element_types[*] 610 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.image_output_path 611 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.page_range 612 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.version 613 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table 614 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.input_column 615 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.merge_key_columns 616 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.merge_key_columns[*] 617 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.table_name 618 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output 619 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.catalog 620 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.schema 621 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.table 622 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.volume 623 +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.volume.volume_path 624 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task 625 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.code_source_path 626 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments 627 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*] 628 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].command_path 629 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute 630 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_count 631 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_type 632 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.provisioned_capacity_id 633 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].name 634 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.docker_image_url 635 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.experiment 636 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_artifact_location 637 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_experiment_directory 638 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_run 639 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.priority_class 640 +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.unity_catalog_image_path 641 +resources.jobs.*.tasks[*].for_each_task.task.alert_task 642 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.alert_id 643 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters 644 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters.* 645 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers 646 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*] 647 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*].destination_id 648 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*].user_name 649 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.warehouse_id 650 +resources.jobs.*.tasks[*].for_each_task.task.alert_task.workspace_path 651 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task 652 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.clean_room_name 653 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.etag 654 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_base_parameters 655 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_base_parameters.* 656 +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_name 657 +resources.jobs.*.tasks[*].for_each_task.task.compute 658 +resources.jobs.*.tasks[*].for_each_task.task.compute.hardware_accelerator 659 +resources.jobs.*.tasks[*].for_each_task.task.condition_task 660 +resources.jobs.*.tasks[*].for_each_task.task.condition_task.left 661 +resources.jobs.*.tasks[*].for_each_task.task.condition_task.op 662 +resources.jobs.*.tasks[*].for_each_task.task.condition_task.right 663 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task 664 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.dashboard_id 665 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.filters 666 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.filters.* 667 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription 668 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment 669 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment 670 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.file_format 671 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters 672 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters=true 673 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters=false 674 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets 675 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*] 676 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*].page_id 677 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*].widget_id 678 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment 679 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_ids 680 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_ids[*] 681 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_selection 682 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.custom_subject 683 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused 684 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused=true 685 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused=false 686 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers 687 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*] 688 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*].destination_id 689 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*].user_name 690 +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.warehouse_id 691 +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task 692 +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task.connection_resource_name 693 +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task.dbt_cloud_job_id 694 +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task 695 +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task.connection_resource_name 696 +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task.dbt_platform_job_id 697 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task 698 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.catalog 699 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.commands 700 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.commands[*] 701 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.profiles_directory 702 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.project_directory 703 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.schema 704 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.source 705 +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.warehouse_id 706 +resources.jobs.*.tasks[*].for_each_task.task.depends_on 707 +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*] 708 +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*].outcome 709 +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*].task_key 710 +resources.jobs.*.tasks[*].for_each_task.task.description 711 +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization 712 +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization=true 713 +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization=false 714 +resources.jobs.*.tasks[*].for_each_task.task.disabled 715 +resources.jobs.*.tasks[*].for_each_task.task.disabled=true 716 +resources.jobs.*.tasks[*].for_each_task.task.disabled=false 717 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications 718 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs 719 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs=true 720 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs=false 721 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_duration_warning_threshold_exceeded 722 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_duration_warning_threshold_exceeded[*] 723 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_failure 724 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_failure[*] 725 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_complete 726 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_complete[*] 727 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_start 728 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_start[*] 729 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_start 730 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_start[*] 731 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_streaming_backlog_exceeded 732 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_streaming_backlog_exceeded[*] 733 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_success 734 +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_success[*] 735 +resources.jobs.*.tasks[*].for_each_task.task.environment_key 736 +resources.jobs.*.tasks[*].for_each_task.task.environment_variables_key 737 +resources.jobs.*.tasks[*].for_each_task.task.existing_cluster_id 738 +resources.jobs.*.tasks[*].for_each_task.task.for_each_task 739 +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.concurrency 740 +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.inputs 741 +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.task 742 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task 743 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.command 744 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute 745 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.gpu_node_pool_id 746 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.gpu_type 747 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.num_gpus 748 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.dl_runtime_image 749 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.mlflow_experiment_name 750 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.source 751 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.training_script_path 752 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.yaml_parameters 753 +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.yaml_parameters_file_path 754 +resources.jobs.*.tasks[*].for_each_task.task.health 755 +resources.jobs.*.tasks[*].for_each_task.task.health.rules 756 +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*] 757 +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].metric 758 +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].op 759 +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].value 760 +resources.jobs.*.tasks[*].for_each_task.task.job_cluster_key 761 +resources.jobs.*.tasks[*].for_each_task.task.libraries 762 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*] 763 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran 764 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran.package 765 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran.repo 766 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].egg 767 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].jar 768 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven 769 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.coordinates 770 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.exclusions 771 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.exclusions[*] 772 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.repo 773 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi 774 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi.package 775 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi.repo 776 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].requirements 777 +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].whl 778 +resources.jobs.*.tasks[*].for_each_task.task.max_retries 779 +resources.jobs.*.tasks[*].for_each_task.task.min_retry_interval_millis 780 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster 781 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values 782 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values=true 783 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values=false 784 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale 785 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale.max_workers 786 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale.min_workers 787 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autotermination_minutes 788 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes 789 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.availability 790 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_count 791 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_iops 792 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_size 793 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_throughput 794 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_type 795 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.first_on_demand 796 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.instance_profile_arn 797 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.spot_bid_price_percent 798 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.zone_id 799 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes 800 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.availability 801 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.capacity_reservation_group 802 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.first_on_demand 803 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info 804 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key 805 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id 806 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.spot_bid_max_price 807 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf 808 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.dbfs 809 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.dbfs.destination 810 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3 811 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.canned_acl 812 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.destination 813 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption 814 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption=true 815 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption=false 816 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.encryption_type 817 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.endpoint 818 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.kms_key 819 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.region 820 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.volumes 821 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.volumes.destination 822 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_name 823 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.custom_tags 824 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.custom_tags.* 825 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.data_security_mode 826 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.dependency_mode 827 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image 828 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth 829 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth.password 830 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth.username 831 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.url 832 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_instance_pool_id 833 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility 834 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids 835 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] 836 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.aws_context_id 837 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_id 838 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk 839 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk=true 840 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk=false 841 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption 842 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption=true 843 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption=false 844 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes 845 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.availability 846 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.boot_disk_size 847 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.confidential_compute_type 848 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.first_on_demand 849 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.google_service_account 850 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.local_ssd_count 851 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors 852 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors=true 853 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors=false 854 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.zone_id 855 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts 856 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*] 857 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].abfss 858 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].abfss.destination 859 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].dbfs 860 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].dbfs.destination 861 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].file 862 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].file.destination 863 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].gcs 864 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].gcs.destination 865 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3 866 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.canned_acl 867 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.destination 868 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption 869 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption=true 870 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption=false 871 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.encryption_type 872 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.endpoint 873 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.kms_key 874 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.region 875 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].volumes 876 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].volumes.destination 877 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].workspace 878 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].workspace.destination 879 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.instance_pool_id 880 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node 881 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node=true 882 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node=false 883 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.kind 884 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.node_type_id 885 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.num_workers 886 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.policy_id 887 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.remote_disk_throughput 888 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.runtime_engine 889 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.single_user_name 890 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_conf 891 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_conf.* 892 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_env_vars 893 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_env_vars.* 894 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_version 895 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.ssh_public_keys 896 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.ssh_public_keys[*] 897 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.total_initial_remote_disk_size 898 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime 899 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime=true 900 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime=false 901 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility 902 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids 903 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] 904 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.aws_context_id 905 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type 906 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients 907 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs 908 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs=true 909 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs=false 910 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks 911 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks=true 912 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks=false 913 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task 914 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.base_parameters 915 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.base_parameters.* 916 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.notebook_path 917 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.source 918 +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.warehouse_id 919 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings 920 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt 921 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt=true 922 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt=false 923 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs 924 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs=true 925 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs=false 926 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs 927 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs=true 928 +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs=false 929 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task 930 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh 931 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh=true 932 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh=false 933 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh_selection 934 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh_selection[*] 935 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.parameters 936 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.parameters.* 937 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.pipeline_id 938 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_flow_selection 939 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_flow_selection[*] 940 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_selection 941 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_selection[*] 942 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.reset_checkpoint_selection 943 +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.reset_checkpoint_selection[*] 944 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task 945 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.connection_resource_name 946 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model 947 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.authentication_method 948 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.model_name 949 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing 950 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing=true 951 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing=false 952 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.storage_mode 953 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.workspace_name 954 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update 955 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update=true 956 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update=false 957 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables 958 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*] 959 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].catalog 960 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].name 961 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].schema 962 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].storage_mode 963 +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.warehouse_id 964 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task 965 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.main 966 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters 967 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*] 968 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*].name 969 +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*].value 970 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task 971 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.entry_point 972 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.named_parameters 973 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.named_parameters.* 974 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.package_name 975 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.parameters 976 +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.parameters[*] 977 +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout 978 +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout=true 979 +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout=false 980 +resources.jobs.*.tasks[*].for_each_task.task.run_if 981 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task 982 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.dbt_commands 983 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.dbt_commands[*] 984 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.jar_params 985 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.jar_params[*] 986 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_id 987 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_parameters 988 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_parameters.* 989 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.notebook_params 990 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.notebook_params.* 991 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params 992 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh 993 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh=true 994 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh=false 995 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh_selection 996 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh_selection[*] 997 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_flow_selection 998 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_flow_selection[*] 999 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_selection 1000 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_selection[*] 1001 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.reset_checkpoint_selection 1002 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.reset_checkpoint_selection[*] 1003 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_named_params 1004 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_named_params.* 1005 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_params 1006 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_params[*] 1007 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.spark_submit_params 1008 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.spark_submit_params[*] 1009 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.sql_params 1010 +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.sql_params.* 1011 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task 1012 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.jar_uri 1013 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.main_class_name 1014 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.parameters 1015 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.parameters[*] 1016 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl 1017 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl=true 1018 +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl=false 1019 +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task 1020 +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.parameters 1021 +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.parameters[*] 1022 +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.python_file 1023 +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.source 1024 +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task 1025 +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task.parameters 1026 +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task.parameters[*] 1027 +resources.jobs.*.tasks[*].for_each_task.task.sql_task 1028 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert 1029 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.alert_id 1030 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions 1031 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions=true 1032 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions=false 1033 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions 1034 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*] 1035 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*].destination_id 1036 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*].user_name 1037 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard 1038 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.custom_subject 1039 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.dashboard_id 1040 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions 1041 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions=true 1042 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions=false 1043 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions 1044 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*] 1045 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*].destination_id 1046 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*].user_name 1047 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file 1048 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file.path 1049 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file.source 1050 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.parameters 1051 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.parameters.* 1052 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.query 1053 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.query.query_id 1054 +resources.jobs.*.tasks[*].for_each_task.task.sql_task.warehouse_id 1055 +resources.jobs.*.tasks[*].for_each_task.task.task_key 1056 +resources.jobs.*.tasks[*].for_each_task.task.timeout_seconds 1057 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications 1058 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded 1059 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded[*] 1060 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded[*].id 1061 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure 1062 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure[*] 1063 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure[*].id 1064 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete 1065 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete[*] 1066 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete[*].id 1067 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start 1068 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start[*] 1069 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start[*].id 1070 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start 1071 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start[*] 1072 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start[*].id 1073 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded 1074 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded[*] 1075 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded[*].id 1076 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success 1077 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success[*] 1078 +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success[*].id 1079 +resources.jobs.*.tasks[*].gen_ai_compute_task 1080 +resources.jobs.*.tasks[*].gen_ai_compute_task.command 1081 +resources.jobs.*.tasks[*].gen_ai_compute_task.compute 1082 +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.gpu_node_pool_id 1083 +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.gpu_type 1084 +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.num_gpus 1085 +resources.jobs.*.tasks[*].gen_ai_compute_task.dl_runtime_image 1086 +resources.jobs.*.tasks[*].gen_ai_compute_task.mlflow_experiment_name 1087 +resources.jobs.*.tasks[*].gen_ai_compute_task.source 1088 +resources.jobs.*.tasks[*].gen_ai_compute_task.training_script_path 1089 +resources.jobs.*.tasks[*].gen_ai_compute_task.yaml_parameters 1090 +resources.jobs.*.tasks[*].gen_ai_compute_task.yaml_parameters_file_path 1091 +resources.jobs.*.tasks[*].health 1092 +resources.jobs.*.tasks[*].health.rules 1093 +resources.jobs.*.tasks[*].health.rules[*] 1094 +resources.jobs.*.tasks[*].health.rules[*].metric 1095 +resources.jobs.*.tasks[*].health.rules[*].op 1096 +resources.jobs.*.tasks[*].health.rules[*].value 1097 +resources.jobs.*.tasks[*].job_cluster_key 1098 +resources.jobs.*.tasks[*].libraries 1099 +resources.jobs.*.tasks[*].libraries[*] 1100 +resources.jobs.*.tasks[*].libraries[*].cran 1101 +resources.jobs.*.tasks[*].libraries[*].cran.package 1102 +resources.jobs.*.tasks[*].libraries[*].cran.repo 1103 +resources.jobs.*.tasks[*].libraries[*].egg 1104 +resources.jobs.*.tasks[*].libraries[*].jar 1105 +resources.jobs.*.tasks[*].libraries[*].maven 1106 +resources.jobs.*.tasks[*].libraries[*].maven.coordinates 1107 +resources.jobs.*.tasks[*].libraries[*].maven.exclusions 1108 +resources.jobs.*.tasks[*].libraries[*].maven.exclusions[*] 1109 +resources.jobs.*.tasks[*].libraries[*].maven.repo 1110 +resources.jobs.*.tasks[*].libraries[*].pypi 1111 +resources.jobs.*.tasks[*].libraries[*].pypi.package 1112 +resources.jobs.*.tasks[*].libraries[*].pypi.repo 1113 +resources.jobs.*.tasks[*].libraries[*].requirements 1114 +resources.jobs.*.tasks[*].libraries[*].whl 1115 +resources.jobs.*.tasks[*].max_retries 1116 +resources.jobs.*.tasks[*].min_retry_interval_millis 1117 +resources.jobs.*.tasks[*].new_cluster 1118 +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values 1119 +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values=true 1120 +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values=false 1121 +resources.jobs.*.tasks[*].new_cluster.autoscale 1122 +resources.jobs.*.tasks[*].new_cluster.autoscale.max_workers 1123 +resources.jobs.*.tasks[*].new_cluster.autoscale.min_workers 1124 +resources.jobs.*.tasks[*].new_cluster.autotermination_minutes 1125 +resources.jobs.*.tasks[*].new_cluster.aws_attributes 1126 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.availability 1127 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_count 1128 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_iops 1129 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_size 1130 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_throughput 1131 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_type 1132 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.first_on_demand 1133 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.instance_profile_arn 1134 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.spot_bid_price_percent 1135 +resources.jobs.*.tasks[*].new_cluster.aws_attributes.zone_id 1136 +resources.jobs.*.tasks[*].new_cluster.azure_attributes 1137 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.availability 1138 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.capacity_reservation_group 1139 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.first_on_demand 1140 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info 1141 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key 1142 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id 1143 +resources.jobs.*.tasks[*].new_cluster.azure_attributes.spot_bid_max_price 1144 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf 1145 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.dbfs 1146 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.dbfs.destination 1147 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3 1148 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.canned_acl 1149 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.destination 1150 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption 1151 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption=true 1152 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption=false 1153 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.encryption_type 1154 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.endpoint 1155 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.kms_key 1156 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.region 1157 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.volumes 1158 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.volumes.destination 1159 +resources.jobs.*.tasks[*].new_cluster.cluster_name 1160 +resources.jobs.*.tasks[*].new_cluster.custom_tags 1161 +resources.jobs.*.tasks[*].new_cluster.custom_tags.* 1162 +resources.jobs.*.tasks[*].new_cluster.data_security_mode 1163 +resources.jobs.*.tasks[*].new_cluster.dependency_mode 1164 +resources.jobs.*.tasks[*].new_cluster.docker_image 1165 +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth 1166 +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth.password 1167 +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth.username 1168 +resources.jobs.*.tasks[*].new_cluster.docker_image.url 1169 +resources.jobs.*.tasks[*].new_cluster.driver_instance_pool_id 1170 +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility 1171 +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids 1172 +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] 1173 +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.aws_context_id 1174 +resources.jobs.*.tasks[*].new_cluster.driver_node_type_id 1175 +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk 1176 +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk=true 1177 +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk=false 1178 +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption 1179 +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption=true 1180 +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption=false 1181 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes 1182 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.availability 1183 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.boot_disk_size 1184 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.confidential_compute_type 1185 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.first_on_demand 1186 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.google_service_account 1187 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.local_ssd_count 1188 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors 1189 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors=true 1190 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors=false 1191 +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.zone_id 1192 +resources.jobs.*.tasks[*].new_cluster.init_scripts 1193 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*] 1194 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].abfss 1195 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].abfss.destination 1196 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].dbfs 1197 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].dbfs.destination 1198 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].file 1199 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].file.destination 1200 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].gcs 1201 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].gcs.destination 1202 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3 1203 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.canned_acl 1204 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.destination 1205 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption 1206 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption=true 1207 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption=false 1208 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.encryption_type 1209 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.endpoint 1210 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.kms_key 1211 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.region 1212 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].volumes 1213 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].volumes.destination 1214 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].workspace 1215 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].workspace.destination 1216 +resources.jobs.*.tasks[*].new_cluster.instance_pool_id 1217 +resources.jobs.*.tasks[*].new_cluster.is_single_node 1218 +resources.jobs.*.tasks[*].new_cluster.is_single_node=true 1219 +resources.jobs.*.tasks[*].new_cluster.is_single_node=false 1220 +resources.jobs.*.tasks[*].new_cluster.kind 1221 +resources.jobs.*.tasks[*].new_cluster.node_type_id 1222 +resources.jobs.*.tasks[*].new_cluster.num_workers 1223 +resources.jobs.*.tasks[*].new_cluster.policy_id 1224 +resources.jobs.*.tasks[*].new_cluster.remote_disk_throughput 1225 +resources.jobs.*.tasks[*].new_cluster.runtime_engine 1226 +resources.jobs.*.tasks[*].new_cluster.single_user_name 1227 +resources.jobs.*.tasks[*].new_cluster.spark_conf 1228 +resources.jobs.*.tasks[*].new_cluster.spark_conf.* 1229 +resources.jobs.*.tasks[*].new_cluster.spark_env_vars 1230 +resources.jobs.*.tasks[*].new_cluster.spark_env_vars.* 1231 +resources.jobs.*.tasks[*].new_cluster.spark_version 1232 +resources.jobs.*.tasks[*].new_cluster.ssh_public_keys 1233 +resources.jobs.*.tasks[*].new_cluster.ssh_public_keys[*] 1234 +resources.jobs.*.tasks[*].new_cluster.total_initial_remote_disk_size 1235 +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime 1236 +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime=true 1237 +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime=false 1238 +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility 1239 +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids 1240 +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] 1241 +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.aws_context_id 1242 +resources.jobs.*.tasks[*].new_cluster.workload_type 1243 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients 1244 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs 1245 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs=true 1246 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs=false 1247 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks 1248 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks=true 1249 +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks=false 1250 +resources.jobs.*.tasks[*].notebook_task 1251 +resources.jobs.*.tasks[*].notebook_task.base_parameters 1252 +resources.jobs.*.tasks[*].notebook_task.base_parameters.* 1253 +resources.jobs.*.tasks[*].notebook_task.notebook_path 1254 +resources.jobs.*.tasks[*].notebook_task.source 1255 +resources.jobs.*.tasks[*].notebook_task.warehouse_id 1256 +resources.jobs.*.tasks[*].notification_settings 1257 +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt 1258 +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt=true 1259 +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt=false 1260 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs 1261 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs=true 1262 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs=false 1263 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs 1264 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs=true 1265 +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs=false 1266 +resources.jobs.*.tasks[*].pipeline_task 1267 +resources.jobs.*.tasks[*].pipeline_task.full_refresh 1268 +resources.jobs.*.tasks[*].pipeline_task.full_refresh=true 1269 +resources.jobs.*.tasks[*].pipeline_task.full_refresh=false 1270 +resources.jobs.*.tasks[*].pipeline_task.full_refresh_selection 1271 +resources.jobs.*.tasks[*].pipeline_task.full_refresh_selection[*] 1272 +resources.jobs.*.tasks[*].pipeline_task.parameters 1273 +resources.jobs.*.tasks[*].pipeline_task.parameters.* 1274 +resources.jobs.*.tasks[*].pipeline_task.pipeline_id 1275 +resources.jobs.*.tasks[*].pipeline_task.refresh_flow_selection 1276 +resources.jobs.*.tasks[*].pipeline_task.refresh_flow_selection[*] 1277 +resources.jobs.*.tasks[*].pipeline_task.refresh_selection 1278 +resources.jobs.*.tasks[*].pipeline_task.refresh_selection[*] 1279 +resources.jobs.*.tasks[*].pipeline_task.reset_checkpoint_selection 1280 +resources.jobs.*.tasks[*].pipeline_task.reset_checkpoint_selection[*] 1281 +resources.jobs.*.tasks[*].power_bi_task 1282 +resources.jobs.*.tasks[*].power_bi_task.connection_resource_name 1283 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model 1284 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.authentication_method 1285 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.model_name 1286 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing 1287 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing=true 1288 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing=false 1289 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.storage_mode 1290 +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.workspace_name 1291 +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update 1292 +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update=true 1293 +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update=false 1294 +resources.jobs.*.tasks[*].power_bi_task.tables 1295 +resources.jobs.*.tasks[*].power_bi_task.tables[*] 1296 +resources.jobs.*.tasks[*].power_bi_task.tables[*].catalog 1297 +resources.jobs.*.tasks[*].power_bi_task.tables[*].name 1298 +resources.jobs.*.tasks[*].power_bi_task.tables[*].schema 1299 +resources.jobs.*.tasks[*].power_bi_task.tables[*].storage_mode 1300 +resources.jobs.*.tasks[*].power_bi_task.warehouse_id 1301 +resources.jobs.*.tasks[*].python_operator_task 1302 +resources.jobs.*.tasks[*].python_operator_task.main 1303 +resources.jobs.*.tasks[*].python_operator_task.parameters 1304 +resources.jobs.*.tasks[*].python_operator_task.parameters[*] 1305 +resources.jobs.*.tasks[*].python_operator_task.parameters[*].name 1306 +resources.jobs.*.tasks[*].python_operator_task.parameters[*].value 1307 +resources.jobs.*.tasks[*].python_wheel_task 1308 +resources.jobs.*.tasks[*].python_wheel_task.entry_point 1309 +resources.jobs.*.tasks[*].python_wheel_task.named_parameters 1310 +resources.jobs.*.tasks[*].python_wheel_task.named_parameters.* 1311 +resources.jobs.*.tasks[*].python_wheel_task.package_name 1312 +resources.jobs.*.tasks[*].python_wheel_task.parameters 1313 +resources.jobs.*.tasks[*].python_wheel_task.parameters[*] 1314 +resources.jobs.*.tasks[*].retry_on_timeout 1315 +resources.jobs.*.tasks[*].retry_on_timeout=true 1316 +resources.jobs.*.tasks[*].retry_on_timeout=false 1317 +resources.jobs.*.tasks[*].run_if 1318 +resources.jobs.*.tasks[*].run_job_task 1319 +resources.jobs.*.tasks[*].run_job_task.dbt_commands 1320 +resources.jobs.*.tasks[*].run_job_task.dbt_commands[*] 1321 +resources.jobs.*.tasks[*].run_job_task.jar_params 1322 +resources.jobs.*.tasks[*].run_job_task.jar_params[*] 1323 +resources.jobs.*.tasks[*].run_job_task.job_id 1324 +resources.jobs.*.tasks[*].run_job_task.job_parameters 1325 +resources.jobs.*.tasks[*].run_job_task.job_parameters.* 1326 +resources.jobs.*.tasks[*].run_job_task.notebook_params 1327 +resources.jobs.*.tasks[*].run_job_task.notebook_params.* 1328 +resources.jobs.*.tasks[*].run_job_task.pipeline_params 1329 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh 1330 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh=true 1331 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh=false 1332 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh_selection 1333 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh_selection[*] 1334 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_flow_selection 1335 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_flow_selection[*] 1336 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_selection 1337 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_selection[*] 1338 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.reset_checkpoint_selection 1339 +resources.jobs.*.tasks[*].run_job_task.pipeline_params.reset_checkpoint_selection[*] 1340 +resources.jobs.*.tasks[*].run_job_task.python_named_params 1341 +resources.jobs.*.tasks[*].run_job_task.python_named_params.* 1342 +resources.jobs.*.tasks[*].run_job_task.python_params 1343 +resources.jobs.*.tasks[*].run_job_task.python_params[*] 1344 +resources.jobs.*.tasks[*].run_job_task.spark_submit_params 1345 +resources.jobs.*.tasks[*].run_job_task.spark_submit_params[*] 1346 +resources.jobs.*.tasks[*].run_job_task.sql_params 1347 +resources.jobs.*.tasks[*].run_job_task.sql_params.* 1348 +resources.jobs.*.tasks[*].spark_jar_task 1349 +resources.jobs.*.tasks[*].spark_jar_task.jar_uri 1350 +resources.jobs.*.tasks[*].spark_jar_task.main_class_name 1351 +resources.jobs.*.tasks[*].spark_jar_task.parameters 1352 +resources.jobs.*.tasks[*].spark_jar_task.parameters[*] 1353 +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl 1354 +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl=true 1355 +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl=false 1356 +resources.jobs.*.tasks[*].spark_python_task 1357 +resources.jobs.*.tasks[*].spark_python_task.parameters 1358 +resources.jobs.*.tasks[*].spark_python_task.parameters[*] 1359 +resources.jobs.*.tasks[*].spark_python_task.python_file 1360 +resources.jobs.*.tasks[*].spark_python_task.source 1361 +resources.jobs.*.tasks[*].spark_submit_task 1362 +resources.jobs.*.tasks[*].spark_submit_task.parameters 1363 +resources.jobs.*.tasks[*].spark_submit_task.parameters[*] 1364 +resources.jobs.*.tasks[*].sql_task 1365 +resources.jobs.*.tasks[*].sql_task.alert 1366 +resources.jobs.*.tasks[*].sql_task.alert.alert_id 1367 +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions 1368 +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions=true 1369 +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions=false 1370 +resources.jobs.*.tasks[*].sql_task.alert.subscriptions 1371 +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*] 1372 +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*].destination_id 1373 +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*].user_name 1374 +resources.jobs.*.tasks[*].sql_task.dashboard 1375 +resources.jobs.*.tasks[*].sql_task.dashboard.custom_subject 1376 +resources.jobs.*.tasks[*].sql_task.dashboard.dashboard_id 1377 +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions 1378 +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions=true 1379 +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions=false 1380 +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions 1381 +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*] 1382 +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*].destination_id 1383 +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*].user_name 1384 +resources.jobs.*.tasks[*].sql_task.file 1385 +resources.jobs.*.tasks[*].sql_task.file.path 1386 +resources.jobs.*.tasks[*].sql_task.file.source 1387 +resources.jobs.*.tasks[*].sql_task.parameters 1388 +resources.jobs.*.tasks[*].sql_task.parameters.* 1389 +resources.jobs.*.tasks[*].sql_task.query 1390 +resources.jobs.*.tasks[*].sql_task.query.query_id 1391 +resources.jobs.*.tasks[*].sql_task.warehouse_id 1392 +resources.jobs.*.tasks[*].task_key 1393 +resources.jobs.*.tasks[*].timeout_seconds 1394 +resources.jobs.*.tasks[*].webhook_notifications 1395 +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded 1396 +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded[*] 1397 +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded[*].id 1398 +resources.jobs.*.tasks[*].webhook_notifications.on_failure 1399 +resources.jobs.*.tasks[*].webhook_notifications.on_failure[*] 1400 +resources.jobs.*.tasks[*].webhook_notifications.on_failure[*].id 1401 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete 1402 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete[*] 1403 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete[*].id 1404 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start 1405 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start[*] 1406 +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start[*].id 1407 +resources.jobs.*.tasks[*].webhook_notifications.on_start 1408 +resources.jobs.*.tasks[*].webhook_notifications.on_start[*] 1409 +resources.jobs.*.tasks[*].webhook_notifications.on_start[*].id 1410 +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded 1411 +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded[*] 1412 +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded[*].id 1413 +resources.jobs.*.tasks[*].webhook_notifications.on_success 1414 +resources.jobs.*.tasks[*].webhook_notifications.on_success[*] 1415 +resources.jobs.*.tasks[*].webhook_notifications.on_success[*].id 1416 +resources.jobs.*.timeout_seconds 1417 +resources.jobs.*.trigger 1418 +resources.jobs.*.trigger.file_arrival 1419 +resources.jobs.*.trigger.file_arrival.min_time_between_triggers_seconds 1420 +resources.jobs.*.trigger.file_arrival.url 1421 +resources.jobs.*.trigger.file_arrival.wait_after_last_change_seconds 1422 +resources.jobs.*.trigger.job_completion 1423 +resources.jobs.*.trigger.job_completion.if_status 1424 +resources.jobs.*.trigger.job_completion.jobs 1425 +resources.jobs.*.trigger.job_completion.jobs[*] 1426 +resources.jobs.*.trigger.job_completion.jobs[*].job_id 1427 +resources.jobs.*.trigger.job_completion.jobs[*].workspace_id 1428 +resources.jobs.*.trigger.model 1429 +resources.jobs.*.trigger.model.aliases 1430 +resources.jobs.*.trigger.model.aliases[*] 1431 +resources.jobs.*.trigger.model.condition 1432 +resources.jobs.*.trigger.model.min_time_between_triggers_seconds 1433 +resources.jobs.*.trigger.model.securable_name 1434 +resources.jobs.*.trigger.model.wait_after_last_change_seconds 1435 +resources.jobs.*.trigger.pause_status 1436 +resources.jobs.*.trigger.periodic 1437 +resources.jobs.*.trigger.periodic.interval 1438 +resources.jobs.*.trigger.periodic.unit 1439 +resources.jobs.*.trigger.sql_condition 1440 +resources.jobs.*.trigger.sql_condition.sql_query_id 1441 +resources.jobs.*.trigger.sql_condition.trigger_mode 1442 +resources.jobs.*.trigger.sql_condition.warehouse_id 1443 +resources.jobs.*.trigger.table_update 1444 +resources.jobs.*.trigger.table_update.condition 1445 +resources.jobs.*.trigger.table_update.min_time_between_triggers_seconds 1446 +resources.jobs.*.trigger.table_update.table_names 1447 +resources.jobs.*.trigger.table_update.table_names[*] 1448 +resources.jobs.*.trigger.table_update.wait_after_last_change_seconds 1449 +resources.jobs.*.triggers 1450 +resources.jobs.*.triggers[*] 1451 +resources.jobs.*.triggers[*].continuous 1452 +resources.jobs.*.triggers[*].continuous.maintenance_window 1453 +resources.jobs.*.triggers[*].continuous.maintenance_window.day_of_week 1454 +resources.jobs.*.triggers[*].continuous.maintenance_window.start_hour 1455 +resources.jobs.*.triggers[*].continuous.maintenance_window.timezone_id 1456 +resources.jobs.*.triggers[*].continuous.task_retry_mode 1457 +resources.jobs.*.triggers[*].file_arrival 1458 +resources.jobs.*.triggers[*].file_arrival.min_time_between_triggers_seconds 1459 +resources.jobs.*.triggers[*].file_arrival.url 1460 +resources.jobs.*.triggers[*].file_arrival.wait_after_last_change_seconds 1461 +resources.jobs.*.triggers[*].job_completion 1462 +resources.jobs.*.triggers[*].job_completion.if_status 1463 +resources.jobs.*.triggers[*].job_completion.jobs 1464 +resources.jobs.*.triggers[*].job_completion.jobs[*] 1465 +resources.jobs.*.triggers[*].job_completion.jobs[*].job_id 1466 +resources.jobs.*.triggers[*].job_completion.jobs[*].workspace_id 1467 +resources.jobs.*.triggers[*].model 1468 +resources.jobs.*.triggers[*].model.aliases 1469 +resources.jobs.*.triggers[*].model.aliases[*] 1470 +resources.jobs.*.triggers[*].model.condition 1471 +resources.jobs.*.triggers[*].model.min_time_between_triggers_seconds 1472 +resources.jobs.*.triggers[*].model.securable_name 1473 +resources.jobs.*.triggers[*].model.wait_after_last_change_seconds 1474 +resources.jobs.*.triggers[*].pause_status 1475 +resources.jobs.*.triggers[*].periodic 1476 +resources.jobs.*.triggers[*].periodic.interval 1477 +resources.jobs.*.triggers[*].periodic.unit 1478 +resources.jobs.*.triggers[*].schedule 1479 +resources.jobs.*.triggers[*].schedule.quartz_cron_expression 1480 +resources.jobs.*.triggers[*].schedule.timezone_id 1481 +resources.jobs.*.triggers[*].sql_condition 1482 +resources.jobs.*.triggers[*].sql_condition.sql_query_id 1483 +resources.jobs.*.triggers[*].sql_condition.trigger_mode 1484 +resources.jobs.*.triggers[*].sql_condition.warehouse_id 1485 +resources.jobs.*.triggers[*].table_update 1486 +resources.jobs.*.triggers[*].table_update.condition 1487 +resources.jobs.*.triggers[*].table_update.min_time_between_triggers_seconds 1488 +resources.jobs.*.triggers[*].table_update.table_names 1489 +resources.jobs.*.triggers[*].table_update.table_names[*] 1490 +resources.jobs.*.triggers[*].table_update.wait_after_last_change_seconds 1491 +resources.jobs.*.usage_policy_id 1492 +resources.jobs.*.webhook_notifications 1493 +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded 1494 +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded[*] 1495 +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded[*].id 1496 +resources.jobs.*.webhook_notifications.on_failure 1497 +resources.jobs.*.webhook_notifications.on_failure[*] 1498 +resources.jobs.*.webhook_notifications.on_failure[*].id 1499 +resources.jobs.*.webhook_notifications.on_maintenance_complete 1500 +resources.jobs.*.webhook_notifications.on_maintenance_complete[*] 1501 +resources.jobs.*.webhook_notifications.on_maintenance_complete[*].id 1502 +resources.jobs.*.webhook_notifications.on_maintenance_start 1503 +resources.jobs.*.webhook_notifications.on_maintenance_start[*] 1504 +resources.jobs.*.webhook_notifications.on_maintenance_start[*].id 1505 +resources.jobs.*.webhook_notifications.on_start 1506 +resources.jobs.*.webhook_notifications.on_start[*] 1507 +resources.jobs.*.webhook_notifications.on_start[*].id 1508 +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded 1509 +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded[*] 1510 +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded[*].id 1511 +resources.jobs.*.webhook_notifications.on_success 1512 +resources.jobs.*.webhook_notifications.on_success[*] 1513 +resources.jobs.*.webhook_notifications.on_success[*].id 1514 +resources.jobs.*.permissions 1515 +resources.jobs.*.permissions[*] 1516 +resources.jobs.*.permissions[*].level 1517 +resources.jobs.*.permissions[*].user_name 1518 +resources.jobs.*.permissions[*].service_principal_name 1519 +resources.jobs.*.permissions[*].group_name 1520 diff --git a/acceptance/bundle/bitmap/full/output/materialization_sets.txt b/acceptance/bundle/bitmap/full/output/materialization_sets.txt new file mode 100644 index 00000000000..ae066820fe1 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/materialization_sets.txt @@ -0,0 +1,80 @@ +resources.materialization_sets 2742 +resources.materialization_sets.* 2743 +resources.materialization_sets.*.url 2744 +resources.materialization_sets.*.modified_status 2745 +resources.materialization_sets.*.lifecycle 2746 +resources.materialization_sets.*.lifecycle.prevent_destroy 2747 +resources.materialization_sets.*.lifecycle.prevent_destroy=true 2748 +resources.materialization_sets.*.lifecycle.prevent_destroy=false 2749 +resources.materialization_sets.*.lifecycle.depends_on 2750 +resources.materialization_sets.*.lifecycle.depends_on[*] 2751 +resources.materialization_sets.*.lifecycle.depends_on[*].resource 2752 +resources.materialization_sets.*.id 2753 +resources.materialization_sets.*.materialization_set_id 2754 +resources.materialization_sets.*.materialized_features 2755 +resources.materialization_sets.*.materialized_features[*] 2756 +resources.materialization_sets.*.materialized_features[*].budget_policy_id 2757 +resources.materialization_sets.*.materialized_features[*].cron_schedule 2758 +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger 2759 +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.cron_expression 2760 +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.mode 2761 +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.timezone_id 2762 +resources.materialization_sets.*.materialized_features[*].feature_name 2763 +resources.materialization_sets.*.materialized_features[*].is_online 2764 +resources.materialization_sets.*.materialized_features[*].is_online=true 2765 +resources.materialization_sets.*.materialized_features[*].is_online=false 2766 +resources.materialization_sets.*.materialized_features[*].job_id 2767 +resources.materialization_sets.*.materialized_features[*].last_materialization_time 2768 +resources.materialization_sets.*.materialized_features[*].latest_backfill_operation 2769 +resources.materialization_sets.*.materialized_features[*].materialization_set_id 2770 +resources.materialization_sets.*.materialized_features[*].materialized_feature_id 2771 +resources.materialization_sets.*.materialized_features[*].notifications 2772 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure 2773 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.destination_ids 2774 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.destination_ids[*] 2775 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.email_addresses 2776 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.email_addresses[*] 2777 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only 2778 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only=true 2779 +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only=false 2780 +resources.materialization_sets.*.materialized_features[*].notifications.on_success 2781 +resources.materialization_sets.*.materialized_features[*].notifications.on_success.destination_ids 2782 +resources.materialization_sets.*.materialized_features[*].notifications.on_success.destination_ids[*] 2783 +resources.materialization_sets.*.materialized_features[*].notifications.on_success.email_addresses 2784 +resources.materialization_sets.*.materialized_features[*].notifications.on_success.email_addresses[*] 2785 +resources.materialization_sets.*.materialized_features[*].offline_store_config 2786 +resources.materialization_sets.*.materialized_features[*].offline_store_config.catalog_name 2787 +resources.materialization_sets.*.materialized_features[*].offline_store_config.schema_name 2788 +resources.materialization_sets.*.materialized_features[*].offline_store_config.table_name_prefix 2789 +resources.materialization_sets.*.materialized_features[*].online_store_config 2790 +resources.materialization_sets.*.materialized_features[*].online_store_config.catalog_name 2791 +resources.materialization_sets.*.materialized_features[*].online_store_config.online_store_name 2792 +resources.materialization_sets.*.materialized_features[*].online_store_config.schema_name 2793 +resources.materialization_sets.*.materialized_features[*].online_store_config.table_name_prefix 2794 +resources.materialization_sets.*.materialized_features[*].pipeline_id 2795 +resources.materialization_sets.*.materialized_features[*].pipeline_schedule_state 2796 +resources.materialization_sets.*.materialized_features[*].streaming_mode 2797 +resources.materialization_sets.*.materialized_features[*].streaming_mode.freshness_target 2798 +resources.materialization_sets.*.materialized_features[*].streaming_mode.mode 2799 +resources.materialization_sets.*.materialized_features[*].streaming_mode.shuffle_partitions 2800 +resources.materialization_sets.*.materialized_features[*].table_name 2801 +resources.materialization_sets.*.materialized_features[*].table_trigger 2802 +resources.materialization_sets.*.materialized_features[*].table_trigger.condition 2803 +resources.materialization_sets.*.materialized_features[*].table_trigger.min_time_between_triggers 2804 +resources.materialization_sets.*.materialized_features[*].table_trigger.wait_after_last_change 2805 +resources.materialization_sets.*.materialized_features[*].tags 2806 +resources.materialization_sets.*.materialized_features[*].tags.* 2807 +resources.materialization_sets.*.notifications 2808 +resources.materialization_sets.*.notifications.on_failure 2809 +resources.materialization_sets.*.notifications.on_failure.destination_ids 2810 +resources.materialization_sets.*.notifications.on_failure.destination_ids[*] 2811 +resources.materialization_sets.*.notifications.on_failure.email_addresses 2812 +resources.materialization_sets.*.notifications.on_failure.email_addresses[*] 2813 +resources.materialization_sets.*.notifications.on_failure.final_attempt_only 2814 +resources.materialization_sets.*.notifications.on_failure.final_attempt_only=true 2815 +resources.materialization_sets.*.notifications.on_failure.final_attempt_only=false 2816 +resources.materialization_sets.*.notifications.on_success 2817 +resources.materialization_sets.*.notifications.on_success.destination_ids 2818 +resources.materialization_sets.*.notifications.on_success.destination_ids[*] 2819 +resources.materialization_sets.*.notifications.on_success.email_addresses 2820 +resources.materialization_sets.*.notifications.on_success.email_addresses[*] 2821 diff --git a/acceptance/bundle/bitmap/full/output/mcp_services.txt b/acceptance/bundle/bitmap/full/output/mcp_services.txt new file mode 100644 index 00000000000..54e193a5ba5 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/mcp_services.txt @@ -0,0 +1,37 @@ +resources.mcp_services 3159 +resources.mcp_services.* 3160 +resources.mcp_services.*.url 3161 +resources.mcp_services.*.modified_status 3162 +resources.mcp_services.*.lifecycle 3163 +resources.mcp_services.*.lifecycle.prevent_destroy 3164 +resources.mcp_services.*.lifecycle.prevent_destroy=true 3165 +resources.mcp_services.*.lifecycle.prevent_destroy=false 3166 +resources.mcp_services.*.lifecycle.depends_on 3167 +resources.mcp_services.*.lifecycle.depends_on[*] 3168 +resources.mcp_services.*.lifecycle.depends_on[*].resource 3169 +resources.mcp_services.*.id 3170 +resources.mcp_services.*.parent 3171 +resources.mcp_services.*.mcp_service_id 3172 +resources.mcp_services.*.comment 3173 +resources.mcp_services.*.config 3174 +resources.mcp_services.*.config.include_tool_selectors 3175 +resources.mcp_services.*.config.include_tool_selectors[*] 3176 +resources.mcp_services.*.config.rate_limits 3177 +resources.mcp_services.*.config.rate_limits[*] 3178 +resources.mcp_services.*.config.rate_limits[*].key 3179 +resources.mcp_services.*.config.rate_limits[*].principal 3180 +resources.mcp_services.*.config.rate_limits[*].renewal_period 3181 +resources.mcp_services.*.config.rate_limits[*].requests 3182 +resources.mcp_services.*.config.rate_limits[*].tokens 3183 +resources.mcp_services.*.config.source_connection 3184 +resources.mcp_services.*.config.source_connection.is_deleted 3185 +resources.mcp_services.*.config.source_connection.is_deleted=true 3186 +resources.mcp_services.*.config.source_connection.is_deleted=false 3187 +resources.mcp_services.*.config.source_connection.name 3188 +resources.mcp_services.*.config.source_connection.options 3189 +resources.mcp_services.*.config.source_connection.options.* 3190 +resources.mcp_services.*.grants 3191 +resources.mcp_services.*.grants[*] 3192 +resources.mcp_services.*.grants[*].principal 3193 +resources.mcp_services.*.grants[*].privileges 3194 +resources.mcp_services.*.grants[*].privileges[*] 3195 diff --git a/acceptance/bundle/bitmap/full/output/model_provider_services.txt b/acceptance/bundle/bitmap/full/output/model_provider_services.txt new file mode 100644 index 00000000000..55724c86d67 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/model_provider_services.txt @@ -0,0 +1,148 @@ +resources.model_provider_services 3196 +resources.model_provider_services.* 3197 +resources.model_provider_services.*.url 3198 +resources.model_provider_services.*.modified_status 3199 +resources.model_provider_services.*.lifecycle 3200 +resources.model_provider_services.*.lifecycle.prevent_destroy 3201 +resources.model_provider_services.*.lifecycle.prevent_destroy=true 3202 +resources.model_provider_services.*.lifecycle.prevent_destroy=false 3203 +resources.model_provider_services.*.lifecycle.depends_on 3204 +resources.model_provider_services.*.lifecycle.depends_on[*] 3205 +resources.model_provider_services.*.lifecycle.depends_on[*].resource 3206 +resources.model_provider_services.*.id 3207 +resources.model_provider_services.*.parent 3208 +resources.model_provider_services.*.model_provider_service_id 3209 +resources.model_provider_services.*.comment 3210 +resources.model_provider_services.*.config 3211 +resources.model_provider_services.*.config.allow_all_targets 3212 +resources.model_provider_services.*.config.allow_all_targets=true 3213 +resources.model_provider_services.*.config.allow_all_targets=false 3214 +resources.model_provider_services.*.config.amazon_bedrock 3215 +resources.model_provider_services.*.config.amazon_bedrock.direct 3216 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key 3217 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.access_key_id 3218 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key 3219 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.plaintext 3220 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.secret_reference 3221 +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.secret_reference.name 3222 +resources.model_provider_services.*.config.amazon_bedrock.direct.region 3223 +resources.model_provider_services.*.config.amazon_bedrock.direct.service_credential 3224 +resources.model_provider_services.*.config.amazon_bedrock.direct.service_credential.name 3225 +resources.model_provider_services.*.config.anthropic 3226 +resources.model_provider_services.*.config.anthropic.direct 3227 +resources.model_provider_services.*.config.anthropic.direct.api_key 3228 +resources.model_provider_services.*.config.anthropic.direct.api_key.plaintext 3229 +resources.model_provider_services.*.config.anthropic.direct.api_key.secret_reference 3230 +resources.model_provider_services.*.config.anthropic.direct.api_key.secret_reference.name 3231 +resources.model_provider_services.*.config.anthropic.relayed 3232 +resources.model_provider_services.*.config.azure_openai 3233 +resources.model_provider_services.*.config.azure_openai.direct 3234 +resources.model_provider_services.*.config.azure_openai.direct.api_key 3235 +resources.model_provider_services.*.config.azure_openai.direct.api_key.plaintext 3236 +resources.model_provider_services.*.config.azure_openai.direct.api_key.secret_reference 3237 +resources.model_provider_services.*.config.azure_openai.direct.api_key.secret_reference.name 3238 +resources.model_provider_services.*.config.azure_openai.direct.base_url 3239 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal 3240 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_id 3241 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret 3242 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.plaintext 3243 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.secret_reference 3244 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.secret_reference.name 3245 +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.tenant_id 3246 +resources.model_provider_services.*.config.azure_openai.direct.service_credential 3247 +resources.model_provider_services.*.config.azure_openai.direct.service_credential.name 3248 +resources.model_provider_services.*.config.bedrock_mantle 3249 +resources.model_provider_services.*.config.bedrock_mantle.direct 3250 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key 3251 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.access_key_id 3252 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key 3253 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.plaintext 3254 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.secret_reference 3255 +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.secret_reference.name 3256 +resources.model_provider_services.*.config.bedrock_mantle.direct.region 3257 +resources.model_provider_services.*.config.bedrock_mantle.direct.service_credential 3258 +resources.model_provider_services.*.config.bedrock_mantle.direct.service_credential.name 3259 +resources.model_provider_services.*.config.custom 3260 +resources.model_provider_services.*.config.custom.direct 3261 +resources.model_provider_services.*.config.custom.direct.api_key 3262 +resources.model_provider_services.*.config.custom.direct.api_key.plaintext 3263 +resources.model_provider_services.*.config.custom.direct.api_key.secret_reference 3264 +resources.model_provider_services.*.config.custom.direct.api_key.secret_reference.name 3265 +resources.model_provider_services.*.config.custom.direct.base_url 3266 +resources.model_provider_services.*.config.custom.direct.header_auth 3267 +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_name 3268 +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value 3269 +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.plaintext 3270 +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.secret_reference 3271 +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.secret_reference.name 3272 +resources.model_provider_services.*.config.forward_headers 3273 +resources.model_provider_services.*.config.forward_headers=true 3274 +resources.model_provider_services.*.config.forward_headers=false 3275 +resources.model_provider_services.*.config.forward_query_parameters 3276 +resources.model_provider_services.*.config.forward_query_parameters=true 3277 +resources.model_provider_services.*.config.forward_query_parameters=false 3278 +resources.model_provider_services.*.config.forward_unmanaged_paths 3279 +resources.model_provider_services.*.config.forward_unmanaged_paths=true 3280 +resources.model_provider_services.*.config.forward_unmanaged_paths=false 3281 +resources.model_provider_services.*.config.gemini_enterprise 3282 +resources.model_provider_services.*.config.gemini_enterprise.direct 3283 +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key 3284 +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.plaintext 3285 +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.secret_reference 3286 +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.secret_reference.name 3287 +resources.model_provider_services.*.config.gemini_enterprise.direct.project_id 3288 +resources.model_provider_services.*.config.gemini_enterprise.direct.region 3289 +resources.model_provider_services.*.config.gemini_enterprise.direct.service_credential 3290 +resources.model_provider_services.*.config.gemini_enterprise.direct.service_credential.name 3291 +resources.model_provider_services.*.config.inference_table 3292 +resources.model_provider_services.*.config.inference_table.is_deleted 3293 +resources.model_provider_services.*.config.inference_table.is_deleted=true 3294 +resources.model_provider_services.*.config.inference_table.is_deleted=false 3295 +resources.model_provider_services.*.config.inference_table.parent 3296 +resources.model_provider_services.*.config.inference_table.table 3297 +resources.model_provider_services.*.config.inference_table.table_name_prefix 3298 +resources.model_provider_services.*.config.microsoft_foundry 3299 +resources.model_provider_services.*.config.microsoft_foundry.direct 3300 +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key 3301 +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.plaintext 3302 +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.secret_reference 3303 +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.secret_reference.name 3304 +resources.model_provider_services.*.config.microsoft_foundry.direct.base_url 3305 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal 3306 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_id 3307 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret 3308 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.plaintext 3309 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.secret_reference 3310 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.secret_reference.name 3311 +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.tenant_id 3312 +resources.model_provider_services.*.config.microsoft_foundry.direct.service_credential 3313 +resources.model_provider_services.*.config.microsoft_foundry.direct.service_credential.name 3314 +resources.model_provider_services.*.config.openai 3315 +resources.model_provider_services.*.config.openai.direct 3316 +resources.model_provider_services.*.config.openai.direct.api_key 3317 +resources.model_provider_services.*.config.openai.direct.api_key.plaintext 3318 +resources.model_provider_services.*.config.openai.direct.api_key.secret_reference 3319 +resources.model_provider_services.*.config.openai.direct.api_key.secret_reference.name 3320 +resources.model_provider_services.*.config.openai.direct.base_url 3321 +resources.model_provider_services.*.config.openai.direct.organization 3322 +resources.model_provider_services.*.config.pricing 3323 +resources.model_provider_services.*.config.pricing.default_discount_basis_points 3324 +resources.model_provider_services.*.config.provider_type 3325 +resources.model_provider_services.*.config.rate_limits 3326 +resources.model_provider_services.*.config.rate_limits[*] 3327 +resources.model_provider_services.*.config.rate_limits[*].key 3328 +resources.model_provider_services.*.config.rate_limits[*].principal 3329 +resources.model_provider_services.*.config.rate_limits[*].renewal_period 3330 +resources.model_provider_services.*.config.rate_limits[*].requests 3331 +resources.model_provider_services.*.config.rate_limits[*].tokens 3332 +resources.model_provider_services.*.config.targets 3333 +resources.model_provider_services.*.config.targets[*] 3334 +resources.model_provider_services.*.config.targets[*].endpoint_route 3335 +resources.model_provider_services.*.config.targets[*].model 3336 +resources.model_provider_services.*.config.targets[*].native_api_types 3337 +resources.model_provider_services.*.config.targets[*].native_api_types[*] 3338 +resources.model_provider_services.*.grants 3339 +resources.model_provider_services.*.grants[*] 3340 +resources.model_provider_services.*.grants[*].principal 3341 +resources.model_provider_services.*.grants[*].privileges 3342 +resources.model_provider_services.*.grants[*].privileges[*] 3343 diff --git a/acceptance/bundle/bitmap/full/output/model_services.txt b/acceptance/bundle/bitmap/full/output/model_services.txt new file mode 100644 index 00000000000..ade05224782 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/model_services.txt @@ -0,0 +1,77 @@ +resources.model_services 3082 +resources.model_services.* 3083 +resources.model_services.*.url 3084 +resources.model_services.*.modified_status 3085 +resources.model_services.*.lifecycle 3086 +resources.model_services.*.lifecycle.prevent_destroy 3087 +resources.model_services.*.lifecycle.prevent_destroy=true 3088 +resources.model_services.*.lifecycle.prevent_destroy=false 3089 +resources.model_services.*.lifecycle.depends_on 3090 +resources.model_services.*.lifecycle.depends_on[*] 3091 +resources.model_services.*.lifecycle.depends_on[*].resource 3092 +resources.model_services.*.parent 3093 +resources.model_services.*.model_service_id 3094 +resources.model_services.*.comment 3095 +resources.model_services.*.config 3096 +resources.model_services.*.config.inference_table 3097 +resources.model_services.*.config.inference_table.is_deleted 3098 +resources.model_services.*.config.inference_table.is_deleted=true 3099 +resources.model_services.*.config.inference_table.is_deleted=false 3100 +resources.model_services.*.config.inference_table.parent 3101 +resources.model_services.*.config.inference_table.table 3102 +resources.model_services.*.config.inference_table.table_name_prefix 3103 +resources.model_services.*.config.rate_limits 3104 +resources.model_services.*.config.rate_limits[*] 3105 +resources.model_services.*.config.rate_limits[*].key 3106 +resources.model_services.*.config.rate_limits[*].principal 3107 +resources.model_services.*.config.rate_limits[*].renewal_period 3108 +resources.model_services.*.config.rate_limits[*].requests 3109 +resources.model_services.*.config.rate_limits[*].tokens 3110 +resources.model_services.*.config.routing 3111 +resources.model_services.*.config.routing.destinations 3112 +resources.model_services.*.config.routing.destinations[*] 3113 +resources.model_services.*.config.routing.destinations[*].destination_type 3114 +resources.model_services.*.config.routing.destinations[*].external_model_config 3115 +resources.model_services.*.config.routing.destinations[*].external_model_config.model_provider_service 3116 +resources.model_services.*.config.routing.destinations[*].external_model_config.target 3117 +resources.model_services.*.config.routing.destinations[*].external_model_config.target.endpoint_route 3118 +resources.model_services.*.config.routing.destinations[*].external_model_config.target.model 3119 +resources.model_services.*.config.routing.destinations[*].external_model_config.target.native_api_types 3120 +resources.model_services.*.config.routing.destinations[*].external_model_config.target.native_api_types[*] 3121 +resources.model_services.*.config.routing.destinations[*].is_deleted 3122 +resources.model_services.*.config.routing.destinations[*].is_deleted=true 3123 +resources.model_services.*.config.routing.destinations[*].is_deleted=false 3124 +resources.model_services.*.config.routing.destinations[*].name 3125 +resources.model_services.*.config.routing.destinations[*].pay_per_token_config 3126 +resources.model_services.*.config.routing.destinations[*].pay_per_token_config.model 3127 +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config 3128 +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config.model 3129 +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config.model_serving_endpoint 3130 +resources.model_services.*.config.routing.destinations[*].traffic_percentage 3131 +resources.model_services.*.config.routing.fallback 3132 +resources.model_services.*.config.routing.fallback.destinations 3133 +resources.model_services.*.config.routing.fallback.destinations[*] 3134 +resources.model_services.*.config.routing.fallback.destinations[*].destination_type 3135 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config 3136 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.model_provider_service 3137 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target 3138 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.endpoint_route 3139 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.model 3140 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.native_api_types 3141 +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.native_api_types[*] 3142 +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted 3143 +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted=true 3144 +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted=false 3145 +resources.model_services.*.config.routing.fallback.destinations[*].name 3146 +resources.model_services.*.config.routing.fallback.destinations[*].pay_per_token_config 3147 +resources.model_services.*.config.routing.fallback.destinations[*].pay_per_token_config.model 3148 +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config 3149 +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config.model 3150 +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config.model_serving_endpoint 3151 +resources.model_services.*.config.routing.fallback.destinations[*].traffic_percentage 3152 +resources.model_services.*.id 3153 +resources.model_services.*.grants 3154 +resources.model_services.*.grants[*] 3155 +resources.model_services.*.grants[*].principal 3156 +resources.model_services.*.grants[*].privileges 3157 +resources.model_services.*.grants[*].privileges[*] 3158 diff --git a/acceptance/bundle/bitmap/full/output/model_serving_endpoints.txt b/acceptance/bundle/bitmap/full/output/model_serving_endpoints.txt new file mode 100644 index 00000000000..55057919dbf --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/model_serving_endpoints.txt @@ -0,0 +1,206 @@ +resources.model_serving_endpoints 2876 +resources.model_serving_endpoints.* 2877 +resources.model_serving_endpoints.*.url 2878 +resources.model_serving_endpoints.*.modified_status 2879 +resources.model_serving_endpoints.*.lifecycle 2880 +resources.model_serving_endpoints.*.lifecycle.prevent_destroy 2881 +resources.model_serving_endpoints.*.lifecycle.prevent_destroy=true 2882 +resources.model_serving_endpoints.*.lifecycle.prevent_destroy=false 2883 +resources.model_serving_endpoints.*.lifecycle.depends_on 2884 +resources.model_serving_endpoints.*.lifecycle.depends_on[*] 2885 +resources.model_serving_endpoints.*.lifecycle.depends_on[*].resource 2886 +resources.model_serving_endpoints.*.id 2887 +resources.model_serving_endpoints.*.ai_gateway 2888 +resources.model_serving_endpoints.*.ai_gateway.fallback_config 2889 +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled 2890 +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled=true 2891 +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled=false 2892 +resources.model_serving_endpoints.*.ai_gateway.guardrails 2893 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input 2894 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.invalid_keywords 2895 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.invalid_keywords[*] 2896 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.pii 2897 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.pii.behavior 2898 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety 2899 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety=true 2900 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety=false 2901 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.valid_topics 2902 +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.valid_topics[*] 2903 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output 2904 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.invalid_keywords 2905 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.invalid_keywords[*] 2906 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.pii 2907 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.pii.behavior 2908 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety 2909 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety=true 2910 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety=false 2911 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.valid_topics 2912 +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.valid_topics[*] 2913 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config 2914 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.catalog_name 2915 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled 2916 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled=true 2917 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled=false 2918 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.schema_name 2919 +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.table_name_prefix 2920 +resources.model_serving_endpoints.*.ai_gateway.rate_limits 2921 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*] 2922 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].calls 2923 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].key 2924 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].principal 2925 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].renewal_period 2926 +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].tokens 2927 +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config 2928 +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled 2929 +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled=true 2930 +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled=false 2931 +resources.model_serving_endpoints.*.budget_policy_id 2932 +resources.model_serving_endpoints.*.config 2933 +resources.model_serving_endpoints.*.config.auto_capture_config 2934 +resources.model_serving_endpoints.*.config.auto_capture_config.catalog_name 2935 +resources.model_serving_endpoints.*.config.auto_capture_config.enabled 2936 +resources.model_serving_endpoints.*.config.auto_capture_config.enabled=true 2937 +resources.model_serving_endpoints.*.config.auto_capture_config.enabled=false 2938 +resources.model_serving_endpoints.*.config.auto_capture_config.schema_name 2939 +resources.model_serving_endpoints.*.config.auto_capture_config.table_name_prefix 2940 +resources.model_serving_endpoints.*.config.served_entities 2941 +resources.model_serving_endpoints.*.config.served_entities[*] 2942 +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled 2943 +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled=true 2944 +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled=false 2945 +resources.model_serving_endpoints.*.config.served_entities[*].entity_name 2946 +resources.model_serving_endpoints.*.config.served_entities[*].entity_version 2947 +resources.model_serving_endpoints.*.config.served_entities[*].environment_vars 2948 +resources.model_serving_endpoints.*.config.served_entities[*].environment_vars.* 2949 +resources.model_serving_endpoints.*.config.served_entities[*].external_model 2950 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config 2951 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config.ai21labs_api_key 2952 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config.ai21labs_api_key_plaintext 2953 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config 2954 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_access_key_id 2955 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_access_key_id_plaintext 2956 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_region 2957 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key 2958 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key_plaintext 2959 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.bedrock_provider 2960 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.instance_profile_arn 2961 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.uc_service_credential_name 2962 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config 2963 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key 2964 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key_plaintext 2965 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config 2966 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_base 2967 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_key 2968 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_key_plaintext 2969 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config 2970 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth 2971 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.key 2972 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.value 2973 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.value_plaintext 2974 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth 2975 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth.token 2976 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth.token_plaintext 2977 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.custom_provider_url 2978 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config 2979 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_api_token 2980 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_api_token_plaintext 2981 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_workspace_url 2982 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config 2983 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.private_key 2984 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.private_key_plaintext 2985 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.project_id 2986 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.region 2987 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.name 2988 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config 2989 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_id 2990 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_secret 2991 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_secret_plaintext 2992 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_tenant_id 2993 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_base 2994 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_key 2995 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_key_plaintext 2996 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_type 2997 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_version 2998 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_deployment_name 2999 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_organization 3000 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config 3001 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config.palm_api_key 3002 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config.palm_api_key_plaintext 3003 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.provider 3004 +resources.model_serving_endpoints.*.config.served_entities[*].external_model.task 3005 +resources.model_serving_endpoints.*.config.served_entities[*].instance_profile_arn 3006 +resources.model_serving_endpoints.*.config.served_entities[*].max_provisioned_concurrency 3007 +resources.model_serving_endpoints.*.config.served_entities[*].max_provisioned_throughput 3008 +resources.model_serving_endpoints.*.config.served_entities[*].min_provisioned_concurrency 3009 +resources.model_serving_endpoints.*.config.served_entities[*].min_provisioned_throughput 3010 +resources.model_serving_endpoints.*.config.served_entities[*].name 3011 +resources.model_serving_endpoints.*.config.served_entities[*].provisioned_model_units 3012 +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled 3013 +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled=true 3014 +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled=false 3015 +resources.model_serving_endpoints.*.config.served_entities[*].workload_size 3016 +resources.model_serving_endpoints.*.config.served_entities[*].workload_type 3017 +resources.model_serving_endpoints.*.config.served_models 3018 +resources.model_serving_endpoints.*.config.served_models[*] 3019 +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled 3020 +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled=true 3021 +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled=false 3022 +resources.model_serving_endpoints.*.config.served_models[*].environment_vars 3023 +resources.model_serving_endpoints.*.config.served_models[*].environment_vars.* 3024 +resources.model_serving_endpoints.*.config.served_models[*].instance_profile_arn 3025 +resources.model_serving_endpoints.*.config.served_models[*].max_provisioned_concurrency 3026 +resources.model_serving_endpoints.*.config.served_models[*].max_provisioned_throughput 3027 +resources.model_serving_endpoints.*.config.served_models[*].min_provisioned_concurrency 3028 +resources.model_serving_endpoints.*.config.served_models[*].min_provisioned_throughput 3029 +resources.model_serving_endpoints.*.config.served_models[*].model_name 3030 +resources.model_serving_endpoints.*.config.served_models[*].model_version 3031 +resources.model_serving_endpoints.*.config.served_models[*].name 3032 +resources.model_serving_endpoints.*.config.served_models[*].provisioned_model_units 3033 +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled 3034 +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled=true 3035 +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled=false 3036 +resources.model_serving_endpoints.*.config.served_models[*].workload_size 3037 +resources.model_serving_endpoints.*.config.served_models[*].workload_type 3038 +resources.model_serving_endpoints.*.config.traffic_config 3039 +resources.model_serving_endpoints.*.config.traffic_config.routes 3040 +resources.model_serving_endpoints.*.config.traffic_config.routes[*] 3041 +resources.model_serving_endpoints.*.config.traffic_config.routes[*].served_entity_name 3042 +resources.model_serving_endpoints.*.config.traffic_config.routes[*].served_model_name 3043 +resources.model_serving_endpoints.*.config.traffic_config.routes[*].traffic_percentage 3044 +resources.model_serving_endpoints.*.description 3045 +resources.model_serving_endpoints.*.email_notifications 3046 +resources.model_serving_endpoints.*.email_notifications.on_update_failure 3047 +resources.model_serving_endpoints.*.email_notifications.on_update_failure[*] 3048 +resources.model_serving_endpoints.*.email_notifications.on_update_success 3049 +resources.model_serving_endpoints.*.email_notifications.on_update_success[*] 3050 +resources.model_serving_endpoints.*.name 3051 +resources.model_serving_endpoints.*.rate_limits 3052 +resources.model_serving_endpoints.*.rate_limits[*] 3053 +resources.model_serving_endpoints.*.rate_limits[*].calls 3054 +resources.model_serving_endpoints.*.rate_limits[*].key 3055 +resources.model_serving_endpoints.*.rate_limits[*].renewal_period 3056 +resources.model_serving_endpoints.*.route_optimized 3057 +resources.model_serving_endpoints.*.route_optimized=true 3058 +resources.model_serving_endpoints.*.route_optimized=false 3059 +resources.model_serving_endpoints.*.tags 3060 +resources.model_serving_endpoints.*.tags[*] 3061 +resources.model_serving_endpoints.*.tags[*].key 3062 +resources.model_serving_endpoints.*.tags[*].value 3063 +resources.model_serving_endpoints.*.telemetry_config 3064 +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features 3065 +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features[*] 3066 +resources.model_serving_endpoints.*.telemetry_config.inference_table_config 3067 +resources.model_serving_endpoints.*.telemetry_config.inference_table_config.name 3068 +resources.model_serving_endpoints.*.telemetry_config.inference_table_config.sampling_fraction 3069 +resources.model_serving_endpoints.*.telemetry_config.table_names 3070 +resources.model_serving_endpoints.*.telemetry_config.table_names.annotations_table 3071 +resources.model_serving_endpoints.*.telemetry_config.table_names.logs_table 3072 +resources.model_serving_endpoints.*.telemetry_config.table_names.metrics_table 3073 +resources.model_serving_endpoints.*.telemetry_config.table_names.traces_table 3074 +resources.model_serving_endpoints.*.telemetry_config.telemetry_profile_id 3075 +resources.model_serving_endpoints.*.permissions 3076 +resources.model_serving_endpoints.*.permissions[*] 3077 +resources.model_serving_endpoints.*.permissions[*].level 3078 +resources.model_serving_endpoints.*.permissions[*].user_name 3079 +resources.model_serving_endpoints.*.permissions[*].service_principal_name 3080 +resources.model_serving_endpoints.*.permissions[*].group_name 3081 diff --git a/acceptance/bundle/bitmap/full/output/models.txt b/acceptance/bundle/bitmap/full/output/models.txt new file mode 100644 index 00000000000..09b16bf7b14 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/models.txt @@ -0,0 +1,24 @@ +resources.models 2822 +resources.models.* 2823 +resources.models.*.url 2824 +resources.models.*.modified_status 2825 +resources.models.*.lifecycle 2826 +resources.models.*.lifecycle.prevent_destroy 2827 +resources.models.*.lifecycle.prevent_destroy=true 2828 +resources.models.*.lifecycle.prevent_destroy=false 2829 +resources.models.*.lifecycle.depends_on 2830 +resources.models.*.lifecycle.depends_on[*] 2831 +resources.models.*.lifecycle.depends_on[*].resource 2832 +resources.models.*.id 2833 +resources.models.*.description 2834 +resources.models.*.name 2835 +resources.models.*.tags 2836 +resources.models.*.tags[*] 2837 +resources.models.*.tags[*].key 2838 +resources.models.*.tags[*].value 2839 +resources.models.*.permissions 2840 +resources.models.*.permissions[*] 2841 +resources.models.*.permissions[*].level 2842 +resources.models.*.permissions[*].user_name 2843 +resources.models.*.permissions[*].service_principal_name 2844 +resources.models.*.permissions[*].group_name 2845 diff --git a/acceptance/bundle/bitmap/full/output/pipelines.txt b/acceptance/bundle/bitmap/full/output/pipelines.txt new file mode 100644 index 00000000000..8125845366b --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/pipelines.txt @@ -0,0 +1,986 @@ +resources.pipelines 1582 +resources.pipelines.* 1583 +resources.pipelines.*.url 1584 +resources.pipelines.*.modified_status 1585 +resources.pipelines.*.lifecycle 1586 +resources.pipelines.*.lifecycle.prevent_destroy 1587 +resources.pipelines.*.lifecycle.prevent_destroy=true 1588 +resources.pipelines.*.lifecycle.prevent_destroy=false 1589 +resources.pipelines.*.lifecycle.depends_on 1590 +resources.pipelines.*.lifecycle.depends_on[*] 1591 +resources.pipelines.*.lifecycle.depends_on[*].resource 1592 +resources.pipelines.*.allow_duplicate_names 1593 +resources.pipelines.*.allow_duplicate_names=true 1594 +resources.pipelines.*.allow_duplicate_names=false 1595 +resources.pipelines.*.budget_policy_id 1596 +resources.pipelines.*.catalog 1597 +resources.pipelines.*.channel 1598 +resources.pipelines.*.clusters 1599 +resources.pipelines.*.clusters[*] 1600 +resources.pipelines.*.clusters[*].apply_policy_default_values 1601 +resources.pipelines.*.clusters[*].apply_policy_default_values=true 1602 +resources.pipelines.*.clusters[*].apply_policy_default_values=false 1603 +resources.pipelines.*.clusters[*].autoscale 1604 +resources.pipelines.*.clusters[*].autoscale.max_workers 1605 +resources.pipelines.*.clusters[*].autoscale.min_workers 1606 +resources.pipelines.*.clusters[*].autoscale.mode 1607 +resources.pipelines.*.clusters[*].aws_attributes 1608 +resources.pipelines.*.clusters[*].aws_attributes.availability 1609 +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_count 1610 +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_iops 1611 +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_size 1612 +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_throughput 1613 +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_type 1614 +resources.pipelines.*.clusters[*].aws_attributes.first_on_demand 1615 +resources.pipelines.*.clusters[*].aws_attributes.instance_profile_arn 1616 +resources.pipelines.*.clusters[*].aws_attributes.spot_bid_price_percent 1617 +resources.pipelines.*.clusters[*].aws_attributes.zone_id 1618 +resources.pipelines.*.clusters[*].azure_attributes 1619 +resources.pipelines.*.clusters[*].azure_attributes.availability 1620 +resources.pipelines.*.clusters[*].azure_attributes.capacity_reservation_group 1621 +resources.pipelines.*.clusters[*].azure_attributes.first_on_demand 1622 +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info 1623 +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info.log_analytics_primary_key 1624 +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info.log_analytics_workspace_id 1625 +resources.pipelines.*.clusters[*].azure_attributes.spot_bid_max_price 1626 +resources.pipelines.*.clusters[*].cluster_log_conf 1627 +resources.pipelines.*.clusters[*].cluster_log_conf.dbfs 1628 +resources.pipelines.*.clusters[*].cluster_log_conf.dbfs.destination 1629 +resources.pipelines.*.clusters[*].cluster_log_conf.s3 1630 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.canned_acl 1631 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.destination 1632 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption 1633 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption=true 1634 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption=false 1635 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.encryption_type 1636 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.endpoint 1637 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.kms_key 1638 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.region 1639 +resources.pipelines.*.clusters[*].cluster_log_conf.volumes 1640 +resources.pipelines.*.clusters[*].cluster_log_conf.volumes.destination 1641 +resources.pipelines.*.clusters[*].custom_tags 1642 +resources.pipelines.*.clusters[*].custom_tags.* 1643 +resources.pipelines.*.clusters[*].driver_instance_pool_id 1644 +resources.pipelines.*.clusters[*].driver_node_type_id 1645 +resources.pipelines.*.clusters[*].enable_local_disk_encryption 1646 +resources.pipelines.*.clusters[*].enable_local_disk_encryption=true 1647 +resources.pipelines.*.clusters[*].enable_local_disk_encryption=false 1648 +resources.pipelines.*.clusters[*].gcp_attributes 1649 +resources.pipelines.*.clusters[*].gcp_attributes.availability 1650 +resources.pipelines.*.clusters[*].gcp_attributes.boot_disk_size 1651 +resources.pipelines.*.clusters[*].gcp_attributes.confidential_compute_type 1652 +resources.pipelines.*.clusters[*].gcp_attributes.first_on_demand 1653 +resources.pipelines.*.clusters[*].gcp_attributes.google_service_account 1654 +resources.pipelines.*.clusters[*].gcp_attributes.local_ssd_count 1655 +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors 1656 +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors=true 1657 +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors=false 1658 +resources.pipelines.*.clusters[*].gcp_attributes.zone_id 1659 +resources.pipelines.*.clusters[*].init_scripts 1660 +resources.pipelines.*.clusters[*].init_scripts[*] 1661 +resources.pipelines.*.clusters[*].init_scripts[*].abfss 1662 +resources.pipelines.*.clusters[*].init_scripts[*].abfss.destination 1663 +resources.pipelines.*.clusters[*].init_scripts[*].dbfs 1664 +resources.pipelines.*.clusters[*].init_scripts[*].dbfs.destination 1665 +resources.pipelines.*.clusters[*].init_scripts[*].file 1666 +resources.pipelines.*.clusters[*].init_scripts[*].file.destination 1667 +resources.pipelines.*.clusters[*].init_scripts[*].gcs 1668 +resources.pipelines.*.clusters[*].init_scripts[*].gcs.destination 1669 +resources.pipelines.*.clusters[*].init_scripts[*].s3 1670 +resources.pipelines.*.clusters[*].init_scripts[*].s3.canned_acl 1671 +resources.pipelines.*.clusters[*].init_scripts[*].s3.destination 1672 +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption 1673 +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption=true 1674 +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption=false 1675 +resources.pipelines.*.clusters[*].init_scripts[*].s3.encryption_type 1676 +resources.pipelines.*.clusters[*].init_scripts[*].s3.endpoint 1677 +resources.pipelines.*.clusters[*].init_scripts[*].s3.kms_key 1678 +resources.pipelines.*.clusters[*].init_scripts[*].s3.region 1679 +resources.pipelines.*.clusters[*].init_scripts[*].volumes 1680 +resources.pipelines.*.clusters[*].init_scripts[*].volumes.destination 1681 +resources.pipelines.*.clusters[*].init_scripts[*].workspace 1682 +resources.pipelines.*.clusters[*].init_scripts[*].workspace.destination 1683 +resources.pipelines.*.clusters[*].instance_pool_id 1684 +resources.pipelines.*.clusters[*].label 1685 +resources.pipelines.*.clusters[*].node_type_id 1686 +resources.pipelines.*.clusters[*].num_workers 1687 +resources.pipelines.*.clusters[*].policy_id 1688 +resources.pipelines.*.clusters[*].spark_conf 1689 +resources.pipelines.*.clusters[*].spark_conf.* 1690 +resources.pipelines.*.clusters[*].spark_env_vars 1691 +resources.pipelines.*.clusters[*].spark_env_vars.* 1692 +resources.pipelines.*.clusters[*].ssh_public_keys 1693 +resources.pipelines.*.clusters[*].ssh_public_keys[*] 1694 +resources.pipelines.*.configuration 1695 +resources.pipelines.*.configuration.* 1696 +resources.pipelines.*.continuous 1697 +resources.pipelines.*.continuous=true 1698 +resources.pipelines.*.continuous=false 1699 +resources.pipelines.*.deployment 1700 +resources.pipelines.*.deployment.deployment_id 1701 +resources.pipelines.*.deployment.kind 1702 +resources.pipelines.*.deployment.metadata_file_path 1703 +resources.pipelines.*.deployment.version_id 1704 +resources.pipelines.*.development 1705 +resources.pipelines.*.development=true 1706 +resources.pipelines.*.development=false 1707 +resources.pipelines.*.dry_run 1708 +resources.pipelines.*.dry_run=true 1709 +resources.pipelines.*.dry_run=false 1710 +resources.pipelines.*.edition 1711 +resources.pipelines.*.environment 1712 +resources.pipelines.*.environment.dependencies 1713 +resources.pipelines.*.environment.dependencies[*] 1714 +resources.pipelines.*.environment.environment_version 1715 +resources.pipelines.*.event_log 1716 +resources.pipelines.*.event_log.catalog 1717 +resources.pipelines.*.event_log.name 1718 +resources.pipelines.*.event_log.schema 1719 +resources.pipelines.*.filters 1720 +resources.pipelines.*.filters.exclude 1721 +resources.pipelines.*.filters.exclude[*] 1722 +resources.pipelines.*.filters.include 1723 +resources.pipelines.*.filters.include[*] 1724 +resources.pipelines.*.gateway_definition 1725 +resources.pipelines.*.gateway_definition.connection_id 1726 +resources.pipelines.*.gateway_definition.connection_name 1727 +resources.pipelines.*.gateway_definition.connection_parameters 1728 +resources.pipelines.*.gateway_definition.connection_parameters.source_catalog 1729 +resources.pipelines.*.gateway_definition.gateway_storage_catalog 1730 +resources.pipelines.*.gateway_definition.gateway_storage_name 1731 +resources.pipelines.*.gateway_definition.gateway_storage_schema 1732 +resources.pipelines.*.id 1733 +resources.pipelines.*.ingestion_definition 1734 +resources.pipelines.*.ingestion_definition.connection_name 1735 +resources.pipelines.*.ingestion_definition.connector_type 1736 +resources.pipelines.*.ingestion_definition.data_staging_options 1737 +resources.pipelines.*.ingestion_definition.data_staging_options.catalog_name 1738 +resources.pipelines.*.ingestion_definition.data_staging_options.schema_name 1739 +resources.pipelines.*.ingestion_definition.data_staging_options.volume_name 1740 +resources.pipelines.*.ingestion_definition.full_refresh_window 1741 +resources.pipelines.*.ingestion_definition.full_refresh_window.days_of_week 1742 +resources.pipelines.*.ingestion_definition.full_refresh_window.days_of_week[*] 1743 +resources.pipelines.*.ingestion_definition.full_refresh_window.start_hour 1744 +resources.pipelines.*.ingestion_definition.full_refresh_window.time_zone_id 1745 +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog 1746 +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog=true 1747 +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog=false 1748 +resources.pipelines.*.ingestion_definition.ingestion_gateway_id 1749 +resources.pipelines.*.ingestion_definition.netsuite_jar_path 1750 +resources.pipelines.*.ingestion_definition.objects 1751 +resources.pipelines.*.ingestion_definition.objects[*] 1752 +resources.pipelines.*.ingestion_definition.objects[*].report 1753 +resources.pipelines.*.ingestion_definition.objects[*].report.destination_catalog 1754 +resources.pipelines.*.ingestion_definition.objects[*].report.destination_schema 1755 +resources.pipelines.*.ingestion_definition.objects[*].report.destination_table 1756 +resources.pipelines.*.ingestion_definition.objects[*].report.source_url 1757 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration 1758 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy 1759 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled 1760 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled=true 1761 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled=false 1762 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.min_interval_hours 1763 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.clustering_columns 1764 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.clustering_columns[*] 1765 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering 1766 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering=true 1767 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering=false 1768 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.exclude_columns 1769 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.exclude_columns[*] 1770 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.include_columns 1771 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.include_columns[*] 1772 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.primary_keys 1773 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.primary_keys[*] 1774 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config 1775 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.cursor_columns 1776 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.cursor_columns[*] 1777 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.deletion_condition 1778 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds 1779 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.row_filter 1780 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields 1781 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields=true 1782 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields=false 1783 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.scd_type 1784 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.sequence_by 1785 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.sequence_by[*] 1786 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.source_metadata_column 1787 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.table_properties 1788 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.table_properties.* 1789 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters 1790 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental 1791 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental=true 1792 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental=false 1793 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.parameters 1794 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.parameters.* 1795 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters 1796 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*] 1797 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*].key 1798 +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*].value 1799 +resources.pipelines.*.ingestion_definition.objects[*].schema 1800 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options 1801 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options 1802 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options.options 1803 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options.options.* 1804 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options 1805 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options.include_confluence_spaces 1806 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options.include_confluence_spaces[*] 1807 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options 1808 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.entity_type 1809 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options 1810 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.corrupt_record_column 1811 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters 1812 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*] 1813 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_after 1814 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_before 1815 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].path_filter 1816 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format 1817 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format_options 1818 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format_options.* 1819 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files 1820 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=true 1821 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=false 1822 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types 1823 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types=true 1824 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types=false 1825 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive 1826 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=true 1827 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=false 1828 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.rescued_data_column 1829 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode 1830 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.schema_hints 1831 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.single_variant_column 1832 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.url 1833 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options 1834 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options 1835 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.metrics 1836 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.metrics[*] 1837 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource 1838 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource_fields 1839 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource_fields[*] 1840 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.segments 1841 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.segments[*] 1842 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.lookback_window_days 1843 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.manager_account_id 1844 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.sync_start_date 1845 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options 1846 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options.include_jira_spaces 1847 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options.include_jira_spaces[*] 1848 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options 1849 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config 1850 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config.* 1851 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer 1852 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options 1853 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.parse_mode 1854 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema 1855 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_file_path 1856 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry 1857 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options 1858 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject 1859 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name 1860 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name 1861 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.format 1862 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.input_column 1863 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options 1864 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant 1865 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant=true 1866 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant=false 1867 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema 1868 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode 1869 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_file_path 1870 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_hints 1871 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.output_column 1872 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options 1873 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path 1874 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.message_name 1875 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode 1876 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth 1877 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry 1878 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options 1879 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject 1880 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name 1881 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name 1882 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.max_offsets_per_trigger 1883 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.starting_offset 1884 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topic_pattern 1885 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics 1886 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics[*] 1887 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer 1888 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options 1889 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.parse_mode 1890 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema 1891 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_file_path 1892 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry 1893 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options 1894 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject 1895 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name 1896 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name 1897 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.format 1898 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.input_column 1899 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options 1900 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant 1901 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant=true 1902 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant=false 1903 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema 1904 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode 1905 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_file_path 1906 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_hints 1907 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.output_column 1908 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options 1909 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path 1910 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.message_name 1911 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode 1912 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth 1913 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry 1914 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options 1915 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject 1916 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name 1917 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name 1918 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options 1919 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options 1920 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity 1921 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] 1922 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.finder 1923 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics 1924 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics[*] 1925 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity 1926 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.lookback_window_days 1927 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.sync_start_date 1928 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options 1929 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options.sync_start_date 1930 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options 1931 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows 1932 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows[*] 1933 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_breakdowns 1934 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_breakdowns[*] 1935 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_report_time 1936 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.breakdowns 1937 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.breakdowns[*] 1938 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_insights_lookback_window 1939 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options 1940 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_attribution_windows 1941 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_attribution_windows[*] 1942 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_breakdowns 1943 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_breakdowns[*] 1944 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_report_time 1945 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.breakdowns 1946 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.breakdowns[*] 1947 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.level 1948 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.time_increment 1949 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.level 1950 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.start_date 1951 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.time_increment 1952 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options 1953 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.entity_type 1954 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options 1955 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.corrupt_record_column 1956 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters 1957 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*] 1958 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_after 1959 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_before 1960 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].path_filter 1961 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format 1962 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format_options 1963 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format_options.* 1964 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files 1965 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=true 1966 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=false 1967 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types 1968 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types=true 1969 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types=false 1970 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive 1971 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=true 1972 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=false 1973 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.rescued_data_column 1974 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.schema_evolution_mode 1975 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.schema_hints 1976 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.single_variant_column 1977 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.url 1978 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options 1979 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.attachment_mode 1980 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.body_format 1981 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.folder_filter 1982 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.folder_filter[*] 1983 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_folders 1984 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_folders[*] 1985 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_mailboxes 1986 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_mailboxes[*] 1987 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_senders 1988 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_senders[*] 1989 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_subjects 1990 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_subjects[*] 1991 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.sender_filter 1992 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.sender_filter[*] 1993 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.start_date 1994 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter 1995 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter[*] 1996 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options 1997 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options.queue 1998 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options 1999 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options 2000 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.breakdowns 2001 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.breakdowns[*] 2002 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.fields 2003 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.fields[*] 2004 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.lookback_window_days 2005 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.sync_start_date 2006 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options 2007 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.entity_type 2008 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options 2009 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.corrupt_record_column 2010 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters 2011 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*] 2012 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_after 2013 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_before 2014 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].path_filter 2015 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format 2016 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format_options 2017 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format_options.* 2018 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files 2019 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=true 2020 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=false 2021 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types 2022 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=true 2023 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=false 2024 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive 2025 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=true 2026 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=false 2027 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.rescued_data_column 2028 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.schema_evolution_mode 2029 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.schema_hints 2030 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.single_variant_column 2031 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.url 2032 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options 2033 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema 2034 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema=true 2035 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema=false 2036 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options 2037 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options 2038 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.data_level 2039 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.dimensions 2040 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.dimensions[*] 2041 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.metrics 2042 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.metrics[*] 2043 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime 2044 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=true 2045 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=false 2046 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.report_type 2047 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.data_level 2048 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.dimensions 2049 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.dimensions[*] 2050 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.lookback_window_days 2051 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.metrics 2052 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.metrics[*] 2053 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime 2054 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime=true 2055 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime=false 2056 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.report_type 2057 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.sync_start_date 2058 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.zendesk_support_options 2059 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.zendesk_support_options.start_date 2060 +resources.pipelines.*.ingestion_definition.objects[*].schema.destination_catalog 2061 +resources.pipelines.*.ingestion_definition.objects[*].schema.destination_schema 2062 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options 2063 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.fanout_by 2064 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms 2065 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*] 2066 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options 2067 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.parse_mode 2068 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema 2069 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_file_path 2070 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry 2071 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options 2072 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options.subject 2073 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.connection_name 2074 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.protobuf_message_name 2075 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].format 2076 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].input_column 2077 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options 2078 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant 2079 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant=true 2080 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant=false 2081 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema 2082 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_evolution_mode 2083 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_file_path 2084 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_hints 2085 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].output_column 2086 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options 2087 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.desc_file_path 2088 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.message_name 2089 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.parse_mode 2090 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.recursive_fields_max_depth 2091 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry 2092 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options 2093 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options.subject 2094 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.connection_name 2095 +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.protobuf_message_name 2096 +resources.pipelines.*.ingestion_definition.objects[*].schema.source_catalog 2097 +resources.pipelines.*.ingestion_definition.objects[*].schema.source_schema 2098 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration 2099 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy 2100 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled 2101 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled=true 2102 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled=false 2103 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.min_interval_hours 2104 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.clustering_columns 2105 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.clustering_columns[*] 2106 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering 2107 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering=true 2108 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering=false 2109 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.exclude_columns 2110 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.exclude_columns[*] 2111 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.include_columns 2112 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.include_columns[*] 2113 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.primary_keys 2114 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.primary_keys[*] 2115 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config 2116 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.cursor_columns 2117 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.cursor_columns[*] 2118 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.deletion_condition 2119 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds 2120 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.row_filter 2121 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields 2122 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields=true 2123 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields=false 2124 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.scd_type 2125 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.sequence_by 2126 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.sequence_by[*] 2127 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.source_metadata_column 2128 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.table_properties 2129 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.table_properties.* 2130 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters 2131 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental 2132 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental=true 2133 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental=false 2134 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.parameters 2135 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.parameters.* 2136 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters 2137 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*] 2138 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*].key 2139 +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*].value 2140 +resources.pipelines.*.ingestion_definition.objects[*].table 2141 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options 2142 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options 2143 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options.options 2144 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options.options.* 2145 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options 2146 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options.include_confluence_spaces 2147 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options.include_confluence_spaces[*] 2148 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options 2149 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.entity_type 2150 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options 2151 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.corrupt_record_column 2152 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters 2153 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*] 2154 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_after 2155 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_before 2156 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].path_filter 2157 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format 2158 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format_options 2159 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format_options.* 2160 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files 2161 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=true 2162 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=false 2163 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types 2164 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types=true 2165 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types=false 2166 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive 2167 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=true 2168 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=false 2169 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.rescued_data_column 2170 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode 2171 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.schema_hints 2172 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.single_variant_column 2173 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.url 2174 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options 2175 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options 2176 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.metrics 2177 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.metrics[*] 2178 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource 2179 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource_fields 2180 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource_fields[*] 2181 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.segments 2182 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.segments[*] 2183 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.lookback_window_days 2184 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.manager_account_id 2185 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.sync_start_date 2186 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options 2187 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options.include_jira_spaces 2188 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options.include_jira_spaces[*] 2189 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options 2190 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config 2191 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config.* 2192 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer 2193 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options 2194 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.parse_mode 2195 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema 2196 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_file_path 2197 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry 2198 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options 2199 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject 2200 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name 2201 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name 2202 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.format 2203 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.input_column 2204 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options 2205 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant 2206 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant=true 2207 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant=false 2208 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema 2209 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode 2210 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_file_path 2211 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_hints 2212 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.output_column 2213 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options 2214 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path 2215 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.message_name 2216 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode 2217 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth 2218 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry 2219 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options 2220 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject 2221 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name 2222 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name 2223 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.max_offsets_per_trigger 2224 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.starting_offset 2225 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topic_pattern 2226 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics 2227 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics[*] 2228 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer 2229 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options 2230 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.parse_mode 2231 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema 2232 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_file_path 2233 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry 2234 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options 2235 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject 2236 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name 2237 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name 2238 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.format 2239 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.input_column 2240 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options 2241 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant 2242 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant=true 2243 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant=false 2244 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema 2245 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode 2246 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_file_path 2247 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_hints 2248 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.output_column 2249 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options 2250 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path 2251 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.message_name 2252 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode 2253 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth 2254 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry 2255 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options 2256 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject 2257 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name 2258 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name 2259 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options 2260 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options 2261 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity 2262 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] 2263 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.finder 2264 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics 2265 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics[*] 2266 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.time_granularity 2267 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.lookback_window_days 2268 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.sync_start_date 2269 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options 2270 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options.sync_start_date 2271 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options 2272 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows 2273 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows[*] 2274 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_breakdowns 2275 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_breakdowns[*] 2276 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_report_time 2277 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.breakdowns 2278 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.breakdowns[*] 2279 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_insights_lookback_window 2280 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options 2281 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_attribution_windows 2282 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_attribution_windows[*] 2283 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_breakdowns 2284 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_breakdowns[*] 2285 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_report_time 2286 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.breakdowns 2287 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.breakdowns[*] 2288 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.level 2289 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.time_increment 2290 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.level 2291 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.start_date 2292 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.time_increment 2293 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options 2294 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.entity_type 2295 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options 2296 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.corrupt_record_column 2297 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters 2298 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*] 2299 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_after 2300 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_before 2301 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].path_filter 2302 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format 2303 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format_options 2304 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format_options.* 2305 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files 2306 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=true 2307 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=false 2308 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types 2309 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types=true 2310 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types=false 2311 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive 2312 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=true 2313 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=false 2314 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.rescued_data_column 2315 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.schema_evolution_mode 2316 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.schema_hints 2317 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.single_variant_column 2318 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.url 2319 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options 2320 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.attachment_mode 2321 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.body_format 2322 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.folder_filter 2323 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.folder_filter[*] 2324 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_folders 2325 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_folders[*] 2326 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_mailboxes 2327 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_mailboxes[*] 2328 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_senders 2329 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_senders[*] 2330 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_subjects 2331 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_subjects[*] 2332 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.sender_filter 2333 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.sender_filter[*] 2334 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.start_date 2335 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter 2336 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter[*] 2337 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options 2338 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options.queue 2339 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options 2340 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options 2341 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.breakdowns 2342 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.breakdowns[*] 2343 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.fields 2344 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.fields[*] 2345 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.lookback_window_days 2346 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.sync_start_date 2347 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options 2348 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.entity_type 2349 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options 2350 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.corrupt_record_column 2351 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters 2352 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*] 2353 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_after 2354 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_before 2355 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].path_filter 2356 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format 2357 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format_options 2358 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format_options.* 2359 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files 2360 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=true 2361 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=false 2362 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types 2363 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=true 2364 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=false 2365 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive 2366 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=true 2367 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=false 2368 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.rescued_data_column 2369 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.schema_evolution_mode 2370 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.schema_hints 2371 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.single_variant_column 2372 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.url 2373 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options 2374 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema 2375 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema=true 2376 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema=false 2377 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options 2378 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options 2379 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.data_level 2380 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.dimensions 2381 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.dimensions[*] 2382 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.metrics 2383 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.metrics[*] 2384 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime 2385 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=true 2386 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=false 2387 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.report_type 2388 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.data_level 2389 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.dimensions 2390 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.dimensions[*] 2391 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.lookback_window_days 2392 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.metrics 2393 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.metrics[*] 2394 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime 2395 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime=true 2396 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime=false 2397 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.report_type 2398 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.sync_start_date 2399 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.zendesk_support_options 2400 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.zendesk_support_options.start_date 2401 +resources.pipelines.*.ingestion_definition.objects[*].table.destination_catalog 2402 +resources.pipelines.*.ingestion_definition.objects[*].table.destination_schema 2403 +resources.pipelines.*.ingestion_definition.objects[*].table.destination_table 2404 +resources.pipelines.*.ingestion_definition.objects[*].table.source_catalog 2405 +resources.pipelines.*.ingestion_definition.objects[*].table.source_schema 2406 +resources.pipelines.*.ingestion_definition.objects[*].table.source_table 2407 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration 2408 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy 2409 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled 2410 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled=true 2411 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled=false 2412 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.min_interval_hours 2413 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.clustering_columns 2414 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.clustering_columns[*] 2415 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering 2416 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering=true 2417 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering=false 2418 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.exclude_columns 2419 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.exclude_columns[*] 2420 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.include_columns 2421 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.include_columns[*] 2422 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.primary_keys 2423 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.primary_keys[*] 2424 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config 2425 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.cursor_columns 2426 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.cursor_columns[*] 2427 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.deletion_condition 2428 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds 2429 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.row_filter 2430 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields 2431 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields=true 2432 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields=false 2433 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.scd_type 2434 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.sequence_by 2435 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.sequence_by[*] 2436 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.source_metadata_column 2437 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.table_properties 2438 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.table_properties.* 2439 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters 2440 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental 2441 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental=true 2442 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental=false 2443 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.parameters 2444 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.parameters.* 2445 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters 2446 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*] 2447 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*].key 2448 +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*].value 2449 +resources.pipelines.*.ingestion_definition.source_configurations 2450 +resources.pipelines.*.ingestion_definition.source_configurations[*] 2451 +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config 2452 +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config.configs 2453 +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config.configs.* 2454 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog 2455 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres 2456 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config 2457 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config.publication_name 2458 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config.slot_name 2459 +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.source_catalog 2460 +resources.pipelines.*.ingestion_definition.source_configurations[*].google_ads_config 2461 +resources.pipelines.*.ingestion_definition.source_configurations[*].google_ads_config.manager_account_id 2462 +resources.pipelines.*.ingestion_definition.source_type 2463 +resources.pipelines.*.ingestion_definition.table_configuration 2464 +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy 2465 +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled 2466 +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled=true 2467 +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled=false 2468 +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.min_interval_hours 2469 +resources.pipelines.*.ingestion_definition.table_configuration.clustering_columns 2470 +resources.pipelines.*.ingestion_definition.table_configuration.clustering_columns[*] 2471 +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering 2472 +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering=true 2473 +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering=false 2474 +resources.pipelines.*.ingestion_definition.table_configuration.exclude_columns 2475 +resources.pipelines.*.ingestion_definition.table_configuration.exclude_columns[*] 2476 +resources.pipelines.*.ingestion_definition.table_configuration.include_columns 2477 +resources.pipelines.*.ingestion_definition.table_configuration.include_columns[*] 2478 +resources.pipelines.*.ingestion_definition.table_configuration.primary_keys 2479 +resources.pipelines.*.ingestion_definition.table_configuration.primary_keys[*] 2480 +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config 2481 +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.cursor_columns 2482 +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.cursor_columns[*] 2483 +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.deletion_condition 2484 +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds 2485 +resources.pipelines.*.ingestion_definition.table_configuration.row_filter 2486 +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields 2487 +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields=true 2488 +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields=false 2489 +resources.pipelines.*.ingestion_definition.table_configuration.scd_type 2490 +resources.pipelines.*.ingestion_definition.table_configuration.sequence_by 2491 +resources.pipelines.*.ingestion_definition.table_configuration.sequence_by[*] 2492 +resources.pipelines.*.ingestion_definition.table_configuration.source_metadata_column 2493 +resources.pipelines.*.ingestion_definition.table_configuration.table_properties 2494 +resources.pipelines.*.ingestion_definition.table_configuration.table_properties.* 2495 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters 2496 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental 2497 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental=true 2498 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental=false 2499 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.parameters 2500 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.parameters.* 2501 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters 2502 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*] 2503 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*].key 2504 +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*].value 2505 +resources.pipelines.*.libraries 2506 +resources.pipelines.*.libraries[*] 2507 +resources.pipelines.*.libraries[*].file 2508 +resources.pipelines.*.libraries[*].file.path 2509 +resources.pipelines.*.libraries[*].glob 2510 +resources.pipelines.*.libraries[*].glob.include 2511 +resources.pipelines.*.libraries[*].jar 2512 +resources.pipelines.*.libraries[*].maven 2513 +resources.pipelines.*.libraries[*].maven.coordinates 2514 +resources.pipelines.*.libraries[*].maven.exclusions 2515 +resources.pipelines.*.libraries[*].maven.exclusions[*] 2516 +resources.pipelines.*.libraries[*].maven.repo 2517 +resources.pipelines.*.libraries[*].notebook 2518 +resources.pipelines.*.libraries[*].notebook.path 2519 +resources.pipelines.*.libraries[*].whl 2520 +resources.pipelines.*.name 2521 +resources.pipelines.*.notifications 2522 +resources.pipelines.*.notifications[*] 2523 +resources.pipelines.*.notifications[*].alerts 2524 +resources.pipelines.*.notifications[*].alerts[*] 2525 +resources.pipelines.*.notifications[*].email_recipients 2526 +resources.pipelines.*.notifications[*].email_recipients[*] 2527 +resources.pipelines.*.parameters 2528 +resources.pipelines.*.parameters.* 2529 +resources.pipelines.*.parent_path 2530 +resources.pipelines.*.photon 2531 +resources.pipelines.*.photon=true 2532 +resources.pipelines.*.photon=false 2533 +resources.pipelines.*.restart_window 2534 +resources.pipelines.*.restart_window.days_of_week 2535 +resources.pipelines.*.restart_window.days_of_week[*] 2536 +resources.pipelines.*.restart_window.start_hour 2537 +resources.pipelines.*.restart_window.time_zone_id 2538 +resources.pipelines.*.root_path 2539 +resources.pipelines.*.run_as 2540 +resources.pipelines.*.run_as.group_name 2541 +resources.pipelines.*.run_as.service_principal_name 2542 +resources.pipelines.*.run_as.user_name 2543 +resources.pipelines.*.schema 2544 +resources.pipelines.*.serverless 2545 +resources.pipelines.*.serverless=true 2546 +resources.pipelines.*.serverless=false 2547 +resources.pipelines.*.serverless_compute_id 2548 +resources.pipelines.*.storage 2549 +resources.pipelines.*.tags 2550 +resources.pipelines.*.tags.* 2551 +resources.pipelines.*.target 2552 +resources.pipelines.*.trigger 2553 +resources.pipelines.*.trigger.cron 2554 +resources.pipelines.*.trigger.cron.quartz_cron_schedule 2555 +resources.pipelines.*.trigger.cron.timezone_id 2556 +resources.pipelines.*.trigger.manual 2557 +resources.pipelines.*.usage_policy_id 2558 +resources.pipelines.*.permissions 2559 +resources.pipelines.*.permissions[*] 2560 +resources.pipelines.*.permissions[*].level 2561 +resources.pipelines.*.permissions[*].user_name 2562 +resources.pipelines.*.permissions[*].service_principal_name 2563 +resources.pipelines.*.permissions[*].group_name 2564 +resources.pipelines.*.cascade_on_destroy 2565 +resources.pipelines.*.cascade_on_destroy=true 2566 +resources.pipelines.*.cascade_on_destroy=false 2567 diff --git a/acceptance/bundle/bitmap/full/output/postgres_branches.txt b/acceptance/bundle/bitmap/full/output/postgres_branches.txt new file mode 100644 index 00000000000..8a9c5ce097c --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_branches.txt @@ -0,0 +1,32 @@ +resources.postgres_branches 4508 +resources.postgres_branches.* 4509 +resources.postgres_branches.*.url 4510 +resources.postgres_branches.*.modified_status 4511 +resources.postgres_branches.*.lifecycle 4512 +resources.postgres_branches.*.lifecycle.prevent_destroy 4513 +resources.postgres_branches.*.lifecycle.prevent_destroy=true 4514 +resources.postgres_branches.*.lifecycle.prevent_destroy=false 4515 +resources.postgres_branches.*.lifecycle.depends_on 4516 +resources.postgres_branches.*.lifecycle.depends_on[*] 4517 +resources.postgres_branches.*.lifecycle.depends_on[*].resource 4518 +resources.postgres_branches.*.id 4519 +resources.postgres_branches.*.expire_time 4520 +resources.postgres_branches.*.is_protected 4521 +resources.postgres_branches.*.is_protected=true 4522 +resources.postgres_branches.*.is_protected=false 4523 +resources.postgres_branches.*.no_expiry 4524 +resources.postgres_branches.*.no_expiry=true 4525 +resources.postgres_branches.*.no_expiry=false 4526 +resources.postgres_branches.*.source_branch 4527 +resources.postgres_branches.*.source_branch_lsn 4528 +resources.postgres_branches.*.source_branch_time 4529 +resources.postgres_branches.*.source_snapshot 4530 +resources.postgres_branches.*.ttl 4531 +resources.postgres_branches.*.branch_id 4532 +resources.postgres_branches.*.parent 4533 +resources.postgres_branches.*.replace_existing 4534 +resources.postgres_branches.*.replace_existing=true 4535 +resources.postgres_branches.*.replace_existing=false 4536 +resources.postgres_branches.*.purge_on_delete 4537 +resources.postgres_branches.*.purge_on_delete=true 4538 +resources.postgres_branches.*.purge_on_delete=false 4539 diff --git a/acceptance/bundle/bitmap/full/output/postgres_catalogs.txt b/acceptance/bundle/bitmap/full/output/postgres_catalogs.txt new file mode 100644 index 00000000000..6a46bff2d29 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_catalogs.txt @@ -0,0 +1,18 @@ +resources.postgres_catalogs 4576 +resources.postgres_catalogs.* 4577 +resources.postgres_catalogs.*.url 4578 +resources.postgres_catalogs.*.modified_status 4579 +resources.postgres_catalogs.*.lifecycle 4580 +resources.postgres_catalogs.*.lifecycle.prevent_destroy 4581 +resources.postgres_catalogs.*.lifecycle.prevent_destroy=true 4582 +resources.postgres_catalogs.*.lifecycle.prevent_destroy=false 4583 +resources.postgres_catalogs.*.lifecycle.depends_on 4584 +resources.postgres_catalogs.*.lifecycle.depends_on[*] 4585 +resources.postgres_catalogs.*.lifecycle.depends_on[*].resource 4586 +resources.postgres_catalogs.*.id 4587 +resources.postgres_catalogs.*.branch 4588 +resources.postgres_catalogs.*.create_database_if_missing 4589 +resources.postgres_catalogs.*.create_database_if_missing=true 4590 +resources.postgres_catalogs.*.create_database_if_missing=false 4591 +resources.postgres_catalogs.*.postgres_database 4592 +resources.postgres_catalogs.*.catalog_id 4593 diff --git a/acceptance/bundle/bitmap/full/output/postgres_data_apis.txt b/acceptance/bundle/bitmap/full/output/postgres_data_apis.txt new file mode 100644 index 00000000000..375ff28f299 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_data_apis.txt @@ -0,0 +1,29 @@ +resources.postgres_data_apis 4712 +resources.postgres_data_apis.* 4713 +resources.postgres_data_apis.*.url 4714 +resources.postgres_data_apis.*.modified_status 4715 +resources.postgres_data_apis.*.lifecycle 4716 +resources.postgres_data_apis.*.lifecycle.prevent_destroy 4717 +resources.postgres_data_apis.*.lifecycle.prevent_destroy=true 4718 +resources.postgres_data_apis.*.lifecycle.prevent_destroy=false 4719 +resources.postgres_data_apis.*.lifecycle.depends_on 4720 +resources.postgres_data_apis.*.lifecycle.depends_on[*] 4721 +resources.postgres_data_apis.*.lifecycle.depends_on[*].resource 4722 +resources.postgres_data_apis.*.id 4723 +resources.postgres_data_apis.*.db_aggregates_enabled 4724 +resources.postgres_data_apis.*.db_aggregates_enabled=true 4725 +resources.postgres_data_apis.*.db_aggregates_enabled=false 4726 +resources.postgres_data_apis.*.db_extra_search_path 4727 +resources.postgres_data_apis.*.db_extra_search_path[*] 4728 +resources.postgres_data_apis.*.db_max_rows 4729 +resources.postgres_data_apis.*.db_schemas 4730 +resources.postgres_data_apis.*.db_schemas[*] 4731 +resources.postgres_data_apis.*.jwt_cache_max_lifetime 4732 +resources.postgres_data_apis.*.jwt_role_claim_key 4733 +resources.postgres_data_apis.*.openapi_mode 4734 +resources.postgres_data_apis.*.server_cors_allowed_origins 4735 +resources.postgres_data_apis.*.server_cors_allowed_origins[*] 4736 +resources.postgres_data_apis.*.server_timing_enabled 4737 +resources.postgres_data_apis.*.server_timing_enabled=true 4738 +resources.postgres_data_apis.*.server_timing_enabled=false 4739 +resources.postgres_data_apis.*.parent 4740 diff --git a/acceptance/bundle/bitmap/full/output/postgres_databases.txt b/acceptance/bundle/bitmap/full/output/postgres_databases.txt new file mode 100644 index 00000000000..51b3e56be32 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_databases.txt @@ -0,0 +1,19 @@ +resources.postgres_databases 4594 +resources.postgres_databases.* 4595 +resources.postgres_databases.*.url 4596 +resources.postgres_databases.*.modified_status 4597 +resources.postgres_databases.*.lifecycle 4598 +resources.postgres_databases.*.lifecycle.prevent_destroy 4599 +resources.postgres_databases.*.lifecycle.prevent_destroy=true 4600 +resources.postgres_databases.*.lifecycle.prevent_destroy=false 4601 +resources.postgres_databases.*.lifecycle.depends_on 4602 +resources.postgres_databases.*.lifecycle.depends_on[*] 4603 +resources.postgres_databases.*.lifecycle.depends_on[*].resource 4604 +resources.postgres_databases.*.id 4605 +resources.postgres_databases.*.postgres_database 4606 +resources.postgres_databases.*.role 4607 +resources.postgres_databases.*.database_id 4608 +resources.postgres_databases.*.parent 4609 +resources.postgres_databases.*.replace_existing 4610 +resources.postgres_databases.*.replace_existing=true 4611 +resources.postgres_databases.*.replace_existing=false 4612 diff --git a/acceptance/bundle/bitmap/full/output/postgres_endpoints.txt b/acceptance/bundle/bitmap/full/output/postgres_endpoints.txt new file mode 100644 index 00000000000..02cc1359521 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_endpoints.txt @@ -0,0 +1,36 @@ +resources.postgres_endpoints 4540 +resources.postgres_endpoints.* 4541 +resources.postgres_endpoints.*.url 4542 +resources.postgres_endpoints.*.modified_status 4543 +resources.postgres_endpoints.*.lifecycle 4544 +resources.postgres_endpoints.*.lifecycle.prevent_destroy 4545 +resources.postgres_endpoints.*.lifecycle.prevent_destroy=true 4546 +resources.postgres_endpoints.*.lifecycle.prevent_destroy=false 4547 +resources.postgres_endpoints.*.lifecycle.depends_on 4548 +resources.postgres_endpoints.*.lifecycle.depends_on[*] 4549 +resources.postgres_endpoints.*.lifecycle.depends_on[*].resource 4550 +resources.postgres_endpoints.*.id 4551 +resources.postgres_endpoints.*.autoscaling_limit_max_cu 4552 +resources.postgres_endpoints.*.autoscaling_limit_min_cu 4553 +resources.postgres_endpoints.*.disabled 4554 +resources.postgres_endpoints.*.disabled=true 4555 +resources.postgres_endpoints.*.disabled=false 4556 +resources.postgres_endpoints.*.endpoint_type 4557 +resources.postgres_endpoints.*.group 4558 +resources.postgres_endpoints.*.group.enable_readable_secondaries 4559 +resources.postgres_endpoints.*.group.enable_readable_secondaries=true 4560 +resources.postgres_endpoints.*.group.enable_readable_secondaries=false 4561 +resources.postgres_endpoints.*.group.max 4562 +resources.postgres_endpoints.*.group.min 4563 +resources.postgres_endpoints.*.no_suspension 4564 +resources.postgres_endpoints.*.no_suspension=true 4565 +resources.postgres_endpoints.*.no_suspension=false 4566 +resources.postgres_endpoints.*.settings 4567 +resources.postgres_endpoints.*.settings.pg_settings 4568 +resources.postgres_endpoints.*.settings.pg_settings.* 4569 +resources.postgres_endpoints.*.suspend_timeout_duration 4570 +resources.postgres_endpoints.*.endpoint_id 4571 +resources.postgres_endpoints.*.parent 4572 +resources.postgres_endpoints.*.replace_existing 4573 +resources.postgres_endpoints.*.replace_existing=true 4574 +resources.postgres_endpoints.*.replace_existing=false 4575 diff --git a/acceptance/bundle/bitmap/full/output/postgres_projects.txt b/acceptance/bundle/bitmap/full/output/postgres_projects.txt new file mode 100644 index 00000000000..a0424122c41 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_projects.txt @@ -0,0 +1,43 @@ +resources.postgres_projects 4465 +resources.postgres_projects.* 4466 +resources.postgres_projects.*.url 4467 +resources.postgres_projects.*.modified_status 4468 +resources.postgres_projects.*.lifecycle 4469 +resources.postgres_projects.*.lifecycle.prevent_destroy 4470 +resources.postgres_projects.*.lifecycle.prevent_destroy=true 4471 +resources.postgres_projects.*.lifecycle.prevent_destroy=false 4472 +resources.postgres_projects.*.lifecycle.depends_on 4473 +resources.postgres_projects.*.lifecycle.depends_on[*] 4474 +resources.postgres_projects.*.lifecycle.depends_on[*].resource 4475 +resources.postgres_projects.*.id 4476 +resources.postgres_projects.*.budget_policy_id 4477 +resources.postgres_projects.*.custom_tags 4478 +resources.postgres_projects.*.custom_tags[*] 4479 +resources.postgres_projects.*.custom_tags[*].key 4480 +resources.postgres_projects.*.custom_tags[*].value 4481 +resources.postgres_projects.*.default_branch 4482 +resources.postgres_projects.*.default_endpoint_settings 4483 +resources.postgres_projects.*.default_endpoint_settings.autoscaling_limit_max_cu 4484 +resources.postgres_projects.*.default_endpoint_settings.autoscaling_limit_min_cu 4485 +resources.postgres_projects.*.default_endpoint_settings.no_suspension 4486 +resources.postgres_projects.*.default_endpoint_settings.no_suspension=true 4487 +resources.postgres_projects.*.default_endpoint_settings.no_suspension=false 4488 +resources.postgres_projects.*.default_endpoint_settings.pg_settings 4489 +resources.postgres_projects.*.default_endpoint_settings.pg_settings.* 4490 +resources.postgres_projects.*.default_endpoint_settings.suspend_timeout_duration 4491 +resources.postgres_projects.*.display_name 4492 +resources.postgres_projects.*.enable_pg_native_login 4493 +resources.postgres_projects.*.enable_pg_native_login=true 4494 +resources.postgres_projects.*.enable_pg_native_login=false 4495 +resources.postgres_projects.*.history_retention_duration 4496 +resources.postgres_projects.*.pg_version 4497 +resources.postgres_projects.*.project_id 4498 +resources.postgres_projects.*.purge_on_delete 4499 +resources.postgres_projects.*.purge_on_delete=true 4500 +resources.postgres_projects.*.purge_on_delete=false 4501 +resources.postgres_projects.*.permissions 4502 +resources.postgres_projects.*.permissions[*] 4503 +resources.postgres_projects.*.permissions[*].level 4504 +resources.postgres_projects.*.permissions[*].user_name 4505 +resources.postgres_projects.*.permissions[*].service_principal_name 4506 +resources.postgres_projects.*.permissions[*].group_name 4507 diff --git a/acceptance/bundle/bitmap/full/output/postgres_roles.txt b/acceptance/bundle/bitmap/full/output/postgres_roles.txt new file mode 100644 index 00000000000..935f8899623 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_roles.txt @@ -0,0 +1,32 @@ +resources.postgres_roles 4613 +resources.postgres_roles.* 4614 +resources.postgres_roles.*.url 4615 +resources.postgres_roles.*.modified_status 4616 +resources.postgres_roles.*.lifecycle 4617 +resources.postgres_roles.*.lifecycle.prevent_destroy 4618 +resources.postgres_roles.*.lifecycle.prevent_destroy=true 4619 +resources.postgres_roles.*.lifecycle.prevent_destroy=false 4620 +resources.postgres_roles.*.lifecycle.depends_on 4621 +resources.postgres_roles.*.lifecycle.depends_on[*] 4622 +resources.postgres_roles.*.lifecycle.depends_on[*].resource 4623 +resources.postgres_roles.*.id 4624 +resources.postgres_roles.*.attributes 4625 +resources.postgres_roles.*.attributes.bypassrls 4626 +resources.postgres_roles.*.attributes.bypassrls=true 4627 +resources.postgres_roles.*.attributes.bypassrls=false 4628 +resources.postgres_roles.*.attributes.createdb 4629 +resources.postgres_roles.*.attributes.createdb=true 4630 +resources.postgres_roles.*.attributes.createdb=false 4631 +resources.postgres_roles.*.attributes.createrole 4632 +resources.postgres_roles.*.attributes.createrole=true 4633 +resources.postgres_roles.*.attributes.createrole=false 4634 +resources.postgres_roles.*.auth_method 4635 +resources.postgres_roles.*.identity_type 4636 +resources.postgres_roles.*.membership_roles 4637 +resources.postgres_roles.*.membership_roles[*] 4638 +resources.postgres_roles.*.postgres_role 4639 +resources.postgres_roles.*.role_id 4640 +resources.postgres_roles.*.parent 4641 +resources.postgres_roles.*.replace_existing 4642 +resources.postgres_roles.*.replace_existing=true 4643 +resources.postgres_roles.*.replace_existing=false 4644 diff --git a/acceptance/bundle/bitmap/full/output/postgres_snapshot_schedules.txt b/acceptance/bundle/bitmap/full/output/postgres_snapshot_schedules.txt new file mode 100644 index 00000000000..d0aa6f36391 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_snapshot_schedules.txt @@ -0,0 +1,24 @@ +resources.postgres_snapshot_schedules 4688 +resources.postgres_snapshot_schedules.* 4689 +resources.postgres_snapshot_schedules.*.url 4690 +resources.postgres_snapshot_schedules.*.modified_status 4691 +resources.postgres_snapshot_schedules.*.lifecycle 4692 +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy 4693 +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy=true 4694 +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy=false 4695 +resources.postgres_snapshot_schedules.*.lifecycle.depends_on 4696 +resources.postgres_snapshot_schedules.*.lifecycle.depends_on[*] 4697 +resources.postgres_snapshot_schedules.*.lifecycle.depends_on[*].resource 4698 +resources.postgres_snapshot_schedules.*.id 4699 +resources.postgres_snapshot_schedules.*.branch 4700 +resources.postgres_snapshot_schedules.*.schedule 4701 +resources.postgres_snapshot_schedules.*.schedule[*] 4702 +resources.postgres_snapshot_schedules.*.schedule[*].daily_schedule 4703 +resources.postgres_snapshot_schedules.*.schedule[*].daily_schedule.hour 4704 +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule 4705 +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule.day 4706 +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule.hour 4707 +resources.postgres_snapshot_schedules.*.schedule[*].retention 4708 +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule 4709 +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule.day_of_week 4710 +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule.hour 4711 diff --git a/acceptance/bundle/bitmap/full/output/postgres_synced_tables.txt b/acceptance/bundle/bitmap/full/output/postgres_synced_tables.txt new file mode 100644 index 00000000000..f87468ff1e7 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/postgres_synced_tables.txt @@ -0,0 +1,43 @@ +resources.postgres_synced_tables 4645 +resources.postgres_synced_tables.* 4646 +resources.postgres_synced_tables.*.url 4647 +resources.postgres_synced_tables.*.modified_status 4648 +resources.postgres_synced_tables.*.lifecycle 4649 +resources.postgres_synced_tables.*.lifecycle.prevent_destroy 4650 +resources.postgres_synced_tables.*.lifecycle.prevent_destroy=true 4651 +resources.postgres_synced_tables.*.lifecycle.prevent_destroy=false 4652 +resources.postgres_synced_tables.*.lifecycle.depends_on 4653 +resources.postgres_synced_tables.*.lifecycle.depends_on[*] 4654 +resources.postgres_synced_tables.*.lifecycle.depends_on[*].resource 4655 +resources.postgres_synced_tables.*.id 4656 +resources.postgres_synced_tables.*.accelerated_sync 4657 +resources.postgres_synced_tables.*.accelerated_sync=true 4658 +resources.postgres_synced_tables.*.accelerated_sync=false 4659 +resources.postgres_synced_tables.*.branch 4660 +resources.postgres_synced_tables.*.create_database_objects_if_missing 4661 +resources.postgres_synced_tables.*.create_database_objects_if_missing=true 4662 +resources.postgres_synced_tables.*.create_database_objects_if_missing=false 4663 +resources.postgres_synced_tables.*.existing_pipeline_id 4664 +resources.postgres_synced_tables.*.extra_columns 4665 +resources.postgres_synced_tables.*.extra_columns[*] 4666 +resources.postgres_synced_tables.*.extra_columns[*].column_name 4667 +resources.postgres_synced_tables.*.extra_columns[*].column_type 4668 +resources.postgres_synced_tables.*.extra_columns[*].compute 4669 +resources.postgres_synced_tables.*.extra_columns[*].maintenance 4670 +resources.postgres_synced_tables.*.new_pipeline_spec 4671 +resources.postgres_synced_tables.*.new_pipeline_spec.budget_policy_id 4672 +resources.postgres_synced_tables.*.new_pipeline_spec.pipeline_channel 4673 +resources.postgres_synced_tables.*.new_pipeline_spec.storage_catalog 4674 +resources.postgres_synced_tables.*.new_pipeline_spec.storage_schema 4675 +resources.postgres_synced_tables.*.postgres_database 4676 +resources.postgres_synced_tables.*.primary_key_columns 4677 +resources.postgres_synced_tables.*.primary_key_columns[*] 4678 +resources.postgres_synced_tables.*.scheduling_policy 4679 +resources.postgres_synced_tables.*.source_table_full_name 4680 +resources.postgres_synced_tables.*.timeseries_key 4681 +resources.postgres_synced_tables.*.type_overrides 4682 +resources.postgres_synced_tables.*.type_overrides[*] 4683 +resources.postgres_synced_tables.*.type_overrides[*].column_name 4684 +resources.postgres_synced_tables.*.type_overrides[*].pg_type 4685 +resources.postgres_synced_tables.*.type_overrides[*].size 4686 +resources.postgres_synced_tables.*.synced_table_id 4687 diff --git a/acceptance/bundle/bitmap/full/output/quality_monitors.txt b/acceptance/bundle/bitmap/full/output/quality_monitors.txt new file mode 100644 index 00000000000..58a988667ad --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/quality_monitors.txt @@ -0,0 +1,60 @@ +resources.quality_monitors 3384 +resources.quality_monitors.* 3385 +resources.quality_monitors.*.url 3386 +resources.quality_monitors.*.modified_status 3387 +resources.quality_monitors.*.lifecycle 3388 +resources.quality_monitors.*.lifecycle.prevent_destroy 3389 +resources.quality_monitors.*.lifecycle.prevent_destroy=true 3390 +resources.quality_monitors.*.lifecycle.prevent_destroy=false 3391 +resources.quality_monitors.*.lifecycle.depends_on 3392 +resources.quality_monitors.*.lifecycle.depends_on[*] 3393 +resources.quality_monitors.*.lifecycle.depends_on[*].resource 3394 +resources.quality_monitors.*.id 3395 +resources.quality_monitors.*.assets_dir 3396 +resources.quality_monitors.*.baseline_table_name 3397 +resources.quality_monitors.*.custom_metrics 3398 +resources.quality_monitors.*.custom_metrics[*] 3399 +resources.quality_monitors.*.custom_metrics[*].definition 3400 +resources.quality_monitors.*.custom_metrics[*].input_columns 3401 +resources.quality_monitors.*.custom_metrics[*].input_columns[*] 3402 +resources.quality_monitors.*.custom_metrics[*].name 3403 +resources.quality_monitors.*.custom_metrics[*].output_data_type 3404 +resources.quality_monitors.*.custom_metrics[*].type 3405 +resources.quality_monitors.*.data_classification_config 3406 +resources.quality_monitors.*.data_classification_config.enabled 3407 +resources.quality_monitors.*.data_classification_config.enabled=true 3408 +resources.quality_monitors.*.data_classification_config.enabled=false 3409 +resources.quality_monitors.*.inference_log 3410 +resources.quality_monitors.*.inference_log.granularities 3411 +resources.quality_monitors.*.inference_log.granularities[*] 3412 +resources.quality_monitors.*.inference_log.label_col 3413 +resources.quality_monitors.*.inference_log.model_id_col 3414 +resources.quality_monitors.*.inference_log.prediction_col 3415 +resources.quality_monitors.*.inference_log.prediction_proba_col 3416 +resources.quality_monitors.*.inference_log.problem_type 3417 +resources.quality_monitors.*.inference_log.timestamp_col 3418 +resources.quality_monitors.*.latest_monitor_failure_msg 3419 +resources.quality_monitors.*.notifications 3420 +resources.quality_monitors.*.notifications.on_failure 3421 +resources.quality_monitors.*.notifications.on_failure.email_addresses 3422 +resources.quality_monitors.*.notifications.on_failure.email_addresses[*] 3423 +resources.quality_monitors.*.notifications.on_new_classification_tag_detected 3424 +resources.quality_monitors.*.notifications.on_new_classification_tag_detected.email_addresses 3425 +resources.quality_monitors.*.notifications.on_new_classification_tag_detected.email_addresses[*] 3426 +resources.quality_monitors.*.output_schema_name 3427 +resources.quality_monitors.*.schedule 3428 +resources.quality_monitors.*.schedule.pause_status 3429 +resources.quality_monitors.*.schedule.quartz_cron_expression 3430 +resources.quality_monitors.*.schedule.timezone_id 3431 +resources.quality_monitors.*.skip_builtin_dashboard 3432 +resources.quality_monitors.*.skip_builtin_dashboard=true 3433 +resources.quality_monitors.*.skip_builtin_dashboard=false 3434 +resources.quality_monitors.*.slicing_exprs 3435 +resources.quality_monitors.*.slicing_exprs[*] 3436 +resources.quality_monitors.*.snapshot 3437 +resources.quality_monitors.*.time_series 3438 +resources.quality_monitors.*.time_series.granularities 3439 +resources.quality_monitors.*.time_series.granularities[*] 3440 +resources.quality_monitors.*.time_series.timestamp_col 3441 +resources.quality_monitors.*.warehouse_id 3442 +resources.quality_monitors.*.table_name 3443 diff --git a/acceptance/bundle/bitmap/full/output/registered_models.txt b/acceptance/bundle/bitmap/full/output/registered_models.txt new file mode 100644 index 00000000000..8dda1425091 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/registered_models.txt @@ -0,0 +1,40 @@ +resources.registered_models 3344 +resources.registered_models.* 3345 +resources.registered_models.*.url 3346 +resources.registered_models.*.modified_status 3347 +resources.registered_models.*.lifecycle 3348 +resources.registered_models.*.lifecycle.prevent_destroy 3349 +resources.registered_models.*.lifecycle.prevent_destroy=true 3350 +resources.registered_models.*.lifecycle.prevent_destroy=false 3351 +resources.registered_models.*.lifecycle.depends_on 3352 +resources.registered_models.*.lifecycle.depends_on[*] 3353 +resources.registered_models.*.lifecycle.depends_on[*].resource 3354 +resources.registered_models.*.id 3355 +resources.registered_models.*.aliases 3356 +resources.registered_models.*.aliases[*] 3357 +resources.registered_models.*.aliases[*].alias_name 3358 +resources.registered_models.*.aliases[*].catalog_name 3359 +resources.registered_models.*.aliases[*].id 3360 +resources.registered_models.*.aliases[*].model_name 3361 +resources.registered_models.*.aliases[*].schema_name 3362 +resources.registered_models.*.aliases[*].version_num 3363 +resources.registered_models.*.browse_only 3364 +resources.registered_models.*.browse_only=true 3365 +resources.registered_models.*.browse_only=false 3366 +resources.registered_models.*.catalog_name 3367 +resources.registered_models.*.comment 3368 +resources.registered_models.*.created_at 3369 +resources.registered_models.*.created_by 3370 +resources.registered_models.*.full_name 3371 +resources.registered_models.*.metastore_id 3372 +resources.registered_models.*.name 3373 +resources.registered_models.*.owner 3374 +resources.registered_models.*.schema_name 3375 +resources.registered_models.*.storage_location 3376 +resources.registered_models.*.updated_at 3377 +resources.registered_models.*.updated_by 3378 +resources.registered_models.*.grants 3379 +resources.registered_models.*.grants[*] 3380 +resources.registered_models.*.grants[*].principal 3381 +resources.registered_models.*.grants[*].privileges 3382 +resources.registered_models.*.grants[*].privileges[*] 3383 diff --git a/acceptance/bundle/bitmap/full/output/root.txt b/acceptance/bundle/bitmap/full/output/root.txt new file mode 100644 index 00000000000..f7436075a55 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/root.txt @@ -0,0 +1,369 @@ +variables 0 +variables.* 1 +variables.*.type 2 +variables.*.default 3 +variables.*.description 4 +variables.*.sensitive 5 +variables.*.sensitive=true 6 +variables.*.sensitive=false 7 +variables.*.value 8 +variables.*.lookup 9 +variables.*.lookup.alert 10 +variables.*.lookup.cluster_policy 11 +variables.*.lookup.cluster 12 +variables.*.lookup.dashboard 13 +variables.*.lookup.instance_pool 14 +variables.*.lookup.job 15 +variables.*.lookup.metastore 16 +variables.*.lookup.notification_destination 17 +variables.*.lookup.pipeline 18 +variables.*.lookup.query 19 +variables.*.lookup.service_principal 20 +variables.*.lookup.warehouse 21 +bundle 22 +bundle.name 23 +bundle.terraform 24 +bundle.terraform.exec_path 25 +bundle.force 26 +bundle.force=true 27 +bundle.force=false 28 +bundle.git 29 +bundle.git.branch 30 +bundle.git.origin_url 31 +bundle.git.commit 32 +bundle.git.bundle_root_path 33 +bundle.git.actual_branch 34 +bundle.mode 35 +bundle.compute_id 36 +bundle.cluster_id 37 +bundle.engine 38 +bundle.deployment 39 +bundle.deployment.fail_on_active_runs 40 +bundle.deployment.fail_on_active_runs=true 41 +bundle.deployment.fail_on_active_runs=false 42 +bundle.deployment.lock 43 +bundle.deployment.lock.enabled 44 +bundle.deployment.lock.enabled=true 45 +bundle.deployment.lock.enabled=false 46 +bundle.deployment.lock.force 47 +bundle.deployment.lock.force=true 48 +bundle.deployment.lock.force=false 49 +bundle.deployment.deployment_id 50 +bundle.deployment.latest_version_id 51 +bundle.databricks_cli_version 52 +bundle.uuid 53 +include 54 +include[*] 55 +workspace 56 +workspace.host 57 +workspace.profile 58 +workspace.auth_type 59 +workspace.metadata_service_url 60 +workspace.client_id 61 +workspace.google_service_account 62 +workspace.azure_workspace_resource_id 63 +workspace.azure_use_msi 64 +workspace.azure_use_msi=true 65 +workspace.azure_use_msi=false 66 +workspace.azure_client_id 67 +workspace.azure_tenant_id 68 +workspace.azure_environment 69 +workspace.azure_login_app_id 70 +workspace.experimental_is_unified_host 71 +workspace.experimental_is_unified_host=true 72 +workspace.experimental_is_unified_host=false 73 +workspace.account_id 74 +workspace.workspace_id 75 +workspace.current_user 76 +workspace.current_user.short_name 77 +workspace.current_user.domain_friendly_name 78 +workspace.current_user.active 79 +workspace.current_user.active=true 80 +workspace.current_user.active=false 81 +workspace.current_user.displayName 82 +workspace.current_user.emails 83 +workspace.current_user.emails[*] 84 +workspace.current_user.emails[*].display 85 +workspace.current_user.emails[*].primary 86 +workspace.current_user.emails[*].primary=true 87 +workspace.current_user.emails[*].primary=false 88 +workspace.current_user.emails[*].$ref 89 +workspace.current_user.emails[*].type 90 +workspace.current_user.emails[*].value 91 +workspace.current_user.entitlements 92 +workspace.current_user.entitlements[*] 93 +workspace.current_user.entitlements[*].display 94 +workspace.current_user.entitlements[*].primary 95 +workspace.current_user.entitlements[*].primary=true 96 +workspace.current_user.entitlements[*].primary=false 97 +workspace.current_user.entitlements[*].$ref 98 +workspace.current_user.entitlements[*].type 99 +workspace.current_user.entitlements[*].value 100 +workspace.current_user.externalId 101 +workspace.current_user.groups 102 +workspace.current_user.groups[*] 103 +workspace.current_user.groups[*].display 104 +workspace.current_user.groups[*].primary 105 +workspace.current_user.groups[*].primary=true 106 +workspace.current_user.groups[*].primary=false 107 +workspace.current_user.groups[*].$ref 108 +workspace.current_user.groups[*].type 109 +workspace.current_user.groups[*].value 110 +workspace.current_user.id 111 +workspace.current_user.name 112 +workspace.current_user.name.familyName 113 +workspace.current_user.name.givenName 114 +workspace.current_user.roles 115 +workspace.current_user.roles[*] 116 +workspace.current_user.roles[*].display 117 +workspace.current_user.roles[*].primary 118 +workspace.current_user.roles[*].primary=true 119 +workspace.current_user.roles[*].primary=false 120 +workspace.current_user.roles[*].$ref 121 +workspace.current_user.roles[*].type 122 +workspace.current_user.roles[*].value 123 +workspace.current_user.schemas 124 +workspace.current_user.schemas[*] 125 +workspace.current_user.userName 126 +workspace.root_path 127 +workspace.file_path 128 +workspace.resource_path 129 +workspace.artifact_path 130 +workspace.state_path 131 +workspace.sync_mode 132 +artifacts 133 +artifacts.* 134 +artifacts.*.type 135 +artifacts.*.path 136 +artifacts.*.files 137 +artifacts.*.files[*] 138 +artifacts.*.files[*].source 139 +artifacts.*.files[*].patched 140 +artifacts.*.files[*].remote_path 141 +artifacts.*.build 142 +artifacts.*.executable 143 +artifacts.*.dynamic_version 144 +artifacts.*.dynamic_version=true 145 +artifacts.*.dynamic_version=false 146 +artifacts.*.include 147 +artifacts.*.include[*] 148 +artifacts.*.git 149 +artifacts.*.git.branch 150 +artifacts.*.git.commit 151 +resources 152 +sync 4966 +sync.paths 4967 +sync.paths[*] 4968 +sync.include 4969 +sync.include[*] 4970 +sync.exclude 4971 +sync.exclude[*] 4972 +run_as 4973 +run_as.group_name 4974 +run_as.service_principal_name 4975 +run_as.user_name 4976 +presets 4977 +presets.name_prefix 4978 +presets.pipelines_development 4979 +presets.pipelines_development=true 4980 +presets.pipelines_development=false 4981 +presets.trigger_pause_status 4982 +presets.jobs_max_concurrent_runs 4983 +presets.source_linked_deployment 4984 +presets.source_linked_deployment=true 4985 +presets.source_linked_deployment=false 4986 +presets.artifacts_dynamic_version 4987 +presets.artifacts_dynamic_version=true 4988 +presets.artifacts_dynamic_version=false 4989 +presets.tags 4990 +presets.tags.* 4991 +experimental 4992 +experimental.scripts 4993 +experimental.scripts.* 4994 +experimental.immutable_folder 4995 +experimental.immutable_folder=true 4996 +experimental.immutable_folder=false 4997 +experimental.python_wheel_wrapper 4998 +experimental.python_wheel_wrapper=true 4999 +experimental.python_wheel_wrapper=false 5000 +experimental.use_legacy_run_as 5001 +experimental.use_legacy_run_as=true 5002 +experimental.use_legacy_run_as=false 5003 +experimental.pydabs 5004 +experimental.pydabs.enabled 5005 +experimental.pydabs.enabled=true 5006 +experimental.pydabs.enabled=false 5007 +experimental.python 5008 +experimental.python.resources 5009 +experimental.python.resources[*] 5010 +experimental.python.mutators 5011 +experimental.python.mutators[*] 5012 +experimental.python.venv_path 5013 +experimental.skip_artifact_cleanup 5014 +experimental.skip_artifact_cleanup=true 5015 +experimental.skip_artifact_cleanup=false 5016 +experimental.skip_name_prefix_for_schema 5017 +experimental.skip_name_prefix_for_schema=true 5018 +experimental.skip_name_prefix_for_schema=false 5019 +experimental.deployment_history 5020 +experimental.deployment_history=true 5021 +experimental.deployment_history=false 5022 +permissions 5023 +permissions[*] 5024 +permissions[*].level 5025 +permissions[*].user_name 5026 +permissions[*].service_principal_name 5027 +permissions[*].group_name 5028 +scripts 5029 +scripts.* 5030 +scripts.*.content 5031 +scripts.*.env 5032 +scripts.*.env.* 5033 +python 5034 +python.resources 5035 +python.resources[*] 5036 +python.mutators 5037 +python.mutators[*] 5038 +python.venv_path 5039 +definitions 5040 +telemetry.PythonWheelWrapperIsSet 5041 +telemetry.PythonWheelWrapperIsSet=true 5042 +telemetry.PythonWheelWrapperIsSet=false 5043 +telemetry.ArtifactDynamicVersionIsSet 5044 +telemetry.ArtifactDynamicVersionIsSet=true 5045 +telemetry.ArtifactDynamicVersionIsSet=false 5046 +telemetry.ArtifactBuildCommandIsSet 5047 +telemetry.ArtifactBuildCommandIsSet=true 5048 +telemetry.ArtifactBuildCommandIsSet=false 5049 +telemetry.ArtifactFilesIsSet 5050 +telemetry.ArtifactFilesIsSet=true 5051 +telemetry.ArtifactFilesIsSet=false 5052 +telemetry.PresetsNamePrefixIsSet 5053 +telemetry.PresetsNamePrefixIsSet=true 5054 +telemetry.PresetsNamePrefixIsSet=false 5055 +telemetry.AppLifecycleStarted 5056 +telemetry.AppLifecycleStarted=true 5057 +telemetry.AppLifecycleStarted=false 5058 +telemetry.ClusterLifecycleStarted 5059 +telemetry.ClusterLifecycleStarted=true 5060 +telemetry.ClusterLifecycleStarted=false 5061 +telemetry.DeploymentHistoryEnabled 5062 +telemetry.DeploymentHistoryEnabled=true 5063 +telemetry.DeploymentHistoryEnabled=false 5064 +telemetry.SqlWarehouseLifecycleStarted 5065 +telemetry.SqlWarehouseLifecycleStarted=true 5066 +telemetry.SqlWarehouseLifecycleStarted=false 5067 +telemetry.SelectUsed 5068 +telemetry.SelectUsed=true 5069 +telemetry.SelectUsed=false 5070 +telemetry.ImmutableSnapshotUsed 5071 +telemetry.ImmutableSnapshotUsed=true 5072 +telemetry.ImmutableSnapshotUsed=false 5073 +telemetry.DirectMigrateError 5074 +telemetry.DirectMigrateError=true 5075 +telemetry.DirectMigrateError=false 5076 +telemetry.DirectMigrateWarnings 5077 +telemetry.DirectMigrateWarnings=true 5078 +telemetry.DirectMigrateWarnings=false 5079 +telemetry.DirectMigratePlanError 5080 +telemetry.DirectMigratePlanError=true 5081 +telemetry.DirectMigratePlanError=false 5082 +telemetry.DirectMigrateRecreatePlanned 5083 +telemetry.DirectMigrateRecreatePlanned=true 5084 +telemetry.DirectMigrateRecreatePlanned=false 5085 +telemetry.DirectAutoMigrateViaConfig 5086 +telemetry.DirectAutoMigrateViaConfig=true 5087 +telemetry.DirectAutoMigrateViaConfig=false 5088 +telemetry.DirectAutoMigrateViaEnv 5089 +telemetry.DirectAutoMigrateViaEnv=true 5090 +telemetry.DirectAutoMigrateViaEnv=false 5091 +telemetry.DirectAutoMigrateViaDefault 5092 +telemetry.DirectAutoMigrateViaDefault=true 5093 +telemetry.DirectAutoMigrateViaDefault=false 5094 +telemetry.EngineTerraformConfig 5095 +telemetry.EngineTerraformConfig=true 5096 +telemetry.EngineTerraformConfig=false 5097 +telemetry.EngineTerraformEnv 5098 +telemetry.EngineTerraformEnv=true 5099 +telemetry.EngineTerraformEnv=false 5100 +telemetry.StatePathIsShared 5101 +telemetry.StatePathIsShared=true 5102 +telemetry.StatePathIsShared=false 5103 +telemetry.DMSCompatAuto 5104 +telemetry.DMSCompatAuto=true 5105 +telemetry.DMSCompatAuto=false 5106 +telemetry.DMSCompatOnlySelfUndeclared 5107 +telemetry.DMSCompatOnlySelfUndeclared=true 5108 +telemetry.DMSCompatOnlySelfUndeclared=false 5109 +telemetry.DMSCompatNot 5110 +telemetry.DMSCompatNot=true 5111 +telemetry.DMSCompatNot=false 5112 +telemetry.PermissionsSectionSet 5113 +telemetry.PermissionsSectionSet=true 5114 +telemetry.PermissionsSectionSet=false 5115 +telemetry.StatePathInDeployerHome 5116 +telemetry.StatePathInDeployerHome=true 5117 +telemetry.StatePathInDeployerHome=false 5118 +telemetry.StatePathInOtherUserHome 5119 +telemetry.StatePathInOtherUserHome=true 5120 +telemetry.StatePathInOtherUserHome=false 5121 +telemetry.StatePathOther 5122 +telemetry.StatePathOther=true 5123 +telemetry.StatePathOther=false 5124 +telemetry.DMSUndeclaredDeployingUser 5125 +telemetry.DMSUndeclaredDeployingUser=true 5126 +telemetry.DMSUndeclaredDeployingUser=false 5127 +telemetry.DMSUndeclaredOtherUser 5128 +telemetry.DMSUndeclaredOtherUser=true 5129 +telemetry.DMSUndeclaredOtherUser=false 5130 +telemetry.DMSUndeclaredServicePrincipal 5131 +telemetry.DMSUndeclaredServicePrincipal=true 5132 +telemetry.DMSUndeclaredServicePrincipal=false 5133 +telemetry.DMSUndeclaredGroup 5134 +telemetry.DMSUndeclaredGroup=true 5135 +telemetry.DMSUndeclaredGroup=false 5136 +telemetry.AiRuntimeTaskScheduled 5137 +telemetry.AiRuntimeTaskScheduled=true 5138 +telemetry.AiRuntimeTaskScheduled=false 5139 +telemetry.AiRuntimeTaskMultitask 5140 +telemetry.AiRuntimeTaskMultitask=true 5141 +telemetry.AiRuntimeTaskMultitask=false 5142 +telemetry.SkipArtifactCleanup 5143 +telemetry.SkipArtifactCleanup=true 5144 +telemetry.SkipArtifactCleanup=false 5145 +telemetry.SourceLinkedSetForNonDevelopment 5146 +telemetry.SourceLinkedSetForNonDevelopment=true 5147 +telemetry.SourceLinkedSetForNonDevelopment=false 5148 +telemetry.ConfigHasDoubleDollarBrace 5149 +telemetry.ConfigHasDoubleDollarBrace=true 5150 +telemetry.ConfigHasDoubleDollarBrace=false 5151 +telemetry.ConfigHasDoubleDollar 5152 +telemetry.ConfigHasDoubleDollar=true 5153 +telemetry.ConfigHasDoubleDollar=false 5154 +telemetry.ConfigHasBackslashDollarBrace 5155 +telemetry.ConfigHasBackslashDollarBrace=true 5156 +telemetry.ConfigHasBackslashDollarBrace=false 5157 +telemetry.ConfigHasBackslashDollar 5158 +telemetry.ConfigHasBackslashDollar=true 5159 +telemetry.ConfigHasBackslashDollar=false 5160 +telemetry.ArtifactsReferenceUsed 5161 +telemetry.ArtifactsReferenceUsed=true 5162 +telemetry.ArtifactsReferenceUsed=false 5163 +telemetry.UseLegacyRunAs 5164 +telemetry.UseLegacyRunAs=true 5165 +telemetry.UseLegacyRunAs=false 5166 +telemetry.RunAsSet 5167 +telemetry.RunAsSet=true 5168 +telemetry.RunAsSet=false 5169 +telemetry.HasTfOnlyReferences 5170 +telemetry.HasTfOnlyReferences=true 5171 +telemetry.HasTfOnlyReferences=false 5172 +telemetry.HasServerlessCompute 5173 +telemetry.HasServerlessCompute=true 5174 +telemetry.HasServerlessCompute=false 5175 +telemetry.HasClassicJobCompute 5176 +telemetry.HasClassicJobCompute=true 5177 +telemetry.HasClassicJobCompute=false 5178 +telemetry.HasClassicInteractiveCompute 5179 +telemetry.HasClassicInteractiveCompute=true 5180 +telemetry.HasClassicInteractiveCompute=false 5181 diff --git a/acceptance/bundle/bitmap/full/output/schemas.txt b/acceptance/bundle/bitmap/full/output/schemas.txt new file mode 100644 index 00000000000..d4b8a368b6e --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/schemas.txt @@ -0,0 +1,24 @@ +resources.schemas 3569 +resources.schemas.* 3570 +resources.schemas.*.url 3571 +resources.schemas.*.modified_status 3572 +resources.schemas.*.lifecycle 3573 +resources.schemas.*.lifecycle.prevent_destroy 3574 +resources.schemas.*.lifecycle.prevent_destroy=true 3575 +resources.schemas.*.lifecycle.prevent_destroy=false 3576 +resources.schemas.*.lifecycle.depends_on 3577 +resources.schemas.*.lifecycle.depends_on[*] 3578 +resources.schemas.*.lifecycle.depends_on[*].resource 3579 +resources.schemas.*.id 3580 +resources.schemas.*.catalog_name 3581 +resources.schemas.*.comment 3582 +resources.schemas.*.custom_max_retention_hours 3583 +resources.schemas.*.name 3584 +resources.schemas.*.properties 3585 +resources.schemas.*.properties.* 3586 +resources.schemas.*.storage_root 3587 +resources.schemas.*.grants 3588 +resources.schemas.*.grants[*] 3589 +resources.schemas.*.grants[*].principal 3590 +resources.schemas.*.grants[*].privileges 3591 +resources.schemas.*.grants[*].privileges[*] 3592 diff --git a/acceptance/bundle/bitmap/full/output/secret_scopes.txt b/acceptance/bundle/bitmap/full/output/secret_scopes.txt new file mode 100644 index 00000000000..a26834f53c1 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/secret_scopes.txt @@ -0,0 +1,23 @@ +resources.secret_scopes 4146 +resources.secret_scopes.* 4147 +resources.secret_scopes.*.url 4148 +resources.secret_scopes.*.modified_status 4149 +resources.secret_scopes.*.lifecycle 4150 +resources.secret_scopes.*.lifecycle.prevent_destroy 4151 +resources.secret_scopes.*.lifecycle.prevent_destroy=true 4152 +resources.secret_scopes.*.lifecycle.prevent_destroy=false 4153 +resources.secret_scopes.*.lifecycle.depends_on 4154 +resources.secret_scopes.*.lifecycle.depends_on[*] 4155 +resources.secret_scopes.*.lifecycle.depends_on[*].resource 4156 +resources.secret_scopes.*.id 4157 +resources.secret_scopes.*.name 4158 +resources.secret_scopes.*.permissions 4159 +resources.secret_scopes.*.permissions[*] 4160 +resources.secret_scopes.*.permissions[*].level 4161 +resources.secret_scopes.*.permissions[*].user_name 4162 +resources.secret_scopes.*.permissions[*].service_principal_name 4163 +resources.secret_scopes.*.permissions[*].group_name 4164 +resources.secret_scopes.*.backend_type 4165 +resources.secret_scopes.*.keyvault_metadata 4166 +resources.secret_scopes.*.keyvault_metadata.dns_name 4167 +resources.secret_scopes.*.keyvault_metadata.resource_id 4168 diff --git a/acceptance/bundle/bitmap/full/output/secrets.txt b/acceptance/bundle/bitmap/full/output/secrets.txt new file mode 100644 index 00000000000..c590fb111a5 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/secrets.txt @@ -0,0 +1,32 @@ +resources.secrets 4877 +resources.secrets.* 4878 +resources.secrets.*.url 4879 +resources.secrets.*.modified_status 4880 +resources.secrets.*.lifecycle 4881 +resources.secrets.*.lifecycle.prevent_destroy 4882 +resources.secrets.*.lifecycle.prevent_destroy=true 4883 +resources.secrets.*.lifecycle.prevent_destroy=false 4884 +resources.secrets.*.lifecycle.depends_on 4885 +resources.secrets.*.lifecycle.depends_on[*] 4886 +resources.secrets.*.lifecycle.depends_on[*].resource 4887 +resources.secrets.*.id 4888 +resources.secrets.*.catalog_name 4889 +resources.secrets.*.comment 4890 +resources.secrets.*.create_time 4891 +resources.secrets.*.created_by 4892 +resources.secrets.*.effective_owner 4893 +resources.secrets.*.effective_value 4894 +resources.secrets.*.expire_time 4895 +resources.secrets.*.full_name 4896 +resources.secrets.*.metastore_id 4897 +resources.secrets.*.name 4898 +resources.secrets.*.owner 4899 +resources.secrets.*.schema_name 4900 +resources.secrets.*.update_time 4901 +resources.secrets.*.updated_by 4902 +resources.secrets.*.value 4903 +resources.secrets.*.grants 4904 +resources.secrets.*.grants[*] 4905 +resources.secrets.*.grants[*].principal 4906 +resources.secrets.*.grants[*].privileges 4907 +resources.secrets.*.grants[*].privileges[*] 4908 diff --git a/acceptance/bundle/bitmap/full/output/sql_warehouses.txt b/acceptance/bundle/bitmap/full/output/sql_warehouses.txt new file mode 100644 index 00000000000..e5a90d32ba1 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/sql_warehouses.txt @@ -0,0 +1,48 @@ +resources.sql_warehouses 4244 +resources.sql_warehouses.* 4245 +resources.sql_warehouses.*.url 4246 +resources.sql_warehouses.*.modified_status 4247 +resources.sql_warehouses.*.lifecycle 4248 +resources.sql_warehouses.*.lifecycle.prevent_destroy 4249 +resources.sql_warehouses.*.lifecycle.prevent_destroy=true 4250 +resources.sql_warehouses.*.lifecycle.prevent_destroy=false 4251 +resources.sql_warehouses.*.lifecycle.depends_on 4252 +resources.sql_warehouses.*.lifecycle.depends_on[*] 4253 +resources.sql_warehouses.*.lifecycle.depends_on[*].resource 4254 +resources.sql_warehouses.*.id 4255 +resources.sql_warehouses.*.auto_stop_mins 4256 +resources.sql_warehouses.*.channel 4257 +resources.sql_warehouses.*.channel.dbsql_version 4258 +resources.sql_warehouses.*.channel.name 4259 +resources.sql_warehouses.*.cluster_size 4260 +resources.sql_warehouses.*.creator_name 4261 +resources.sql_warehouses.*.customer_version_label 4262 +resources.sql_warehouses.*.enable_photon 4263 +resources.sql_warehouses.*.enable_photon=true 4264 +resources.sql_warehouses.*.enable_photon=false 4265 +resources.sql_warehouses.*.enable_serverless_compute 4266 +resources.sql_warehouses.*.enable_serverless_compute=true 4267 +resources.sql_warehouses.*.enable_serverless_compute=false 4268 +resources.sql_warehouses.*.instance_profile_arn 4269 +resources.sql_warehouses.*.max_dbu 4270 +resources.sql_warehouses.*.max_num_clusters 4271 +resources.sql_warehouses.*.min_num_clusters 4272 +resources.sql_warehouses.*.name 4273 +resources.sql_warehouses.*.reyden_cluster_size_multiplier 4274 +resources.sql_warehouses.*.spot_instance_policy 4275 +resources.sql_warehouses.*.statement_timeout 4276 +resources.sql_warehouses.*.tags 4277 +resources.sql_warehouses.*.tags.custom_tags 4278 +resources.sql_warehouses.*.tags.custom_tags[*] 4279 +resources.sql_warehouses.*.tags.custom_tags[*].key 4280 +resources.sql_warehouses.*.tags.custom_tags[*].value 4281 +resources.sql_warehouses.*.warehouse_type 4282 +resources.sql_warehouses.*.lifecycle.started 4283 +resources.sql_warehouses.*.lifecycle.started=true 4284 +resources.sql_warehouses.*.lifecycle.started=false 4285 +resources.sql_warehouses.*.permissions 4286 +resources.sql_warehouses.*.permissions[*] 4287 +resources.sql_warehouses.*.permissions[*].level 4288 +resources.sql_warehouses.*.permissions[*].user_name 4289 +resources.sql_warehouses.*.permissions[*].service_principal_name 4290 +resources.sql_warehouses.*.permissions[*].group_name 4291 diff --git a/acceptance/bundle/bitmap/full/output/synced_database_tables.txt b/acceptance/bundle/bitmap/full/output/synced_database_tables.txt new file mode 100644 index 00000000000..220c2049100 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/synced_database_tables.txt @@ -0,0 +1,81 @@ +resources.synced_database_tables 4384 +resources.synced_database_tables.* 4385 +resources.synced_database_tables.*.url 4386 +resources.synced_database_tables.*.modified_status 4387 +resources.synced_database_tables.*.lifecycle 4388 +resources.synced_database_tables.*.lifecycle.prevent_destroy 4389 +resources.synced_database_tables.*.lifecycle.prevent_destroy=true 4390 +resources.synced_database_tables.*.lifecycle.prevent_destroy=false 4391 +resources.synced_database_tables.*.lifecycle.depends_on 4392 +resources.synced_database_tables.*.lifecycle.depends_on[*] 4393 +resources.synced_database_tables.*.lifecycle.depends_on[*].resource 4394 +resources.synced_database_tables.*.id 4395 +resources.synced_database_tables.*.data_synchronization_status 4396 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status 4397 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress 4398 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.estimated_completion_time_seconds 4399 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.latest_version_currently_processing 4400 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.provisioning_phase 4401 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.sync_progress_completion 4402 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.synced_row_count 4403 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.total_row_count 4404 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.last_processed_commit_version 4405 +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.timestamp 4406 +resources.synced_database_tables.*.data_synchronization_status.detailed_state 4407 +resources.synced_database_tables.*.data_synchronization_status.failed_status 4408 +resources.synced_database_tables.*.data_synchronization_status.failed_status.last_processed_commit_version 4409 +resources.synced_database_tables.*.data_synchronization_status.failed_status.timestamp 4410 +resources.synced_database_tables.*.data_synchronization_status.last_sync 4411 +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info 4412 +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info.delta_commit_timestamp 4413 +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info.delta_commit_version 4414 +resources.synced_database_tables.*.data_synchronization_status.last_sync.sync_end_timestamp 4415 +resources.synced_database_tables.*.data_synchronization_status.last_sync.sync_start_timestamp 4416 +resources.synced_database_tables.*.data_synchronization_status.message 4417 +resources.synced_database_tables.*.data_synchronization_status.pipeline_id 4418 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status 4419 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress 4420 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.estimated_completion_time_seconds 4421 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.latest_version_currently_processing 4422 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.provisioning_phase 4423 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.sync_progress_completion 4424 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.synced_row_count 4425 +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.total_row_count 4426 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status 4427 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.last_processed_commit_version 4428 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.timestamp 4429 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress 4430 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.estimated_completion_time_seconds 4431 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.latest_version_currently_processing 4432 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.provisioning_phase 4433 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.sync_progress_completion 4434 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.synced_row_count 4435 +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.total_row_count 4436 +resources.synced_database_tables.*.database_instance_name 4437 +resources.synced_database_tables.*.effective_database_instance_name 4438 +resources.synced_database_tables.*.effective_logical_database_name 4439 +resources.synced_database_tables.*.logical_database_name 4440 +resources.synced_database_tables.*.name 4441 +resources.synced_database_tables.*.spec 4442 +resources.synced_database_tables.*.spec.accelerated_sync 4443 +resources.synced_database_tables.*.spec.accelerated_sync=true 4444 +resources.synced_database_tables.*.spec.accelerated_sync=false 4445 +resources.synced_database_tables.*.spec.create_database_objects_if_missing 4446 +resources.synced_database_tables.*.spec.create_database_objects_if_missing=true 4447 +resources.synced_database_tables.*.spec.create_database_objects_if_missing=false 4448 +resources.synced_database_tables.*.spec.existing_pipeline_id 4449 +resources.synced_database_tables.*.spec.new_pipeline_spec 4450 +resources.synced_database_tables.*.spec.new_pipeline_spec.budget_policy_id 4451 +resources.synced_database_tables.*.spec.new_pipeline_spec.storage_catalog 4452 +resources.synced_database_tables.*.spec.new_pipeline_spec.storage_schema 4453 +resources.synced_database_tables.*.spec.primary_key_columns 4454 +resources.synced_database_tables.*.spec.primary_key_columns[*] 4455 +resources.synced_database_tables.*.spec.scheduling_policy 4456 +resources.synced_database_tables.*.spec.source_table_full_name 4457 +resources.synced_database_tables.*.spec.timeseries_key 4458 +resources.synced_database_tables.*.spec.type_overrides 4459 +resources.synced_database_tables.*.spec.type_overrides[*] 4460 +resources.synced_database_tables.*.spec.type_overrides[*].column_name 4461 +resources.synced_database_tables.*.spec.type_overrides[*].pg_type 4462 +resources.synced_database_tables.*.spec.type_overrides[*].size 4463 +resources.synced_database_tables.*.unity_catalog_provisioning_state 4464 diff --git a/acceptance/bundle/bitmap/full/output/vector_search_endpoints.txt b/acceptance/bundle/bitmap/full/output/vector_search_endpoints.txt new file mode 100644 index 00000000000..02a8b8379d6 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/vector_search_endpoints.txt @@ -0,0 +1,23 @@ +resources.vector_search_endpoints 4741 +resources.vector_search_endpoints.* 4742 +resources.vector_search_endpoints.*.url 4743 +resources.vector_search_endpoints.*.modified_status 4744 +resources.vector_search_endpoints.*.lifecycle 4745 +resources.vector_search_endpoints.*.lifecycle.prevent_destroy 4746 +resources.vector_search_endpoints.*.lifecycle.prevent_destroy=true 4747 +resources.vector_search_endpoints.*.lifecycle.prevent_destroy=false 4748 +resources.vector_search_endpoints.*.lifecycle.depends_on 4749 +resources.vector_search_endpoints.*.lifecycle.depends_on[*] 4750 +resources.vector_search_endpoints.*.lifecycle.depends_on[*].resource 4751 +resources.vector_search_endpoints.*.id 4752 +resources.vector_search_endpoints.*.budget_policy_id 4753 +resources.vector_search_endpoints.*.endpoint_type 4754 +resources.vector_search_endpoints.*.name 4755 +resources.vector_search_endpoints.*.target_qps 4756 +resources.vector_search_endpoints.*.usage_policy_id 4757 +resources.vector_search_endpoints.*.permissions 4758 +resources.vector_search_endpoints.*.permissions[*] 4759 +resources.vector_search_endpoints.*.permissions[*].level 4760 +resources.vector_search_endpoints.*.permissions[*].user_name 4761 +resources.vector_search_endpoints.*.permissions[*].service_principal_name 4762 +resources.vector_search_endpoints.*.permissions[*].group_name 4763 diff --git a/acceptance/bundle/bitmap/full/output/vector_search_indexes.txt b/acceptance/bundle/bitmap/full/output/vector_search_indexes.txt new file mode 100644 index 00000000000..107c8d7fbed --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/vector_search_indexes.txt @@ -0,0 +1,50 @@ +resources.vector_search_indexes 4764 +resources.vector_search_indexes.* 4765 +resources.vector_search_indexes.*.url 4766 +resources.vector_search_indexes.*.modified_status 4767 +resources.vector_search_indexes.*.lifecycle 4768 +resources.vector_search_indexes.*.lifecycle.prevent_destroy 4769 +resources.vector_search_indexes.*.lifecycle.prevent_destroy=true 4770 +resources.vector_search_indexes.*.lifecycle.prevent_destroy=false 4771 +resources.vector_search_indexes.*.lifecycle.depends_on 4772 +resources.vector_search_indexes.*.lifecycle.depends_on[*] 4773 +resources.vector_search_indexes.*.lifecycle.depends_on[*].resource 4774 +resources.vector_search_indexes.*.id 4775 +resources.vector_search_indexes.*.delta_sync_index_spec 4776 +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_index 4777 +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_index[*] 4778 +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_sync 4779 +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_sync[*] 4780 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns 4781 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*] 4782 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].embedding_model_endpoint_name 4783 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].model_endpoint_name_for_query 4784 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].name 4785 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns 4786 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*] 4787 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*].embedding_dimension 4788 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*].name 4789 +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_writeback_table 4790 +resources.vector_search_indexes.*.delta_sync_index_spec.pipeline_type 4791 +resources.vector_search_indexes.*.delta_sync_index_spec.source_table 4792 +resources.vector_search_indexes.*.direct_access_index_spec 4793 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns 4794 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*] 4795 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].embedding_model_endpoint_name 4796 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].model_endpoint_name_for_query 4797 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].name 4798 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns 4799 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*] 4800 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*].embedding_dimension 4801 +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*].name 4802 +resources.vector_search_indexes.*.direct_access_index_spec.schema_json 4803 +resources.vector_search_indexes.*.endpoint_name 4804 +resources.vector_search_indexes.*.index_subtype 4805 +resources.vector_search_indexes.*.index_type 4806 +resources.vector_search_indexes.*.name 4807 +resources.vector_search_indexes.*.primary_key 4808 +resources.vector_search_indexes.*.grants 4809 +resources.vector_search_indexes.*.grants[*] 4810 +resources.vector_search_indexes.*.grants[*].principal 4811 +resources.vector_search_indexes.*.grants[*].privileges 4812 +resources.vector_search_indexes.*.grants[*].privileges[*] 4813 diff --git a/acceptance/bundle/bitmap/full/output/volumes.txt b/acceptance/bundle/bitmap/full/output/volumes.txt new file mode 100644 index 00000000000..2b3c2433687 --- /dev/null +++ b/acceptance/bundle/bitmap/full/output/volumes.txt @@ -0,0 +1,24 @@ +resources.volumes 3593 +resources.volumes.* 3594 +resources.volumes.*.url 3595 +resources.volumes.*.modified_status 3596 +resources.volumes.*.lifecycle 3597 +resources.volumes.*.lifecycle.prevent_destroy 3598 +resources.volumes.*.lifecycle.prevent_destroy=true 3599 +resources.volumes.*.lifecycle.prevent_destroy=false 3600 +resources.volumes.*.lifecycle.depends_on 3601 +resources.volumes.*.lifecycle.depends_on[*] 3602 +resources.volumes.*.lifecycle.depends_on[*].resource 3603 +resources.volumes.*.id 3604 +resources.volumes.*.catalog_name 3605 +resources.volumes.*.comment 3606 +resources.volumes.*.name 3607 +resources.volumes.*.schema_name 3608 +resources.volumes.*.storage_location 3609 +resources.volumes.*.volume_type 3610 +resources.volumes.*.volume_path 3611 +resources.volumes.*.grants 3612 +resources.volumes.*.grants[*] 3613 +resources.volumes.*.grants[*].principal 3614 +resources.volumes.*.grants[*].privileges 3615 +resources.volumes.*.grants[*].privileges[*] 3616 diff --git a/acceptance/bundle/bitmap/full/script b/acceptance/bundle/bitmap/full/script new file mode 100644 index 00000000000..54553baef6f --- /dev/null +++ b/acceptance/bundle/bitmap/full/script @@ -0,0 +1,4 @@ +# Records every schema line with its bit, split per resource type, so a PR that adds a config +# field shows where it landed in the append-only schema. Refreshed by 'task generate-bitmap-schema'; +# ../presence pins the semantics of the bits. +$CLI bundle bitmap schema | python3 split.py diff --git a/acceptance/bundle/bitmap/full/split.py b/acceptance/bundle/bitmap/full/split.py new file mode 100644 index 00000000000..4b3a45eaa62 --- /dev/null +++ b/acceptance/bundle/bitmap/full/split.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +"""Split the bitmap schema from stdin: resources..* goes to output/.txt, the rest to output/root.txt. + +Each line is "\t", so a file still shows where each of its fields sits in the schema.""" + +import os +import sys + +files = {} +os.makedirs("output", exist_ok=True) +for bit, line in enumerate(sys.stdin): + path = line.rstrip("\n") + parts = path.split(".") + name = parts[1] if parts[0] == "resources" and len(parts) > 1 else "root" + if name not in files: + files[name] = open(f"output/{name}.txt", "w", newline="\n") + files[name].write(f"{path}\t{bit}\n") +for f in files.values(): + f.close() diff --git a/acceptance/bundle/bitmap/full/test.toml b/acceptance/bundle/bitmap/full/test.toml new file mode 100644 index 00000000000..d3a556b4329 --- /dev/null +++ b/acceptance/bundle/bitmap/full/test.toml @@ -0,0 +1,2 @@ +# The schema does not depend on the bundle or the DMS variant. +EnvMatrix.DMS = [] diff --git a/acceptance/bundle/bitmap/presence/databricks.yml b/acceptance/bundle/bitmap/presence/databricks.yml new file mode 100644 index 00000000000..3b47e4a45c2 --- /dev/null +++ b/acceptance/bundle/bitmap/presence/databricks.yml @@ -0,0 +1,102 @@ +bundle: + name: test-bundle + +variables: + scalar_var: + description: a variable + default: abc + complex_var: + type: complex + default: + key: value + flag: + default: true + # Set through BUNDLE_VAR_off_flag in test.toml, so its value arrives as a string. + off_flag: + description: no default + clusters: + type: complex + default: + - job_cluster_key: shared + new_cluster: + spark_version: 15.4.x-scala2.12 + num_workers: 1 + +# An explicit false on an optional bool of a CLI-defined struct (*bool) is recorded, +# as it is for SDK bools (see disable_auto_optimization below). +experimental: + use_legacy_run_as: false + +presets: + name_prefix: dev_ + pipelines_development: false + +run_as: + service_principal_name: sp-1234 + +artifacts: + # One artifact with a build command and one with files only, so each + # per-artifact flag records both outcomes. + with_build: + type: whl + build: "true" + with_files: + type: whl + files: + - source: wheels/*.whl + +resources: + jobs: + my_job: + name: My Job + description: "escaped $${var.scalar_var}" + timeout_seconds: 0 + email_notifications: {} + parameters: [] + tags: + team: data + "a.b": c + # Set through a variable: the variable's value is recorded. + notification_settings: + no_alert_for_skipped_runs: ${var.flag} + # true here and false in other_job: both value bits are set. + queue: + enabled: true + tasks: + - task_key: a + # SDK bool with omitempty: an explicit false is kept via ForceSendFields. + disable_auto_optimization: false + notebook_task: + notebook_path: ./notebook.py + - task_key: b + depends_on: + - task_key: a + notebook_task: + notebook_path: ./notebook.py + other_job: + name: Other Job + queue: + enabled: false + email_notifications: + no_alert_for_skipped_runs: ${var.off_flag} + # A complex variable: the fields inside its value are recorded. + job_clusters: ${var.clusters} + clusters: + # lifecycle.started is a *bool, so the explicit false is kept: true on one cluster + # and false on the other sets both value bits. + started_cluster: + cluster_name: started + lifecycle: + started: true + stopped_cluster: + cluster_name: stopped + lifecycle: + started: false + +targets: + dev: + default: true + resources: + jobs: + my_job: + max_concurrent_runs: 2 diff --git a/acceptance/bundle/bitmap/presence/invalid/databricks.yml b/acceptance/bundle/bitmap/presence/invalid/databricks.yml new file mode 100644 index 00000000000..cb7920d4386 --- /dev/null +++ b/acceptance/bundle/bitmap/presence/invalid/databricks.yml @@ -0,0 +1,5 @@ +bundle: + name: test-bundle + +artifacts: + broken: diff --git a/acceptance/bundle/bitmap/presence/notebook.py b/acceptance/bundle/bitmap/presence/notebook.py new file mode 100644 index 00000000000..1645e04b1de --- /dev/null +++ b/acceptance/bundle/bitmap/presence/notebook.py @@ -0,0 +1 @@ +# Databricks notebook source diff --git a/acceptance/bundle/bitmap/presence/out.bitmap.json b/acceptance/bundle/bitmap/presence/out.bitmap.json new file mode 100644 index 00000000000..7f1268b6cdd --- /dev/null +++ b/acceptance/bundle/bitmap/presence/out.bitmap.json @@ -0,0 +1,164 @@ +{ + "size": [SCHEMA_SIZE], + "context": 0, + "presence": { + "artifacts": { + "*": { + "build": true, + "files": { + "[*]": { + "source": true + } + }, + "type": true + } + }, + "bundle": { + "name": true + }, + "experimental": { + "use_legacy_run_as": true + }, + "presets": { + "name_prefix": true, + "pipelines_development": true + }, + "resources": { + "clusters": { + "*": { + "cluster_name": true, + "lifecycle": { + "started": true + } + } + }, + "jobs": { + "*": { + "description": true, + "email_notifications": { + "no_alert_for_skipped_runs": true + }, + "job_clusters": { + "[*]": { + "job_cluster_key": true, + "new_cluster": { + "num_workers": true, + "spark_version": true + } + } + }, + "max_concurrent_runs": true, + "name": true, + "notification_settings": { + "no_alert_for_skipped_runs": true + }, + "parameters": true, + "queue": { + "enabled": true + }, + "tags": { + "*": true + }, + "tasks": { + "[*]": { + "depends_on": { + "[*]": { + "task_key": true + } + }, + "disable_auto_optimization": true, + "notebook_task": { + "notebook_path": true + }, + "task_key": true + } + }, + "timeout_seconds": true + } + } + }, + "run_as": { + "service_principal_name": true + }, + "telemetry": { + "ArtifactBuildCommandIsSet": true, + "ArtifactFilesIsSet": true, + "ConfigHasDoubleDollarBrace": true, + "PresetsNamePrefixIsSet": true, + "RunAsSet": true, + "UseLegacyRunAs": true + }, + "variables": { + "*": { + "default": true, + "description": true, + "type": true + } + } + }, + "true": { + "resources": { + "clusters": { + "*": { + "lifecycle": { + "started": true + } + } + }, + "jobs": { + "*": { + "notification_settings": { + "no_alert_for_skipped_runs": true + }, + "queue": { + "enabled": true + } + } + } + }, + "telemetry": { + "ArtifactBuildCommandIsSet": true, + "ArtifactFilesIsSet": true, + "ConfigHasDoubleDollarBrace": true, + "PresetsNamePrefixIsSet": true, + "RunAsSet": true + } + }, + "false": { + "experimental": { + "use_legacy_run_as": true + }, + "presets": { + "pipelines_development": true + }, + "resources": { + "clusters": { + "*": { + "lifecycle": { + "started": true + } + } + }, + "jobs": { + "*": { + "email_notifications": { + "no_alert_for_skipped_runs": true + }, + "queue": { + "enabled": true + }, + "tasks": { + "[*]": { + "disable_auto_optimization": true + } + } + } + } + }, + "telemetry": { + "ArtifactBuildCommandIsSet": true, + "ArtifactFilesIsSet": true, + "UseLegacyRunAs": true + } + } +} diff --git a/acceptance/bundle/bitmap/presence/out.bitmap.txt b/acceptance/bundle/bitmap/presence/out.bitmap.txt new file mode 100644 index 00000000000..93bdacc046c --- /dev/null +++ b/acceptance/bundle/bitmap/presence/out.bitmap.txt @@ -0,0 +1,68 @@ +size=[SCHEMA_SIZE] context=0 +1 variables +1 variables.* +1 variables.*.type +1 variables.*.default +1 variables.*.description +1 bundle +1 bundle.name +1 artifacts +1 artifacts.* +1 artifacts.*.type +1 artifacts.*.files +1 artifacts.*.files[*] +1 artifacts.*.files[*].source +1 artifacts.*.build +1 resources +1 resources.jobs +1 resources.jobs.* +1 resources.jobs.*.description +1 resources.jobs.*.email_notifications +F resources.jobs.*.email_notifications.no_alert_for_skipped_runs +1 resources.jobs.*.job_clusters +1 resources.jobs.*.job_clusters[*] +1 resources.jobs.*.job_clusters[*].job_cluster_key +1 resources.jobs.*.job_clusters[*].new_cluster +1 resources.jobs.*.job_clusters[*].new_cluster.num_workers +1 resources.jobs.*.job_clusters[*].new_cluster.spark_version +1 resources.jobs.*.max_concurrent_runs +1 resources.jobs.*.name +1 resources.jobs.*.notification_settings +T resources.jobs.*.notification_settings.no_alert_for_skipped_runs +1 resources.jobs.*.parameters +1 resources.jobs.*.queue +T resources.jobs.*.queue.enabled +F resources.jobs.*.queue.enabled +1 resources.jobs.*.tags +1 resources.jobs.*.tags.* +1 resources.jobs.*.tasks +1 resources.jobs.*.tasks[*] +1 resources.jobs.*.tasks[*].depends_on +1 resources.jobs.*.tasks[*].depends_on[*] +1 resources.jobs.*.tasks[*].depends_on[*].task_key +F resources.jobs.*.tasks[*].disable_auto_optimization +1 resources.jobs.*.tasks[*].notebook_task +1 resources.jobs.*.tasks[*].notebook_task.notebook_path +1 resources.jobs.*.tasks[*].task_key +1 resources.jobs.*.timeout_seconds +1 resources.clusters +1 resources.clusters.* +1 resources.clusters.*.lifecycle +1 resources.clusters.*.cluster_name +T resources.clusters.*.lifecycle.started +F resources.clusters.*.lifecycle.started +1 run_as +1 run_as.service_principal_name +1 presets +1 presets.name_prefix +F presets.pipelines_development +1 experimental +F experimental.use_legacy_run_as +T telemetry.ArtifactBuildCommandIsSet +F telemetry.ArtifactBuildCommandIsSet +T telemetry.ArtifactFilesIsSet +F telemetry.ArtifactFilesIsSet +T telemetry.PresetsNamePrefixIsSet +T telemetry.ConfigHasDoubleDollarBrace +F telemetry.UseLegacyRunAs +T telemetry.RunAsSet diff --git a/acceptance/bundle/bitmap/presence/out.test.toml b/acceptance/bundle/bitmap/presence/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/bitmap/presence/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/bitmap/presence/output.txt b/acceptance/bundle/bitmap/presence/output.txt new file mode 100644 index 00000000000..c7c6a6650df --- /dev/null +++ b/acceptance/bundle/bitmap/presence/output.txt @@ -0,0 +1,55 @@ + +>>> [CLI] bundle bitmap bitmap -o text + +>>> [CLI] bundle bitmap bitmap -o json + +>>> [CLI] bundle bitmap bitmap + +>>> [CLI] bundle bitmap decode + +>>> [CLI] bundle bitmap decode -o json + +>>> [CLI] bundle bitmap decode -o compressed + +>>> uv run --isolated --no-project --reinstall-package databricks-bundles --with [DATABRICKS_BUNDLES_WHEEL] -q python -m databricks.bundles._bitmap + +>>> [CLI] bundle bitmap update-schema --validate + +=== decode rejects input that is not an encoded bitmap + +>>> musterr [CLI] bundle bitmap decode +Error: base64: illegal base64 data at input byte 3 + +=== -o accepts compressed, text and json + +>>> musterr [CLI] bundle bitmap bitmap -o yaml +Error: invalid argument "yaml" for "-o, --output" flag: accepted values are compressed, text and json + +Usage: + databricks bundle bitmap bitmap [flags] + +Flags: + -h, --help help for bitmap + -o, --output format output format: + compressed: base64 of the DEFLATE-compressed wire format + text: a "size=N context=C" header, then one " " line per + set field: "T" or "F" for a boolean field holding that value, "1" + for any other field; unset fields are omitted + json: size, context, and trees of the fields present ("presence") and of + the boolean fields seen holding "true" and "false" (default compressed) + +Global Flags: + --debug enable debug logging + -p, --profile string ~/.databrickscfg profile + -t, --target string bundle target to use (if applicable) + --var strings set values for variables defined in bundle config. Example: --var="foo=bar" + + +=== An invalid bundle fails instead of printing a bitmap + +>>> musterr [CLI] bundle bitmap bitmap +Error: Artifact not properly configured + in databricks.yml:5:10 + +please specify artifact properties + diff --git a/acceptance/bundle/bitmap/presence/script b/acceptance/bundle/bitmap/presence/script new file mode 100644 index 00000000000..2b5486ac061 --- /dev/null +++ b/acceptance/bundle/bitmap/presence/script @@ -0,0 +1,35 @@ +# The size grows with every field appended to the schema; replacing it keeps these goldens +# stable while still asserting that the bitmap covers the whole schema (../full records it). +add_repl "$($CLI bundle bitmap schema | wc -l | tr -d ' ')" SCHEMA_SIZE + +# One line per set field ("1", or "T"/"F" for a bool) after a size/context header. +trace $CLI bundle bitmap bitmap -o text > out.bitmap.txt +trace $CLI bundle bitmap bitmap -o json > out.bitmap.json + +# The encoded bitmap decodes back to the same fields, with the CLI and with the +# self-contained decoder in databricks-bundles. --reinstall-package: the wheel's +# version does not change with the code, and uv would reuse a cached install. +trace $CLI bundle bitmap bitmap > bitmap.b64 +trace $CLI bundle bitmap decode < bitmap.b64 > decoded.txt +diff.py out.bitmap.txt decoded.txt +trace $CLI bundle bitmap decode -o json < bitmap.b64 > decoded.json +diff.py out.bitmap.json decoded.json +# Encoding is deterministic, so re-encoding a decoded bitmap gives the same bytes. +trace $CLI bundle bitmap decode -o compressed < bitmap.b64 > recoded.b64 +diff.py bitmap.b64 recoded.b64 +trace uv run --isolated --no-project --reinstall-package databricks-bundles --with "$DATABRICKS_BUNDLES_WHEEL" -q python -m databricks.bundles._bitmap < bitmap.b64 > decoded-python.txt +diff.py out.bitmap.txt decoded-python.txt + +trace $CLI bundle bitmap update-schema --validate + +title "decode rejects input that is not an encoded bitmap\n" +echo not-a-bitmap | trace musterr $CLI bundle bitmap decode + +title "-o accepts compressed, text and json\n" +trace musterr $CLI bundle bitmap bitmap -o yaml +# The message comes from Python's base64 module and varies by version, so it is logged, not diffed. +echo not-a-bitmap | trace musterr uv run --isolated --no-project --reinstall-package databricks-bundles --with "$DATABRICKS_BUNDLES_WHEEL" -q python -m databricks.bundles._bitmap 2> LOG.decode_python + +title "An invalid bundle fails instead of printing a bitmap\n" +cd invalid +trace musterr $CLI bundle bitmap bitmap diff --git a/acceptance/bundle/bitmap/presence/test.toml b/acceptance/bundle/bitmap/presence/test.toml new file mode 100644 index 00000000000..43a45a70b82 --- /dev/null +++ b/acceptance/bundle/bitmap/presence/test.toml @@ -0,0 +1,4 @@ +Env.BUNDLE_VAR_off_flag = "false" + +# Scratch files of the round-trip check; out.bitmap.txt and out.bitmap.json are the goldens. +Ignore = [".databricks", "bitmap.b64", "recoded.b64", "decoded.txt", "decoded.json", "decoded-python.txt"] diff --git a/acceptance/bundle/bitmap/presence/wheels/test_bundle-0.1-py3-none-any.whl b/acceptance/bundle/bitmap/presence/wheels/test_bundle-0.1-py3-none-any.whl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/acceptance/bundle/invariant/validate_bitmap/out.test.toml b/acceptance/bundle/invariant/validate_bitmap/out.test.toml new file mode 100644 index 00000000000..605c7888391 --- /dev/null +++ b/acceptance/bundle/invariant/validate_bitmap/out.test.toml @@ -0,0 +1,70 @@ +Cloud = false +EnvMatrix.DMS = [] +EnvMatrix.INPUT_CONFIG = [ + "alert.yml.tmpl", + "app.yml.tmpl", + "catalog.yml.tmpl", + "catalog_optional_fields.yml.tmpl", + "cluster.yml.tmpl", + "cluster_apply_policy_default_values.yml.tmpl", + "cluster_libraries.yml.tmpl", + "cluster_policy.yml.tmpl", + "dashboard.yml.tmpl", + "job_apply_policy_default_values_job_cluster.yml.tmpl", + "job_apply_policy_default_values_task_cluster.yml.tmpl", + "job_apply_policy_default_values_for_each_task.yml.tmpl", + "data_quality_monitor.yml.tmpl", + "database_catalog.yml.tmpl", + "database_instance.yml.tmpl", + "experiment.yml.tmpl", + "external_location.yml.tmpl", + "feature.yml.tmpl", + "genie_space.yml.tmpl", + "instance_pool.yml.tmpl", + "job.yml.tmpl", + "job_pydabs_10_tasks.yml.tmpl", + "job_pydabs_1000_tasks.yml.tmpl", + "job_cross_resource_ref.yml.tmpl", + "job_escaped_refs.yml.tmpl", + "job_permission_ref.yml.tmpl", + "job_run.yml.tmpl", + "job_run_job_ref.yml.tmpl", + "job_table_update_trigger.yml.tmpl", + "job_with_depends_on.yml.tmpl", + "job_with_task.yml.tmpl", + "model.yml.tmpl", + "model_with_permissions.yml.tmpl", + "model_serving_endpoint.yml.tmpl", + "model_serving_endpoint_telemetry.yml.tmpl", + "pipeline.yml.tmpl", + "pipeline_allow_duplicate_names.yml.tmpl", + "pipeline_apply_policy_default_values.yml.tmpl", + "pipeline_config_dots.yml.tmpl", + "postgres_branch.yml.tmpl", + "postgres_catalog.yml.tmpl", + "postgres_data_api.yml.tmpl", + "postgres_database.yml.tmpl", + "postgres_endpoint.yml.tmpl", + "postgres_project.yml.tmpl", + "postgres_role.yml.tmpl", + "postgres_synced_table.yml.tmpl", + "registered_model.yml.tmpl", + "schema.yml.tmpl", + "schema_tf_compat.yml.tmpl", + "schema_empty_grants.yml.tmpl", + "schema_grant_ref.yml.tmpl", + "schema_uppercase_name.yml.tmpl", + "secret.yml.tmpl", + "secret_scope.yml.tmpl", + "secret_scope_default_backend_type.yml.tmpl", + "sql_warehouse.yml.tmpl", + "synced_database_table.yml.tmpl", + "uc_trailing_slash.yml.tmpl", + "vector_search_endpoint.yml.tmpl", + "vector_search_index.yml.tmpl", + "volume.yml.tmpl", + "volume_external.yml.tmpl", + "volume_path_job_ref.yml.tmpl", + "volume_uppercase_name.yml.tmpl", + "model_service.yml.tmpl" +] diff --git a/acceptance/bundle/invariant/validate_bitmap/output.txt b/acceptance/bundle/invariant/validate_bitmap/output.txt new file mode 100644 index 00000000000..7a28cb73a58 --- /dev/null +++ b/acceptance/bundle/invariant/validate_bitmap/output.txt @@ -0,0 +1 @@ +INPUT_CONFIG_OK diff --git a/acceptance/bundle/invariant/validate_bitmap/script b/acceptance/bundle/invariant/validate_bitmap/script new file mode 100644 index 00000000000..671d89cd7e6 --- /dev/null +++ b/acceptance/bundle/invariant/validate_bitmap/script @@ -0,0 +1,36 @@ +# Invariant to test: every config validates, and its bitmap survives encoding: the CLI decoder +# (text and JSON) and the databricks-bundles Python decoder (text) reproduce what the bitmap +# command prints before encoding. +# Nothing is deployed, so there is nothing to clean up. + +invariant_render + +# Validation output differs per config: log it, check for panics. +$CLI bundle validate &> LOG.validate +cat LOG.validate | contains.py '!panic:' '!internal error' > /dev/null +$CLI bundle validate -o json > LOG.validate_json 2> LOG.validate_json_err +cat LOG.validate_json_err | contains.py '!panic:' '!internal error' > /dev/null + +# Tells the fuzzer the generated config was valid; failures after this count as bugs. +echo INPUT_CONFIG_OK + +$CLI bundle bitmap bitmap -o text > LOG.bitmap_text 2> LOG.bitmap_text_err +cat LOG.bitmap_text_err | contains.py '!panic:' '!internal error' > /dev/null +# Every config names its bundle; guards against comparing two empty decodes. +cat LOG.bitmap_text | contains.py '1 bundle.name' > /dev/null + +$CLI bundle bitmap bitmap -o json > LOG.bitmap_json 2> LOG.bitmap_json_err +cat LOG.bitmap_json_err | contains.py '!panic:' '!internal error' > /dev/null + +$CLI bundle bitmap bitmap > LOG.bitmap 2> LOG.bitmap_err +cat LOG.bitmap_err | contains.py '!panic:' '!internal error' > /dev/null + +$CLI bundle bitmap decode < LOG.bitmap > LOG.bitmap_decoded +$CLI bundle bitmap decode -o json < LOG.bitmap > LOG.bitmap_decoded_json +# --reinstall-package: the wheel's version does not change with the code, and uv would reuse a +# cached install. +uv run --isolated --no-project --reinstall-package databricks-bundles --with "$DATABRICKS_BUNDLES_WHEEL" -q python -m databricks.bundles._bitmap < LOG.bitmap > LOG.bitmap_decoded_python + +diff.py LOG.bitmap_text LOG.bitmap_decoded +diff.py LOG.bitmap_json LOG.bitmap_decoded_json +diff.py LOG.bitmap_text LOG.bitmap_decoded_python diff --git a/acceptance/bundle/invariant/validate_bitmap/test.toml b/acceptance/bundle/invariant/validate_bitmap/test.toml new file mode 100644 index 00000000000..6ccc31b67aa --- /dev/null +++ b/acceptance/bundle/invariant/validate_bitmap/test.toml @@ -0,0 +1,5 @@ +# Nothing is deployed, so the local test server is enough. +Cloud = false + +# Neither validate nor the bitmap uses the deployment metadata service. +EnvMatrix.DMS = [] diff --git a/acceptance/bundle/python/telemetry/output.txt b/acceptance/bundle/python/telemetry/output.txt index 1b6ba81e813..c704d515701 100644 --- a/acceptance/bundle/python/telemetry/output.txt +++ b/acceptance/bundle/python/telemetry/output.txt @@ -68,3 +68,9 @@ Resources: 0 created, 0 changed, 0 deleted, 4 unchanged "schemas" ] } + +=== Bitmap includes resources defined in Python +>>> uv run [UV_ARGS] -q [CLI] bundle bitmap bitmap -o text +1 resources.pipelines +1 resources.pipelines.* +1 resources.pipelines.*.name diff --git a/acceptance/bundle/python/telemetry/script b/acceptance/bundle/python/telemetry/script index 311998c3e9c..7daa18be564 100644 --- a/acceptance/bundle/python/telemetry/script +++ b/acceptance/bundle/python/telemetry/script @@ -17,4 +17,9 @@ trace update_file.py databricks.yml 'python: {resources: ["resources:load_resour trace uv run $UV_ARGS -q $CLI bundle deploy print_pydabs_telemetry +# The pipeline is defined only in Python. The bitmap records it as written: +# its name, without the defaults the CLI fills in afterwards. +title "Bitmap includes resources defined in Python" +trace uv run $UV_ARGS -q $CLI bundle bitmap bitmap -o text | grep ' resources.pipelines' + rm -fr .databricks __pycache__ diff --git a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/databricks.yml b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/databricks.yml index 73279b89f9b..cd237f9e6e5 100644 --- a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/databricks.yml +++ b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/databricks.yml @@ -3,8 +3,14 @@ bundle: resources: apps: + # One app started and one stopped: app_lifecycle_started reports each value once. myapp: name: my-app source_code_path: . lifecycle: started: true + stopped_app: + name: stopped-app + source_code_path: ./stopped + lifecycle: + started: false diff --git a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/output.txt b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/output.txt index 4362ebba960..6b828f7b641 100644 --- a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/output.txt +++ b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/output.txt @@ -1,46 +1,46 @@ >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... -✓ Deployment succeeded Created apps.myapp -Files: 1 uploaded, 0 deleted -Resources: 1 created, 0 changed, 0 deleted, 0 unchanged +Created apps.stopped_app +Files: 2 uploaded, 0 deleted +Resources: 2 created, 0 changed, 0 deleted, 0 unchanged >>> cat [OUTPUT_DIR]/out.requests.txt { "bool_values": [ { - "key": "local.cache.attempt", - "value": true - }, - { - "key": "local.cache.miss", - "value": true + "key": "python_wheel_wrapper_is_set", + "value": false }, { - "key": "experimental.use_legacy_run_as", + "key": "presets_name_prefix_is_set", "value": false }, { - "key": "run_as_set", - "value": false + "key": "app_lifecycle_started", + "value": true }, { - "key": "presets_name_prefix_is_set", + "key": "app_lifecycle_started", "value": false }, { - "key": "python_wheel_wrapper_is_set", + "key": "deployment_history_enabled", "value": false }, { - "key": "skip_artifact_cleanup", + "key": "immutable_snapshot_used", "value": false }, { "key": "state_path_is_shared", "value": false }, + { + "key": "dms_compat_auto", + "value": true + }, { "key": "permissions_section_set", "value": false @@ -74,31 +74,35 @@ Resources: 1 created, 0 changed, 0 deleted, 0 unchanged "value": false }, { - "key": "dms_compat_auto", - "value": true + "key": "skip_artifact_cleanup", + "value": false }, { - "key": "has_serverless_compute", + "key": "experimental.use_legacy_run_as", "value": false }, { - "key": "has_classic_job_compute", + "key": "run_as_set", "value": false }, { - "key": "has_classic_interactive_compute", + "key": "has_serverless_compute", "value": false }, { - "key": "deployment_history_enabled", + "key": "has_classic_job_compute", "value": false }, { - "key": "immutable_snapshot_used", + "key": "has_classic_interactive_compute", "value": false }, { - "key": "app_lifecycle_started", + "key": "local.cache.attempt", + "value": true + }, + { + "key": "local.cache.miss", "value": true } ] diff --git a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/stopped/app.py b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/stopped/app.py new file mode 100644 index 00000000000..81c2b1e610f --- /dev/null +++ b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/stopped/app.py @@ -0,0 +1 @@ +print("stopped") diff --git a/acceptance/bundle/telemetry/deploy-app-lifecycle-started/test.toml b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/test.toml new file mode 100644 index 00000000000..f03b652f20a --- /dev/null +++ b/acceptance/bundle/telemetry/deploy-app-lifecycle-started/test.toml @@ -0,0 +1,4 @@ +# The two apps deploy in parallel and only the started one prints its deployment +# message, which can land on either side of the stopped app's "Created" line. +# Suppressing it leaves the "Created" lines adjacent, so deploy_actions sorts them. +SuppressLines.app_deployment = '^✓ Deployment succeeded$' diff --git a/acceptance/bundle/telemetry/deploy/out.telemetry.txt b/acceptance/bundle/telemetry/deploy/out.telemetry.txt index cb92e434e30..5a8df9d4970 100644 --- a/acceptance/bundle/telemetry/deploy/out.telemetry.txt +++ b/acceptance/bundle/telemetry/deploy/out.telemetry.txt @@ -43,19 +43,7 @@ "target_count": 1, "bool_values": [ { - "key": "local.cache.attempt", - "value": true - }, - { - "key": "local.cache.miss", - "value": true - }, - { - "key": "experimental.use_legacy_run_as", - "value": false - }, - { - "key": "run_as_set", + "key": "python_wheel_wrapper_is_set", "value": false }, { @@ -63,17 +51,21 @@ "value": false }, { - "key": "python_wheel_wrapper_is_set", + "key": "deployment_history_enabled", "value": false }, { - "key": "skip_artifact_cleanup", + "key": "immutable_snapshot_used", "value": false }, { "key": "state_path_is_shared", "value": false }, + { + "key": "dms_compat_auto", + "value": true + }, { "key": "permissions_section_set", "value": false @@ -107,8 +99,16 @@ "value": false }, { - "key": "dms_compat_auto", - "value": true + "key": "skip_artifact_cleanup", + "value": false + }, + { + "key": "experimental.use_legacy_run_as", + "value": false + }, + { + "key": "run_as_set", + "value": false }, { "key": "has_serverless_compute", @@ -123,12 +123,12 @@ "value": false }, { - "key": "deployment_history_enabled", - "value": false + "key": "local.cache.attempt", + "value": true }, { - "key": "immutable_snapshot_used", - "value": false + "key": "local.cache.miss", + "value": true } ], "bundle_mode": "TYPE_UNSPECIFIED", diff --git a/acceptance/bundle/templates/default-python/classic/out.bitmap.txt b/acceptance/bundle/templates/default-python/classic/out.bitmap.txt new file mode 100644 index 00000000000..3e93c6af041 --- /dev/null +++ b/acceptance/bundle/templates/default-python/classic/out.bitmap.txt @@ -0,0 +1,76 @@ +1 variables +1 variables.* +1 variables.*.default +1 variables.*.description +1 bundle +1 bundle.name +1 bundle.mode +1 bundle.uuid +1 include +1 include[*] +1 workspace +1 workspace.host +1 artifacts +1 artifacts.* +1 artifacts.*.type +1 artifacts.*.build +1 resources +1 resources.jobs +1 resources.jobs.* +1 resources.jobs.*.job_clusters +1 resources.jobs.*.job_clusters[*] +1 resources.jobs.*.job_clusters[*].job_cluster_key +1 resources.jobs.*.job_clusters[*].new_cluster +1 resources.jobs.*.job_clusters[*].new_cluster.autoscale +1 resources.jobs.*.job_clusters[*].new_cluster.autoscale.max_workers +1 resources.jobs.*.job_clusters[*].new_cluster.autoscale.min_workers +1 resources.jobs.*.job_clusters[*].new_cluster.data_security_mode +1 resources.jobs.*.job_clusters[*].new_cluster.node_type_id +1 resources.jobs.*.job_clusters[*].new_cluster.spark_version +1 resources.jobs.*.name +1 resources.jobs.*.parameters +1 resources.jobs.*.parameters[*] +1 resources.jobs.*.parameters[*].default +1 resources.jobs.*.parameters[*].name +1 resources.jobs.*.tasks +1 resources.jobs.*.tasks[*] +1 resources.jobs.*.tasks[*].depends_on +1 resources.jobs.*.tasks[*].depends_on[*] +1 resources.jobs.*.tasks[*].depends_on[*].task_key +1 resources.jobs.*.tasks[*].job_cluster_key +1 resources.jobs.*.tasks[*].libraries +1 resources.jobs.*.tasks[*].libraries[*] +1 resources.jobs.*.tasks[*].libraries[*].whl +1 resources.jobs.*.tasks[*].notebook_task +1 resources.jobs.*.tasks[*].notebook_task.notebook_path +1 resources.jobs.*.tasks[*].pipeline_task +1 resources.jobs.*.tasks[*].pipeline_task.pipeline_id +1 resources.jobs.*.tasks[*].python_wheel_task +1 resources.jobs.*.tasks[*].python_wheel_task.entry_point +1 resources.jobs.*.tasks[*].python_wheel_task.package_name +1 resources.jobs.*.tasks[*].python_wheel_task.parameters +1 resources.jobs.*.tasks[*].python_wheel_task.parameters[*] +1 resources.jobs.*.tasks[*].task_key +1 resources.jobs.*.trigger +1 resources.jobs.*.trigger.periodic +1 resources.jobs.*.trigger.periodic.interval +1 resources.jobs.*.trigger.periodic.unit +1 resources.pipelines +1 resources.pipelines.* +1 resources.pipelines.*.environment +1 resources.pipelines.*.environment.dependencies +1 resources.pipelines.*.environment.dependencies[*] +1 resources.pipelines.*.libraries +1 resources.pipelines.*.libraries[*] +1 resources.pipelines.*.libraries[*].glob +1 resources.pipelines.*.libraries[*].glob.include +1 resources.pipelines.*.name +1 resources.pipelines.*.root_path +1 resources.pipelines.*.schema +1 presets +T presets.artifacts_dynamic_version +T telemetry.ArtifactBuildCommandIsSet +F telemetry.ArtifactFilesIsSet +T telemetry.PresetsNamePrefixIsSet +F telemetry.UseLegacyRunAs +F telemetry.RunAsSet diff --git a/acceptance/bundle/templates/default-python/classic/script b/acceptance/bundle/templates/default-python/classic/script index a1227e1fb0d..fa6049b2826 100644 --- a/acceptance/bundle/templates/default-python/classic/script +++ b/acceptance/bundle/templates/default-python/classic/script @@ -4,6 +4,10 @@ cd output/my_default_python trace $CLI bundle validate -t dev trace $CLI bundle validate -t prod +# Record which fields of this realistic template the bitmap reports as set. tail skips the +# size=N header: N grows with every field appended to the schema. +$CLI bundle bitmap bitmap -o text -t dev | tail -n +2 > ../../out.bitmap.txt + trace $CLI bundle plan -t dev trace $CLI bundle plan -t prod diff --git a/acceptance/selftest/selection/output.txt b/acceptance/selftest/selection/output.txt index 7e2c55b1c1d..2b0d00380dc 100644 --- a/acceptance/selftest/selection/output.txt +++ b/acceptance/selftest/selection/output.txt @@ -28,7 +28,7 @@ Selected 2 changed tests (limit=50, 0 not selected) === Touching an invariant config runs every invariant test, for that config only >>> selection M:acceptance/bundle/invariant/configs/job.yml.tmpl -Selected 6 changed tests (limit=50, 0 not selected) +Selected 7 changed tests (limit=50, 0 not selected) 5 ^bundle$/^invariant$/^auto-migrate$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^continue_293$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^delete_idempotent$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ @@ -36,11 +36,12 @@ Selected 6 changed tests (limit=50, 0 not selected) 5 ^bundle$/^invariant$/^migrate$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=true$/^INPUT_CONFIG=job\.yml\.tmpl$ + 5 ^bundle$/^invariant$/^validate_bitmap$/^INPUT_CONFIG=job\.yml\.tmpl$ === Adding one invariant config and touching another: only the new variant is new >>> selection A:acceptance/bundle/invariant/configs/pipeline.yml.tmpl M:acceptance/bundle/invariant/configs/job.yml.tmpl -Selected 12 changed tests (limit=50, 0 not selected) +Selected 14 changed tests (limit=50, 0 not selected) 10 ^bundle$/^invariant$/^auto-migrate$/^DMS=$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ 10 ^bundle$/^invariant$/^continue_293$/^DMS=$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ 10 ^bundle$/^invariant$/^delete_idempotent$/^DMS=$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ @@ -48,6 +49,7 @@ Selected 12 changed tests (limit=50, 0 not selected) 10 ^bundle$/^invariant$/^migrate$/^DMS=$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ 10 ^bundle$/^invariant$/^no_drift$/^DMS=$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ 10 ^bundle$/^invariant$/^no_drift$/^DMS=true$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ + 10 ^bundle$/^invariant$/^validate_bitmap$/^INPUT_CONFIG=pipeline\.yml\.tmpl$ 5 ^bundle$/^invariant$/^auto-migrate$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^continue_293$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^delete_idempotent$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ @@ -55,15 +57,17 @@ Selected 12 changed tests (limit=50, 0 not selected) 5 ^bundle$/^invariant$/^migrate$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=true$/^INPUT_CONFIG=job\.yml\.tmpl$ + 5 ^bundle$/^invariant$/^validate_bitmap$/^INPUT_CONFIG=job\.yml\.tmpl$ === A config an invariant test excludes does not select that test >>> selection M:acceptance/bundle/invariant/configs/vector_search_index.yml.tmpl -Selected 3 changed tests (limit=50, 0 not selected) +Selected 4 changed tests (limit=50, 0 not selected) 5 ^bundle$/^invariant$/^delete_idempotent$/^DMS=$/^INPUT_CONFIG=vector_search_index\.yml\.tmpl$ 5 ^bundle$/^invariant$/^destroy_idempotent$/^DMS=$/^INPUT_CONFIG=vector_search_index\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=$/^INPUT_CONFIG=vector_search_index\.yml\.tmpl$ 5 ^bundle$/^invariant$/^no_drift$/^DMS=true$/^INPUT_CONFIG=vector_search_index\.yml\.tmpl$ + 5 ^bundle$/^invariant$/^validate_bitmap$/^INPUT_CONFIG=vector_search_index\.yml\.tmpl$ === Renaming a fixture out of a test selects the test that lost it @@ -74,7 +78,7 @@ Selected 1 changed tests (limit=50, 0 not selected) === The limit keeps the highest scoring tests >>> selection -limit 3 A:acceptance/selftest/basic/script M:acceptance/selftest/diff/script M:acceptance/bundle/invariant/configs/job.yml.tmpl -Selected 3 changed tests (limit=3, 5 not selected) +Selected 3 changed tests (limit=3, 6 not selected) 10 ^selftest$/^basic$ 5 ^bundle$/^invariant$/^auto-migrate$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ 5 ^bundle$/^invariant$/^continue_293$/^DMS=$/^INPUT_CONFIG=job\.yml\.tmpl$ diff --git a/bundle/artifacts/build.go b/bundle/artifacts/build.go index 10d1f0aa03c..b3ff560d293 100644 --- a/bundle/artifacts/build.go +++ b/bundle/artifacts/build.go @@ -10,7 +10,6 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/config" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/libs/cmdio" "github.com/databricks/cli/libs/diag" "github.com/databricks/cli/libs/exec" @@ -80,7 +79,7 @@ func (m *build) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics { } if a.Type == "whl" && config.IsExplicitlyEnabled(a.DynamicVersion) && cacheDir != "" { - b.Metrics.AddBoolValue(metrics.ArtifactDynamicVersionIsSet, true) + b.Telemetry.ArtifactDynamicVersionIsSet.SetBool(true) for ind, artifactFile := range a.Files { patchedWheel := makePatchedWheel(ctx, cacheDir, artifactName, artifactFile.Source) log.Debugf(ctx, "Patching ind=%d artifactName=%s Source=%s patchedWheel=%s", ind, artifactName, artifactFile.Source, patchedWheel) diff --git a/bundle/artifacts/prepare.go b/bundle/artifacts/prepare.go index e285eb1ee30..8ac914b2eb8 100644 --- a/bundle/artifacts/prepare.go +++ b/bundle/artifacts/prepare.go @@ -12,7 +12,6 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/libraries" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/libs/diag" "github.com/databricks/cli/libs/log" "github.com/databricks/cli/libs/logdiag" @@ -47,8 +46,8 @@ func (m *prepare) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics }) continue } - b.Metrics.AddBoolValue(metrics.ArtifactBuildCommandIsSet, artifact.BuildCommand != "") - b.Metrics.AddBoolValue(metrics.ArtifactFilesIsSet, len(artifact.Files) != 0) + b.Telemetry.ArtifactBuildCommandIsSet.SetBool(artifact.BuildCommand != "") + b.Telemetry.ArtifactFilesIsSet.SetBool(len(artifact.Files) != 0) // A `tgz` artifact with `include`/`git` is built by DABs itself in the build // phase (see artifacts.Build). `build` and `git`/`include` are mutually diff --git a/bundle/artifacts/upload.go b/bundle/artifacts/upload.go index c5b6e225d9f..35aaf0ad976 100644 --- a/bundle/artifacts/upload.go +++ b/bundle/artifacts/upload.go @@ -28,7 +28,7 @@ func (m *cleanUp) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics } skipArtifactsCleanup := b.Config.Experimental != nil && config.IsExplicitlyEnabled(b.Config.Experimental.SkipArtifactCleanup) - b.Metrics.AddBoolValue("skip_artifact_cleanup", skipArtifactsCleanup) + b.Telemetry.SkipArtifactCleanup = new(skipArtifactsCleanup) if skipArtifactsCleanup { log.Info(ctx, "Skip cleaning up artifacts folder") } else { diff --git a/bundle/bitmap/bitmap.go b/bundle/bitmap/bitmap.go new file mode 100644 index 00000000000..d8cfa41d997 --- /dev/null +++ b/bundle/bitmap/bitmap.go @@ -0,0 +1,519 @@ +// Package bitmap encodes the presence of every bundle configuration field as a +// single bit. The schema (the ordered list of field paths) is derived by +// reflecting over config.Root and recorded in schema.txt, which is embedded into +// the binary. The schema is append-only so that bit positions stay stable across +// releases: a newer binary can decode an older bitmap and vice versa. +// +// The bits describe the configuration as the user wrote it, not the result of +// Initialize, so defaults the CLI fills in are not counted (see Builder). +package bitmap + +import ( + "bytes" + "compress/flate" + "encoding/base64" + "encoding/binary" + "fmt" + "io" + "reflect" + "slices" + "strings" + + "github.com/databricks/cli/bundle/config" + "github.com/databricks/cli/libs/dyn" + "github.com/databricks/cli/libs/dyn/convert" + "github.com/databricks/cli/libs/dyn/dynvar" + "github.com/databricks/cli/libs/structs/structpath" + "github.com/databricks/cli/libs/structs/structwalk" +) + +// magic identifies a bundle telemetry bitmap. The bytes are chosen so they do +// not collide with the leading bytes of the compression formats we wrap the +// payload in (gzip 0x1f 0x8b, zlib 0x78), so a decoder can tell a raw payload +// from a compressed one. +const magic = "DBTB" + +// ContextFullBundle marks a bitmap covering the whole user-authored config. Other +// context values are reserved for narrower bitmaps in the future. +const ContextFullBundle uint16 = 0 + +// headerSize is the size of the fixed header: magic (4) + size (4) + context (2). +const headerSize = 10 + +// EmbeddedSchema returns the schema baked into the binary at build time. +func EmbeddedSchema() []string { + return parseSchema(schemaBytes) +} + +// telemetryPrefix namespaces the internal telemetry struct's fields in the +// schema so they never collide with config.Root paths. +const telemetryPrefix = "telemetry" + +// Every bool field has two value entries after its presence entry, so the +// bitmap records true and false apart. A present field with neither value bit +// holds an unresolved variable reference. +const ( + trueSuffix = "=true" + falseSuffix = "=false" +) + +// listSuffix marks a list element in a schema path. +const listSuffix = "[*]" + +// WalkSchema reflects over config.Root and the internal telemetry struct and +// returns the ordered list of field paths, one per field, with map keys +// rendered as ".*" and slice elements as "[*]", and a "=true" and "=false" +// entry after each bool field. The telemetry struct's fields are namespaced +// under "telemetry.". This is the freshly computed schema; the +// committed schema.txt is a prefix of it plus any fields since removed. +// +// telemetryType is the internal telemetry struct type (bundle.Telemetry), +// passed in so this package does not import the bundle package. +func WalkSchema(telemetryType reflect.Type) ([]string, error) { + paths, err := walkTypePaths(reflect.TypeFor[config.Root](), "", isPruned) + if err != nil { + return nil, err + } + tmPaths, err := walkTypePaths(telemetryType, telemetryPrefix+".", nil) + if err != nil { + return nil, err + } + return append(paths, tmPaths...), nil +} + +// walkTypePaths walks a struct type and returns each field path, prefixed and +// with pruned subtrees removed. prune may be nil. +func walkTypePaths(t reflect.Type, prefix string, prune func(string) bool) ([]string, error) { + var paths []string + err := structwalk.WalkType(t, func(path *structpath.PatternNode, typ reflect.Type, _ *reflect.StructField) bool { + if path == nil { + return true + } + p := path.String() + if prune != nil && prune(p) { + return false + } + paths = append(paths, prefix+p) + if typ.Kind() == reflect.Pointer { + typ = typ.Elem() + } + if typ.Kind() == reflect.Bool || typ.Implements(boolValuesType) { + paths = append(paths, prefix+p+trueSuffix, prefix+p+falseSuffix) + } + return true + }) + if err != nil { + return nil, err + } + return paths, nil +} + +// isPruned reports whether a schema path should be excluded from the bitmap. +func isPruned(p string) bool { + // targets/environments are per-target overrides that are merged away and set + // to nil by the SelectTarget mutator, so they are never present at deploy + // time and would only duplicate the merged tree. __locations is an + // output-only internal field. + switch { + case p == "targets" || strings.HasPrefix(p, "targets."): + return true + case p == "environments" || strings.HasPrefix(p, "environments."): + return true + case p == "__locations" || strings.HasPrefix(p, "__locations."): + return true + // Target selection sets these on every bundle; users do not write them. + case p == "bundle.target" || p == "bundle.environment": + return true + } + return false +} + +// Merge appends to old any paths in fresh that are not already present, keeping +// old's order intact. Paths removed from config.Root remain in the merged schema +// so that existing bit positions never shift. It returns the merged schema and +// the list of newly added paths. +func Merge(old, fresh []string) (merged, added []string) { + seen := make(map[string]struct{}, len(old)) + for _, p := range old { + seen[p] = struct{}{} + } + merged = append(merged, old...) + for _, p := range fresh { + if _, ok := seen[p]; ok { + continue + } + seen[p] = struct{}{} + merged = append(merged, p) + added = append(added, p) + } + return merged, added +} + +// Builder computes the config bits of a bundle as the user wrote it. Mark runs +// on the loaded configuration, and on the resources Python adds, before any +// mutator fills in defaults. A field holding a ${var.*} reference has no value +// yet at that point, so Mark keeps it aside, and ResolveVariables marks the +// variable's value once it is known. Bits are only ever set, never cleared. +type Builder struct { + index map[string]int + bits []bool + + // refs are the fields Mark found holding a pure ${var.*} reference. + refs map[varRef]struct{} +} + +// varRef is a field that held a pure ${var.*} reference. +type varRef struct { + pattern string // the field's schema pattern + reference string // e.g. "${var.flag}" +} + +// varPrefix is the first component of a variable reference: ${var.name}. +var varPrefix = dyn.NewPath(dyn.Key("var")) + +// NewBuilder returns a Builder for schema with no bits set. +func NewBuilder(schema []string) *Builder { + return &Builder{ + index: indexSchema(schema), + bits: make([]bool, len(schema)), + refs: map[varRef]struct{}{}, + } +} + +// Mark sets the bits of the fields present in cfg, a configuration tree rooted +// at the configuration root. The config is walked as its dyn.Value rather than +// the typed struct so that presence is exactly what the config holds: an +// interface-typed field (variables.*.default) or an empty container ({} or []) +// counts, and a zero value counts only when it is written out. +func (b *Builder) Mark(cfg dyn.Value) { + b.markChildren(cfg, "") +} + +// ResolveVariables marks the values of the fields Mark found holding a +// ${var.*} reference, reading each variable's value from cfg, the processed +// configuration. The values are the ones the user supplied (default, --var, +// environment or file), whatever mutators later do to the field. A reference +// that does not resolve keeps only the presence bit Mark set. +func (b *Builder) ResolveVariables(cfg dyn.Value) { + refs := b.refs + b.refs = map[varRef]struct{}{} + for ref := range refs { + v, err := dynvar.Resolve(dyn.V(ref.reference), func(p dyn.Path) (dyn.Value, error) { + return variableValue(cfg, p) + }) + if err != nil { + continue + } + // A value from --var or the environment is a string; coerce it the way + // the loader does when it reaches a bool field. + if _, ok := b.index[ref.pattern+trueSuffix]; ok { + normalized, diags := convert.Normalize(false, v) + if diags.HasError() { + continue + } + v = normalized + } + b.mark(v, ref.pattern) + } +} + +// variableValue looks up the value of a ${var.name...} reference in cfg, which +// keeps it under variables.name.value. +func variableValue(cfg dyn.Value, p dyn.Path) (dyn.Value, error) { + if len(p) < 2 || !p.HasPrefix(varPrefix) { + return dyn.InvalidValue, dynvar.ErrSkipResolution + } + path := append(dyn.NewPath(dyn.Key("variables"), p[1], dyn.Key("value")), p[2:]...) + return dyn.GetByPath(cfg, path) +} + +// Bits returns a bit per schema entry: the bits Mark and ResolveVariables set, +// together with those of the measured telemetry fields, namespaced under +// "telemetry.". A "=true"/"=false" entry is set when the bool held that value. +func (b *Builder) Bits(telemetry any) ([]bool, error) { + bits := slices.Clone(b.bits) + if err := markTelemetry(telemetry, b.index, bits); err != nil { + return nil, err + } + return bits, nil +} + +// boolValues is implemented by bundle.BoolSet, a telemetry field that records +// each value it took. It is matched by method so that this package does not +// import the bundle package. +type boolValues interface{ Values() []bool } + +var boolValuesType = reflect.TypeFor[boolValues]() + +// markTelemetry sets the bits of the measured telemetry fields: the presence +// bit and the bit of each value taken. A bool counts only when true. +func markTelemetry(telemetry any, index map[string]int, bits []bool) error { + v := reflect.ValueOf(telemetry) + for i := range v.NumField() { + name := v.Type().Field(i).Name + var values []bool + switch f := v.Field(i).Interface().(type) { + case bool: + if f { + values = []bool{true} + } + case *bool: + if f != nil { + values = []bool{*f} + } + case boolValues: + values = f.Values() + default: + return fmt.Errorf("telemetry field %s has unsupported type %s", name, v.Field(i).Type()) + } + path := joinField(telemetryPrefix, name) + for _, value := range values { + setBit(index, bits, path) + setBit(index, bits, path+valueSuffix(value)) + } + } + return nil +} + +// markChildren marks every child of v whose schema pattern is known. A map key +// resolves to the struct field of that name when the schema has one and to the +// ".*" wildcard otherwise; a sequence element resolves to "[*]". +func (b *Builder) markChildren(v dyn.Value, pattern string) { + if m, ok := v.AsMap(); ok { + for _, pair := range m.Pairs() { + child := joinField(pattern, pair.Key.MustString()) + if _, ok := b.index[child]; !ok { + child = joinField(pattern, "*") + } + b.mark(pair.Value, child) + } + } + if s, ok := v.AsSequence(); ok { + for _, elem := range s { + b.mark(elem, pattern+listSuffix) + } + } +} + +// mark sets the bit for a present (non-null) value and recurses into it. A +// pattern outside the schema is not descended into: that covers the pruned +// subtrees and the contents of interface-typed fields, whose own bit is set. +func (b *Builder) mark(v dyn.Value, pattern string) { + i, ok := b.index[pattern] + if !ok || v.Kind() == dyn.KindNil { + return + } + b.bits[i] = true + if value, ok := v.AsBool(); ok { + setBit(b.index, b.bits, pattern+valueSuffix(value)) + } + if s, ok := v.AsString(); ok && isVariableReference(s) { + b.refs[varRef{pattern: pattern, reference: s}] = struct{}{} + } + b.markChildren(v, pattern) +} + +// isVariableReference reports whether s is exactly one ${var.*} reference. +func isVariableReference(s string) bool { + p, ok := dynvar.PureReferenceToPath(s) + return ok && p.HasPrefix(varPrefix) +} + +// setBit sets the bit of schema path p, if the schema has it. +func setBit(index map[string]int, bits []bool, p string) { + if i, ok := index[p]; ok { + bits[i] = true + } +} + +// valueSuffix returns the suffix of the schema entry for a bool value. +func valueSuffix(value bool) string { + if value { + return trueSuffix + } + return falseSuffix +} + +func joinField(pattern, key string) string { + if pattern == "" { + return key + } + return pattern + "." + key +} + +// Text renders the bitmap as a "size=N context=C" header followed by one +// " " line per set field in schema order: "T" or "F" for a bool +// field holding that value, "1" for any other present field. A bool shown as "1" +// holds an unresolved variable reference; one shown as both "T" and "F" has both +// values under a wildcard. Unset fields are omitted. bits may be shorter than +// schema (a bitmap from an older CLI) but not longer. +func Text(schema []string, bits []bool, context uint16) []string { + index := indexSchema(schema[:len(bits)]) + lines := []string{fmt.Sprintf("size=%d context=%d", len(bits), context)} + for i, p := range schema[:len(bits)] { + if !bits[i] { + continue + } + if field, ok := strings.CutSuffix(p, trueSuffix); ok { + lines = append(lines, "T "+field) + continue + } + if field, ok := strings.CutSuffix(p, falseSuffix); ok { + lines = append(lines, "F "+field) + continue + } + // A bool with a value bit is shown by its value line instead. + if isSet(index, bits, p+trueSuffix) || isSet(index, bits, p+falseSuffix) { + continue + } + lines = append(lines, "1 "+p) + } + return lines +} + +// JSON is the JSON rendering of a bitmap. Presence, True and False are trees +// keyed by path segment ("*" for any map key, "[*]" for any list element) with +// true leaves: Presence holds every set field, True and False the bool fields +// seen with that value. A field with set children is a subtree rather than a +// leaf, since a child is only set when its parent is. +type JSON struct { + Size int `json:"size"` + Context uint16 `json:"context"` + Presence map[string]any `json:"presence"` + True map[string]any `json:"true"` + False map[string]any `json:"false"` +} + +// ToJSON renders bits as JSON. bits may be shorter than schema but not longer. +func ToJSON(schema []string, bits []bool, context uint16) JSON { + out := JSON{ + Size: len(bits), + Context: context, + Presence: map[string]any{}, + True: map[string]any{}, + False: map[string]any{}, + } + for i, p := range schema[:len(bits)] { + if !bits[i] { + continue + } + tree := out.Presence + if field, ok := strings.CutSuffix(p, trueSuffix); ok { + tree, p = out.True, field + } else if field, ok := strings.CutSuffix(p, falseSuffix); ok { + tree, p = out.False, field + } + insertPath(tree, treeKeys(p)) + } + return out +} + +// treeKeys splits a schema path into its segments: "a.*.b[*].c" becomes +// a, *, b, [*], c. Schema paths only contain field names, ".*" and "[*]". +func treeKeys(p string) []string { + var keys []string + for part := range strings.SplitSeq(p, ".") { + name, lists := strings.CutSuffix(part, listSuffix) + keys = append(keys, name) + if lists { + keys = append(keys, listSuffix) + } + } + return keys +} + +// insertPath adds a true leaf at keys, turning a leaf on the way into a subtree. +func insertPath(tree map[string]any, keys []string) { + for _, k := range keys[:len(keys)-1] { + child, ok := tree[k].(map[string]any) + if !ok { + child = map[string]any{} + tree[k] = child + } + tree = child + } + if _, ok := tree[keys[len(keys)-1]]; !ok { + tree[keys[len(keys)-1]] = true + } +} + +func isSet(index map[string]int, bits []bool, p string) bool { + i, ok := index[p] + return ok && bits[i] +} + +// indexSchema maps each schema path to its bit position. +func indexSchema(schema []string) map[string]int { + index := make(map[string]int, len(schema)) + for i, p := range schema { + index[p] = i + } + return index +} + +// Encode packs bits into the wire format (magic, size, context, bitmap), +// compresses it with DEFLATE, and base64-encodes the result. DEFLATE is used +// rather than gzip because it has no timestamp, keeping the output deterministic. +func Encode(bits []bool, context uint16) (string, error) { + n := len(bits) + raw := make([]byte, headerSize+(n+7)/8) + copy(raw, magic) + binary.BigEndian.PutUint32(raw[4:], uint32(n)) + binary.BigEndian.PutUint16(raw[8:], context) + for i, set := range bits { + if set { + raw[headerSize+i/8] |= 1 << uint(7-i%8) + } + } + + var buf bytes.Buffer + w, err := flate.NewWriter(&buf, flate.BestCompression) + if err != nil { + return "", err + } + if _, err := w.Write(raw); err != nil { + return "", err + } + if err := w.Close(); err != nil { + return "", err + } + return base64.StdEncoding.EncodeToString(buf.Bytes()), nil +} + +// Decode reverses Encode: it base64-decodes, inflates, validates the header, and +// returns the bits and context. +func Decode(encoded string) (bits []bool, context uint16, err error) { + compressed, err := base64.StdEncoding.DecodeString(encoded) + if err != nil { + return nil, 0, fmt.Errorf("base64: %w", err) + } + raw, err := io.ReadAll(flate.NewReader(bytes.NewReader(compressed))) + if err != nil { + return nil, 0, fmt.Errorf("inflate: %w", err) + } + if len(raw) < headerSize { + return nil, 0, fmt.Errorf("payload too short: %d bytes", len(raw)) + } + if string(raw[:4]) != magic { + return nil, 0, fmt.Errorf("bad magic %q", raw[:4]) + } + n := binary.BigEndian.Uint32(raw[4:]) + context = binary.BigEndian.Uint16(raw[8:]) + // Compare in uint64 so a corrupt size near 2^32 cannot overflow int on 32-bit platforms. + if uint64(len(raw)-headerSize) != (uint64(n)+7)/8 { + return nil, 0, fmt.Errorf("payload size mismatch: %d bits, %d bytes", n, len(raw)) + } + bits = make([]bool, n) + for i := range bits { + bits[i] = raw[headerSize+i/8]&(1< 0 { + assert.Equal(t, bits, decoded) + } + } + } +} + +func TestEncodeBitOrder(t *testing.T) { + encoded, err := Encode([]bool{true, false, false, false, false, false, false, true, true}, ContextFullBundle) + require.NoError(t, err) + + compressed, err := base64.StdEncoding.DecodeString(encoded) + require.NoError(t, err) + var raw bytes.Buffer + _, err = raw.ReadFrom(flate.NewReader(bytes.NewReader(compressed))) + require.NoError(t, err) + + assert.Equal(t, []byte{'D', 'B', 'T', 'B', 0, 0, 0, 9, 0, 0, 0b1000_0001, 0b1000_0000}, raw.Bytes()) +} + +// deflateBase64 wraps a raw payload the way Encode does, so Decode's header +// checks can be exercised on hand-built payloads. +func deflateBase64(t *testing.T, raw []byte) string { + var buf bytes.Buffer + w, err := flate.NewWriter(&buf, flate.BestCompression) + require.NoError(t, err) + _, err = w.Write(raw) + require.NoError(t, err) + require.NoError(t, w.Close()) + return base64.StdEncoding.EncodeToString(buf.Bytes()) +} + +func header(magic string, size uint32) []byte { + raw := make([]byte, headerSize) + copy(raw, magic) + binary.BigEndian.PutUint32(raw[4:], size) + return raw +} + +func TestDecodeErrors(t *testing.T) { + for _, tc := range []struct { + name string + encoded string + err string + }{ + {"bad base64", "not-valid-base64!!!", "base64"}, + {"not deflate", base64.StdEncoding.EncodeToString([]byte{0xff, 0xff}), "inflate"}, + {"short header", deflateBase64(t, []byte("DBTB")), "payload too short"}, + {"bad magic", deflateBase64(t, append(header("XXXX", 1), 0x80)), "bad magic"}, + {"missing bitmap bytes", deflateBase64(t, header(magic, 9)), "payload size mismatch"}, + {"extra bitmap bytes", deflateBase64(t, append(header(magic, 1), 0x80, 0x00)), "payload size mismatch"}, + {"size near 2^32", deflateBase64(t, header(magic, 0xFFFFFFFF)), "payload size mismatch"}, + } { + t.Run(tc.name, func(t *testing.T) { + _, _, err := Decode(tc.encoded) + assert.ErrorContains(t, err, tc.err) + }) + } +} + +func BenchmarkBits(b *testing.B) { + schema := EmbeddedSchema() + root, diags := config.LoadFromBytes("databricks.yml", []byte(` +bundle: + name: bench +resources: + jobs: + j: + name: My Job + tags: {team: data, env: prod} + tasks: + - task_key: a + notebook_task: {notebook_path: /nb} + - task_key: b + new_cluster: {num_workers: 2} +`)) + require.Empty(b, diags) + tm := struct{ SelectUsed bool }{SelectUsed: true} + b.ReportAllocs() + for b.Loop() { + builder := NewBuilder(schema) + builder.Mark(root.Value()) + _, err := builder.Bits(tm) + if err != nil { + b.Fatal(err) + } + } +} + +func TestText(t *testing.T) { + schema := []string{ + "bundle", "bundle.name", + "flag", "flag=true", "flag=false", + "jobs.*.enabled", "jobs.*.enabled=true", "jobs.*.enabled=false", + "ref", "ref=true", "ref=false", + "later", + } + for _, tc := range []struct { + name string + set []string + want []string + }{ + {"nothing set", nil, nil}, + {"field", []string{"bundle", "bundle.name"}, []string{"1 bundle", "1 bundle.name"}}, + {"bool true", []string{"flag", "flag=true"}, []string{"T flag"}}, + {"bool false", []string{"flag", "flag=false"}, []string{"F flag"}}, + {"both values under a wildcard", []string{"jobs.*.enabled", "jobs.*.enabled=true", "jobs.*.enabled=false"}, []string{"T jobs.*.enabled", "F jobs.*.enabled"}}, + {"unresolved reference", []string{"ref"}, []string{"1 ref"}}, + } { + t.Run(tc.name, func(t *testing.T) { + want := append([]string{"size=12 context=0"}, tc.want...) + assert.Equal(t, want, Text(schema, bitsFor(schema, tc.set), ContextFullBundle)) + }) + } + + // A bitmap from an older CLI has fewer bits; the rest of the schema is unset. + assert.Equal(t, []string{"size=1 context=7", "1 bundle"}, Text(schema, []bool{true}, 7)) +} + +func TestToJSON(t *testing.T) { + schema := []string{ + "bundle", "bundle.name", + "jobs", "jobs.*", "jobs.*.tasks", "jobs.*.tasks[*]", + "jobs.*.tasks[*].enabled", "jobs.*.tasks[*].enabled=true", "jobs.*.tasks[*].enabled=false", + "later", + } + tasks := func(leaf any) map[string]any { + return map[string]any{"jobs": map[string]any{"*": map[string]any{"tasks": leaf}}} + } + enabled := tasks(map[string]any{"[*]": map[string]any{"enabled": true}}) + for _, tc := range []struct { + name string + set []string + presence, isTrue, isF map[string]any + }{ + {"nothing set", nil, map[string]any{}, map[string]any{}, map[string]any{}}, + { + "a parent with set children is a subtree", + []string{"bundle", "bundle.name"}, + map[string]any{"bundle": map[string]any{"name": true}}, + map[string]any{}, + map[string]any{}, + }, + { + "a set field without set children is a leaf", + []string{"jobs", "jobs.*", "jobs.*.tasks"}, + tasks(true), + map[string]any{}, + map[string]any{}, + }, + { + "bool false", + []string{"jobs", "jobs.*", "jobs.*.tasks", "jobs.*.tasks[*]", "jobs.*.tasks[*].enabled", "jobs.*.tasks[*].enabled=false"}, + enabled, + map[string]any{}, + enabled, + }, + { + "both values under a wildcard", + []string{"jobs", "jobs.*", "jobs.*.tasks", "jobs.*.tasks[*]", "jobs.*.tasks[*].enabled", "jobs.*.tasks[*].enabled=true", "jobs.*.tasks[*].enabled=false"}, + enabled, enabled, enabled, + }, + } { + t.Run(tc.name, func(t *testing.T) { + got := ToJSON(schema, bitsFor(schema, tc.set), ContextFullBundle) + assert.Equal(t, JSON{Size: len(schema), Presence: tc.presence, True: tc.isTrue, False: tc.isF}, got) + }) + } + + // A bitmap from an older CLI has fewer bits; the rest of the schema is unset. + got := ToJSON(schema, []bool{true}, 7) + assert.Equal(t, JSON{Size: 1, Context: 7, Presence: map[string]any{"bundle": true}, True: map[string]any{}, False: map[string]any{}}, got) +} + +// TestToJSONIsLossless checks that every entry of the embedded schema maps to +// its own tree node, so the JSON form keeps every set bit. +func TestToJSONIsLossless(t *testing.T) { + schema := EmbeddedSchema() + bits := make([]bool, len(schema)) + for i := range bits { + bits[i] = true + } + got := ToJSON(schema, bits, ContextFullBundle) + + var presence, trueValues, falseValues int + for _, p := range schema { + switch { + case strings.HasSuffix(p, trueSuffix): + trueValues++ + case strings.HasSuffix(p, falseSuffix): + falseValues++ + default: + presence++ + } + } + // "telemetry" namespaces the telemetry fields but is not a schema entry. + assert.Equal(t, presence+1, countNodes(got.Presence)) + // A bool field has no children, so each value entry is a leaf. + assert.Equal(t, trueValues, countLeaves(got.True)) + assert.Equal(t, falseValues, countLeaves(got.False)) +} + +func countNodes(tree map[string]any) int { + n := len(tree) + for _, v := range tree { + if child, ok := v.(map[string]any); ok { + n += countNodes(child) + } + } + return n +} + +func countLeaves(tree map[string]any) int { + n := 0 + for _, v := range tree { + if child, ok := v.(map[string]any); ok { + n += countLeaves(child) + } else { + n++ + } + } + return n +} + +// bitsFor returns bits with the given schema paths set. +func bitsFor(schema, set []string) []bool { + bits := make([]bool, len(schema)) + for _, p := range set { + bits[slices.Index(schema, p)] = true + } + return bits +} diff --git a/bundle/bitmap/bundle_test.go b/bundle/bitmap/bundle_test.go new file mode 100644 index 00000000000..753d63357ec --- /dev/null +++ b/bundle/bitmap/bundle_test.go @@ -0,0 +1,132 @@ +package bitmap_test + +import ( + "reflect" + "slices" + "testing" + + "github.com/databricks/cli/bundle" + "github.com/databricks/cli/bundle/bitmap" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// These tests need bundle.Telemetry, and the bundle package imports this one, +// so they live in an external test package. + +func TestWalkSchema(t *testing.T) { + schema, err := bitmap.WalkSchema(reflect.TypeFor[bundle.Telemetry]()) + require.NoError(t, err) + + for _, p := range schema { + assert.NotEqual(t, "targets", p) + assert.NotContains(t, p, "targets.") + assert.NotContains(t, p, "environments.") + assert.NotContains(t, p, "__locations") + } + + assert.Contains(t, schema, "bundle.name") + assert.Contains(t, schema, "resources.jobs.*.name") + assert.Contains(t, schema, "resources.jobs.*.tasks[*].task_key") + assert.Contains(t, schema, "variables.*.default") + // Telemetry fields are namespaced under "telemetry." and, having no json + // tag, keep their Go field name. + assert.Contains(t, schema, "telemetry.SelectUsed") + assert.Contains(t, schema, "telemetry.RunAsSet") + assert.Contains(t, schema, "telemetry.ArtifactFilesIsSet") + assert.NotContains(t, schema, "telemetry.ArtifactFilesIsSet[*]") + + // Each bool field, whatever its Go shape, is followed by its value entries. + for _, p := range []string{ + "experimental.use_legacy_run_as", // bool, omitempty + "resources.jobs.*.queue.enabled", // bool, no omitempty + "presets.pipelines_development", // *bool + "telemetry.SelectUsed", // telemetry bool + "telemetry.RunAsSet", // telemetry *bool + "telemetry.ArtifactFilesIsSet", // telemetry BoolSet + "resources.jobs.*.tasks[*].disable_auto_optimization", // bool in a list element + } { + i := slices.Index(schema, p) + require.GreaterOrEqual(t, i, 0, p) + assert.Equal(t, []string{p + "=true", p + "=false"}, schema[i+1:i+3], p) + } + // Non-bool fields have no value entries. + assert.NotContains(t, schema, "bundle.name=true") + assert.NotContains(t, schema, "variables.*.default=true") +} + +func TestEmbeddedSchemaIsCompleteAndUnique(t *testing.T) { + schema := bitmap.EmbeddedSchema() + fresh, err := bitmap.WalkSchema(reflect.TypeFor[bundle.Telemetry]()) + require.NoError(t, err) + + _, added := bitmap.Merge(schema, fresh) + assert.Empty(t, added, "run 'task generate-bitmap-schema'") + + // A duplicate would leave its first bit permanently 0. + seen := map[string]bool{} + for _, p := range schema { + assert.False(t, seen[p], "duplicate schema entry %q", p) + seen[p] = true + } +} + +func TestBitsTelemetry(t *testing.T) { + schema := bitmap.EmbeddedSchema() + for _, tc := range []struct { + name string + tm bundle.Telemetry + want []string + }{ + // Every field of a zero struct is unmeasured; none may count as present. + {"zero value", bundle.Telemetry{}, nil}, + {"bool false", bundle.Telemetry{SelectUsed: false}, nil}, + {"bool true", bundle.Telemetry{SelectUsed: true}, []string{"telemetry.SelectUsed", "telemetry.SelectUsed=true"}}, + {"*bool nil", bundle.Telemetry{RunAsSet: nil}, nil}, + {"*bool false", bundle.Telemetry{RunAsSet: new(false)}, []string{"telemetry.RunAsSet", "telemetry.RunAsSet=false"}}, + {"*bool true", bundle.Telemetry{RunAsSet: new(true)}, []string{"telemetry.RunAsSet", "telemetry.RunAsSet=true"}}, + {"BoolSet unset", bundle.Telemetry{ArtifactFilesIsSet: boolSet()}, nil}, + {"BoolSet true twice", bundle.Telemetry{ArtifactFilesIsSet: boolSet(true, true)}, []string{ + "telemetry.ArtifactFilesIsSet", "telemetry.ArtifactFilesIsSet=true", + }}, + {"BoolSet both values", bundle.Telemetry{ArtifactFilesIsSet: boolSet(true, false)}, []string{ + "telemetry.ArtifactFilesIsSet", "telemetry.ArtifactFilesIsSet=false", "telemetry.ArtifactFilesIsSet=true", + }}, + } { + t.Run(tc.name, func(t *testing.T) { + bits, err := bitmap.NewBuilder(schema).Bits(tc.tm) + require.NoError(t, err) + assert.Equal(t, tc.want, setPaths(schema, bits)) + }) + } +} + +func boolSet(values ...bool) bundle.BoolSet { + var s bundle.BoolSet + for _, v := range values { + s.SetBool(v) + } + return s +} + +func BenchmarkWalkSchema(b *testing.B) { + b.ReportAllocs() + for b.Loop() { + _, err := bitmap.WalkSchema(reflect.TypeFor[bundle.Telemetry]()) + if err != nil { + b.Fatal(err) + } + } +} + +// setPaths returns the schema paths whose bit is set, sorted. +func setPaths(schema []string, bits []bool) []string { + var out []string + for i, p := range schema { + if bits[i] { + out = append(out, p) + } + } + slices.Sort(out) + return out +} diff --git a/bundle/bitmap/embed.go b/bundle/bitmap/embed.go new file mode 100644 index 00000000000..c5cb9c5bbd2 --- /dev/null +++ b/bundle/bitmap/embed.go @@ -0,0 +1,6 @@ +package bitmap + +import _ "embed" + +//go:embed schema.txt +var schemaBytes []byte diff --git a/bundle/bitmap/genpython/main.go b/bundle/bitmap/genpython/main.go new file mode 100644 index 00000000000..5fadc18ec0d --- /dev/null +++ b/bundle/bitmap/genpython/main.go @@ -0,0 +1,71 @@ +// Command genpython embeds the bitmap schema into the databricks-bundles Python +// decoder (python/databricks/bundles/_bitmap/_schema.py), compressed. It +// compresses in Go rather than in Python because Python builds link different +// zlib implementations whose output differs, while compress/flate is the same +// everywhere, so the generated file does not depend on who ran the generator. +package main + +import ( + "bytes" + "compress/flate" + "encoding/base64" + "fmt" + "os" + "strings" + + "github.com/databricks/cli/bundle/bitmap" +) + +const header = `# Code generated by bundle/bitmap/genpython from bundle/bitmap/schema.txt. DO NOT EDIT. +# Regenerate with './task generate-bitmap-schema'. + +import base64 +import zlib + +# Raw DEFLATE of the schema, one field path per line. +_COMPRESSED = ( +` + +const footer = `) + +SCHEMA: list[str] = zlib.decompress(base64.b64decode(_COMPRESSED), -15).decode().split() +` + +// lineWidth keeps each string literal within the repo's ruff line length. +const lineWidth = 100 + +func main() { + if len(os.Args) != 2 { + fmt.Fprintln(os.Stderr, "usage: genpython OUTPUT_PY") + os.Exit(2) + } + if err := generate(os.Args[1]); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} + +func generate(path string) error { + var compressed bytes.Buffer + w, err := flate.NewWriter(&compressed, flate.BestCompression) + if err != nil { + return err + } + if _, err := w.Write([]byte(strings.Join(bitmap.EmbeddedSchema(), "\n") + "\n")); err != nil { + return err + } + if err := w.Close(); err != nil { + return err + } + encoded := base64.StdEncoding.EncodeToString(compressed.Bytes()) + + var out strings.Builder + out.WriteString(header) + for len(encoded) > 0 { + n := min(lineWidth, len(encoded)) + fmt.Fprintf(&out, " %q\n", encoded[:n]) + encoded = encoded[n:] + } + out.WriteString(footer) + return os.WriteFile(path, []byte(out.String()), 0o644) +} diff --git a/bundle/bitmap/schema.txt b/bundle/bitmap/schema.txt new file mode 100644 index 00000000000..67dbb9bdd6d --- /dev/null +++ b/bundle/bitmap/schema.txt @@ -0,0 +1,5182 @@ +variables +variables.* +variables.*.type +variables.*.default +variables.*.description +variables.*.sensitive +variables.*.sensitive=true +variables.*.sensitive=false +variables.*.value +variables.*.lookup +variables.*.lookup.alert +variables.*.lookup.cluster_policy +variables.*.lookup.cluster +variables.*.lookup.dashboard +variables.*.lookup.instance_pool +variables.*.lookup.job +variables.*.lookup.metastore +variables.*.lookup.notification_destination +variables.*.lookup.pipeline +variables.*.lookup.query +variables.*.lookup.service_principal +variables.*.lookup.warehouse +bundle +bundle.name +bundle.terraform +bundle.terraform.exec_path +bundle.force +bundle.force=true +bundle.force=false +bundle.git +bundle.git.branch +bundle.git.origin_url +bundle.git.commit +bundle.git.bundle_root_path +bundle.git.actual_branch +bundle.mode +bundle.compute_id +bundle.cluster_id +bundle.engine +bundle.deployment +bundle.deployment.fail_on_active_runs +bundle.deployment.fail_on_active_runs=true +bundle.deployment.fail_on_active_runs=false +bundle.deployment.lock +bundle.deployment.lock.enabled +bundle.deployment.lock.enabled=true +bundle.deployment.lock.enabled=false +bundle.deployment.lock.force +bundle.deployment.lock.force=true +bundle.deployment.lock.force=false +bundle.deployment.deployment_id +bundle.deployment.latest_version_id +bundle.databricks_cli_version +bundle.uuid +include +include[*] +workspace +workspace.host +workspace.profile +workspace.auth_type +workspace.metadata_service_url +workspace.client_id +workspace.google_service_account +workspace.azure_workspace_resource_id +workspace.azure_use_msi +workspace.azure_use_msi=true +workspace.azure_use_msi=false +workspace.azure_client_id +workspace.azure_tenant_id +workspace.azure_environment +workspace.azure_login_app_id +workspace.experimental_is_unified_host +workspace.experimental_is_unified_host=true +workspace.experimental_is_unified_host=false +workspace.account_id +workspace.workspace_id +workspace.current_user +workspace.current_user.short_name +workspace.current_user.domain_friendly_name +workspace.current_user.active +workspace.current_user.active=true +workspace.current_user.active=false +workspace.current_user.displayName +workspace.current_user.emails +workspace.current_user.emails[*] +workspace.current_user.emails[*].display +workspace.current_user.emails[*].primary +workspace.current_user.emails[*].primary=true +workspace.current_user.emails[*].primary=false +workspace.current_user.emails[*].$ref +workspace.current_user.emails[*].type +workspace.current_user.emails[*].value +workspace.current_user.entitlements +workspace.current_user.entitlements[*] +workspace.current_user.entitlements[*].display +workspace.current_user.entitlements[*].primary +workspace.current_user.entitlements[*].primary=true +workspace.current_user.entitlements[*].primary=false +workspace.current_user.entitlements[*].$ref +workspace.current_user.entitlements[*].type +workspace.current_user.entitlements[*].value +workspace.current_user.externalId +workspace.current_user.groups +workspace.current_user.groups[*] +workspace.current_user.groups[*].display +workspace.current_user.groups[*].primary +workspace.current_user.groups[*].primary=true +workspace.current_user.groups[*].primary=false +workspace.current_user.groups[*].$ref +workspace.current_user.groups[*].type +workspace.current_user.groups[*].value +workspace.current_user.id +workspace.current_user.name +workspace.current_user.name.familyName +workspace.current_user.name.givenName +workspace.current_user.roles +workspace.current_user.roles[*] +workspace.current_user.roles[*].display +workspace.current_user.roles[*].primary +workspace.current_user.roles[*].primary=true +workspace.current_user.roles[*].primary=false +workspace.current_user.roles[*].$ref +workspace.current_user.roles[*].type +workspace.current_user.roles[*].value +workspace.current_user.schemas +workspace.current_user.schemas[*] +workspace.current_user.userName +workspace.root_path +workspace.file_path +workspace.resource_path +workspace.artifact_path +workspace.state_path +workspace.sync_mode +artifacts +artifacts.* +artifacts.*.type +artifacts.*.path +artifacts.*.files +artifacts.*.files[*] +artifacts.*.files[*].source +artifacts.*.files[*].patched +artifacts.*.files[*].remote_path +artifacts.*.build +artifacts.*.executable +artifacts.*.dynamic_version +artifacts.*.dynamic_version=true +artifacts.*.dynamic_version=false +artifacts.*.include +artifacts.*.include[*] +artifacts.*.git +artifacts.*.git.branch +artifacts.*.git.commit +resources +resources.jobs +resources.jobs.* +resources.jobs.*.url +resources.jobs.*.modified_status +resources.jobs.*.lifecycle +resources.jobs.*.lifecycle.prevent_destroy +resources.jobs.*.lifecycle.prevent_destroy=true +resources.jobs.*.lifecycle.prevent_destroy=false +resources.jobs.*.lifecycle.depends_on +resources.jobs.*.lifecycle.depends_on[*] +resources.jobs.*.lifecycle.depends_on[*].resource +resources.jobs.*.id +resources.jobs.*.budget_policy_id +resources.jobs.*.continuous +resources.jobs.*.continuous.maintenance_window +resources.jobs.*.continuous.maintenance_window.day_of_week +resources.jobs.*.continuous.maintenance_window.start_hour +resources.jobs.*.continuous.maintenance_window.timezone_id +resources.jobs.*.continuous.pause_status +resources.jobs.*.continuous.task_retry_mode +resources.jobs.*.deployment +resources.jobs.*.deployment.deployment_id +resources.jobs.*.deployment.kind +resources.jobs.*.deployment.metadata_file_path +resources.jobs.*.deployment.version_id +resources.jobs.*.description +resources.jobs.*.duration_target +resources.jobs.*.edit_mode +resources.jobs.*.email_notifications +resources.jobs.*.email_notifications.no_alert_for_skipped_runs +resources.jobs.*.email_notifications.no_alert_for_skipped_runs=true +resources.jobs.*.email_notifications.no_alert_for_skipped_runs=false +resources.jobs.*.email_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.email_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.email_notifications.on_failure +resources.jobs.*.email_notifications.on_failure[*] +resources.jobs.*.email_notifications.on_maintenance_complete +resources.jobs.*.email_notifications.on_maintenance_complete[*] +resources.jobs.*.email_notifications.on_maintenance_start +resources.jobs.*.email_notifications.on_maintenance_start[*] +resources.jobs.*.email_notifications.on_start +resources.jobs.*.email_notifications.on_start[*] +resources.jobs.*.email_notifications.on_streaming_backlog_exceeded +resources.jobs.*.email_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.email_notifications.on_success +resources.jobs.*.email_notifications.on_success[*] +resources.jobs.*.environment_variables +resources.jobs.*.environment_variables[*] +resources.jobs.*.environment_variables[*].environment_variables_key +resources.jobs.*.environment_variables[*].spec +resources.jobs.*.environment_variables[*].spec.files +resources.jobs.*.environment_variables[*].spec.files[*] +resources.jobs.*.environment_variables[*].spec.variables +resources.jobs.*.environment_variables[*].spec.variables.* +resources.jobs.*.environments +resources.jobs.*.environments[*] +resources.jobs.*.environments[*].environment_key +resources.jobs.*.environments[*].spec +resources.jobs.*.environments[*].spec.base_environment +resources.jobs.*.environments[*].spec.client +resources.jobs.*.environments[*].spec.dependencies +resources.jobs.*.environments[*].spec.dependencies[*] +resources.jobs.*.environments[*].spec.environment_version +resources.jobs.*.environments[*].spec.java_dependencies +resources.jobs.*.environments[*].spec.java_dependencies[*] +resources.jobs.*.environments[*].spec.project_environment +resources.jobs.*.format +resources.jobs.*.git_source +resources.jobs.*.git_source.git_branch +resources.jobs.*.git_source.git_commit +resources.jobs.*.git_source.git_provider +resources.jobs.*.git_source.git_snapshot +resources.jobs.*.git_source.git_snapshot.used_commit +resources.jobs.*.git_source.git_tag +resources.jobs.*.git_source.git_url +resources.jobs.*.git_source.job_source +resources.jobs.*.git_source.job_source.dirty_state +resources.jobs.*.git_source.job_source.import_from_git_branch +resources.jobs.*.git_source.job_source.job_config_path +resources.jobs.*.git_source.sparse_checkout +resources.jobs.*.git_source.sparse_checkout.patterns +resources.jobs.*.git_source.sparse_checkout.patterns[*] +resources.jobs.*.health +resources.jobs.*.health.rules +resources.jobs.*.health.rules[*] +resources.jobs.*.health.rules[*].metric +resources.jobs.*.health.rules[*].op +resources.jobs.*.health.rules[*].value +resources.jobs.*.job_clusters +resources.jobs.*.job_clusters[*] +resources.jobs.*.job_clusters[*].job_cluster_key +resources.jobs.*.job_clusters[*].new_cluster +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values=true +resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values=false +resources.jobs.*.job_clusters[*].new_cluster.autoscale +resources.jobs.*.job_clusters[*].new_cluster.autoscale.max_workers +resources.jobs.*.job_clusters[*].new_cluster.autoscale.min_workers +resources.jobs.*.job_clusters[*].new_cluster.autotermination_minutes +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.availability +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_count +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_iops +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_size +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_throughput +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.ebs_volume_type +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.first_on_demand +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.instance_profile_arn +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.spot_bid_price_percent +resources.jobs.*.job_clusters[*].new_cluster.aws_attributes.zone_id +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.availability +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.capacity_reservation_group +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.first_on_demand +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id +resources.jobs.*.job_clusters[*].new_cluster.azure_attributes.spot_bid_max_price +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.dbfs +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.dbfs.destination +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3 +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.canned_acl +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.destination +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption=true +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.enable_encryption=false +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.encryption_type +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.endpoint +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.kms_key +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3.region +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.volumes +resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.volumes.destination +resources.jobs.*.job_clusters[*].new_cluster.cluster_name +resources.jobs.*.job_clusters[*].new_cluster.custom_tags +resources.jobs.*.job_clusters[*].new_cluster.custom_tags.* +resources.jobs.*.job_clusters[*].new_cluster.data_security_mode +resources.jobs.*.job_clusters[*].new_cluster.dependency_mode +resources.jobs.*.job_clusters[*].new_cluster.docker_image +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth.password +resources.jobs.*.job_clusters[*].new_cluster.docker_image.basic_auth.username +resources.jobs.*.job_clusters[*].new_cluster.docker_image.url +resources.jobs.*.job_clusters[*].new_cluster.driver_instance_pool_id +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.aws_context_id +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_id +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk=true +resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk=false +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption=true +resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption=false +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.availability +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.boot_disk_size +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.confidential_compute_type +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.first_on_demand +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.google_service_account +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.local_ssd_count +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors=true +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.use_preemptible_executors=false +resources.jobs.*.job_clusters[*].new_cluster.gcp_attributes.zone_id +resources.jobs.*.job_clusters[*].new_cluster.init_scripts +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*] +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].abfss +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].abfss.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].dbfs +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].dbfs.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].file +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].file.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].gcs +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].gcs.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3 +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.canned_acl +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption=true +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.enable_encryption=false +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.encryption_type +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.endpoint +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.kms_key +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].s3.region +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].volumes +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].volumes.destination +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].workspace +resources.jobs.*.job_clusters[*].new_cluster.init_scripts[*].workspace.destination +resources.jobs.*.job_clusters[*].new_cluster.instance_pool_id +resources.jobs.*.job_clusters[*].new_cluster.is_single_node +resources.jobs.*.job_clusters[*].new_cluster.is_single_node=true +resources.jobs.*.job_clusters[*].new_cluster.is_single_node=false +resources.jobs.*.job_clusters[*].new_cluster.kind +resources.jobs.*.job_clusters[*].new_cluster.node_type_id +resources.jobs.*.job_clusters[*].new_cluster.num_workers +resources.jobs.*.job_clusters[*].new_cluster.policy_id +resources.jobs.*.job_clusters[*].new_cluster.remote_disk_throughput +resources.jobs.*.job_clusters[*].new_cluster.runtime_engine +resources.jobs.*.job_clusters[*].new_cluster.single_user_name +resources.jobs.*.job_clusters[*].new_cluster.spark_conf +resources.jobs.*.job_clusters[*].new_cluster.spark_conf.* +resources.jobs.*.job_clusters[*].new_cluster.spark_env_vars +resources.jobs.*.job_clusters[*].new_cluster.spark_env_vars.* +resources.jobs.*.job_clusters[*].new_cluster.spark_version +resources.jobs.*.job_clusters[*].new_cluster.ssh_public_keys +resources.jobs.*.job_clusters[*].new_cluster.ssh_public_keys[*] +resources.jobs.*.job_clusters[*].new_cluster.total_initial_remote_disk_size +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime=true +resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime=false +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.aws_context_id +resources.jobs.*.job_clusters[*].new_cluster.workload_type +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs=true +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs=false +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks=true +resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.notebooks=false +resources.jobs.*.job_clusters[*].serverless_compute +resources.jobs.*.job_clusters[*].serverless_compute.policy_id +resources.jobs.*.job_clusters[*].serverless_compute_id +resources.jobs.*.max_concurrent_runs +resources.jobs.*.name +resources.jobs.*.notification_settings +resources.jobs.*.notification_settings.no_alert_for_canceled_runs +resources.jobs.*.notification_settings.no_alert_for_canceled_runs=true +resources.jobs.*.notification_settings.no_alert_for_canceled_runs=false +resources.jobs.*.notification_settings.no_alert_for_skipped_runs +resources.jobs.*.notification_settings.no_alert_for_skipped_runs=true +resources.jobs.*.notification_settings.no_alert_for_skipped_runs=false +resources.jobs.*.parameters +resources.jobs.*.parameters[*] +resources.jobs.*.parameters[*].default +resources.jobs.*.parameters[*].name +resources.jobs.*.parent_path +resources.jobs.*.performance_target +resources.jobs.*.queue +resources.jobs.*.queue.enabled +resources.jobs.*.queue.enabled=true +resources.jobs.*.queue.enabled=false +resources.jobs.*.run_as +resources.jobs.*.run_as.group_name +resources.jobs.*.run_as.service_principal_name +resources.jobs.*.run_as.user_name +resources.jobs.*.schedule +resources.jobs.*.schedule.pause_status +resources.jobs.*.schedule.quartz_cron_expression +resources.jobs.*.schedule.sql_condition +resources.jobs.*.schedule.sql_condition.sql_query_id +resources.jobs.*.schedule.sql_condition.trigger_mode +resources.jobs.*.schedule.sql_condition.warehouse_id +resources.jobs.*.schedule.timezone_id +resources.jobs.*.tags +resources.jobs.*.tags.* +resources.jobs.*.tasks +resources.jobs.*.tasks[*] +resources.jobs.*.tasks[*].ai_function_task +resources.jobs.*.tasks[*].ai_function_task.ai_classify +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores=true +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_confidence_scores=false +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales=true +resources.jobs.*.tasks[*].ai_function_task.ai_classify.enable_rationales=false +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*] +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*].description +resources.jobs.*.tasks[*].ai_function_task.ai_classify.inline_labels.labels[*].name +resources.jobs.*.tasks[*].ai_function_task.ai_classify.instructions +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel=true +resources.jobs.*.tasks[*].ai_function_task.ai_classify.multilabel=false +resources.jobs.*.tasks[*].ai_function_task.ai_classify.version +resources.jobs.*.tasks[*].ai_function_task.ai_extract +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations=true +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_citations=false +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores=true +resources.jobs.*.tasks[*].ai_function_task.ai_extract.enable_confidence_scores=false +resources.jobs.*.tasks[*].ai_function_task.ai_extract.instructions +resources.jobs.*.tasks[*].ai_function_task.ai_extract.mode +resources.jobs.*.tasks[*].ai_function_task.ai_extract.schema +resources.jobs.*.tasks[*].ai_function_task.ai_extract.version +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.description_element_types +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.description_element_types[*] +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.image_output_path +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.page_range +resources.jobs.*.tasks[*].ai_function_task.ai_parse_document.version +resources.jobs.*.tasks[*].ai_function_task.delta_table +resources.jobs.*.tasks[*].ai_function_task.delta_table.input_column +resources.jobs.*.tasks[*].ai_function_task.delta_table.merge_key_columns +resources.jobs.*.tasks[*].ai_function_task.delta_table.merge_key_columns[*] +resources.jobs.*.tasks[*].ai_function_task.delta_table.table_name +resources.jobs.*.tasks[*].ai_function_task.output +resources.jobs.*.tasks[*].ai_function_task.output.catalog +resources.jobs.*.tasks[*].ai_function_task.output.schema +resources.jobs.*.tasks[*].ai_function_task.output.table +resources.jobs.*.tasks[*].ai_function_task.volume +resources.jobs.*.tasks[*].ai_function_task.volume.volume_path +resources.jobs.*.tasks[*].ai_runtime_task +resources.jobs.*.tasks[*].ai_runtime_task.code_source_path +resources.jobs.*.tasks[*].ai_runtime_task.deployments +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*] +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].command_path +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_count +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_type +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.provisioned_capacity_id +resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].name +resources.jobs.*.tasks[*].ai_runtime_task.docker_image_url +resources.jobs.*.tasks[*].ai_runtime_task.experiment +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_artifact_location +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_experiment_directory +resources.jobs.*.tasks[*].ai_runtime_task.mlflow_run +resources.jobs.*.tasks[*].ai_runtime_task.priority_class +resources.jobs.*.tasks[*].ai_runtime_task.unity_catalog_image_path +resources.jobs.*.tasks[*].alert_task +resources.jobs.*.tasks[*].alert_task.alert_id +resources.jobs.*.tasks[*].alert_task.parameters +resources.jobs.*.tasks[*].alert_task.parameters.* +resources.jobs.*.tasks[*].alert_task.subscribers +resources.jobs.*.tasks[*].alert_task.subscribers[*] +resources.jobs.*.tasks[*].alert_task.subscribers[*].destination_id +resources.jobs.*.tasks[*].alert_task.subscribers[*].user_name +resources.jobs.*.tasks[*].alert_task.warehouse_id +resources.jobs.*.tasks[*].alert_task.workspace_path +resources.jobs.*.tasks[*].clean_rooms_notebook_task +resources.jobs.*.tasks[*].clean_rooms_notebook_task.clean_room_name +resources.jobs.*.tasks[*].clean_rooms_notebook_task.etag +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_base_parameters +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_base_parameters.* +resources.jobs.*.tasks[*].clean_rooms_notebook_task.notebook_name +resources.jobs.*.tasks[*].compute +resources.jobs.*.tasks[*].compute.hardware_accelerator +resources.jobs.*.tasks[*].condition_task +resources.jobs.*.tasks[*].condition_task.left +resources.jobs.*.tasks[*].condition_task.op +resources.jobs.*.tasks[*].condition_task.right +resources.jobs.*.tasks[*].dashboard_task +resources.jobs.*.tasks[*].dashboard_task.dashboard_id +resources.jobs.*.tasks[*].dashboard_task.filters +resources.jobs.*.tasks[*].dashboard_task.filters.* +resources.jobs.*.tasks[*].dashboard_task.subscription +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.file_format +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters=true +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.include_applied_filters=false +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*] +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*].page_id +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.data_attachment.widgets[*].widget_id +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_ids +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_ids[*] +resources.jobs.*.tasks[*].dashboard_task.subscription.attachment.page_attachment.page_selection +resources.jobs.*.tasks[*].dashboard_task.subscription.custom_subject +resources.jobs.*.tasks[*].dashboard_task.subscription.paused +resources.jobs.*.tasks[*].dashboard_task.subscription.paused=true +resources.jobs.*.tasks[*].dashboard_task.subscription.paused=false +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*] +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*].destination_id +resources.jobs.*.tasks[*].dashboard_task.subscription.subscribers[*].user_name +resources.jobs.*.tasks[*].dashboard_task.warehouse_id +resources.jobs.*.tasks[*].dbt_cloud_task +resources.jobs.*.tasks[*].dbt_cloud_task.connection_resource_name +resources.jobs.*.tasks[*].dbt_cloud_task.dbt_cloud_job_id +resources.jobs.*.tasks[*].dbt_platform_task +resources.jobs.*.tasks[*].dbt_platform_task.connection_resource_name +resources.jobs.*.tasks[*].dbt_platform_task.dbt_platform_job_id +resources.jobs.*.tasks[*].dbt_task +resources.jobs.*.tasks[*].dbt_task.catalog +resources.jobs.*.tasks[*].dbt_task.commands +resources.jobs.*.tasks[*].dbt_task.commands[*] +resources.jobs.*.tasks[*].dbt_task.profiles_directory +resources.jobs.*.tasks[*].dbt_task.project_directory +resources.jobs.*.tasks[*].dbt_task.schema +resources.jobs.*.tasks[*].dbt_task.source +resources.jobs.*.tasks[*].dbt_task.warehouse_id +resources.jobs.*.tasks[*].depends_on +resources.jobs.*.tasks[*].depends_on[*] +resources.jobs.*.tasks[*].depends_on[*].outcome +resources.jobs.*.tasks[*].depends_on[*].task_key +resources.jobs.*.tasks[*].description +resources.jobs.*.tasks[*].disable_auto_optimization +resources.jobs.*.tasks[*].disable_auto_optimization=true +resources.jobs.*.tasks[*].disable_auto_optimization=false +resources.jobs.*.tasks[*].disabled +resources.jobs.*.tasks[*].disabled=true +resources.jobs.*.tasks[*].disabled=false +resources.jobs.*.tasks[*].email_notifications +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs=true +resources.jobs.*.tasks[*].email_notifications.no_alert_for_skipped_runs=false +resources.jobs.*.tasks[*].email_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.tasks[*].email_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.tasks[*].email_notifications.on_failure +resources.jobs.*.tasks[*].email_notifications.on_failure[*] +resources.jobs.*.tasks[*].email_notifications.on_maintenance_complete +resources.jobs.*.tasks[*].email_notifications.on_maintenance_complete[*] +resources.jobs.*.tasks[*].email_notifications.on_maintenance_start +resources.jobs.*.tasks[*].email_notifications.on_maintenance_start[*] +resources.jobs.*.tasks[*].email_notifications.on_start +resources.jobs.*.tasks[*].email_notifications.on_start[*] +resources.jobs.*.tasks[*].email_notifications.on_streaming_backlog_exceeded +resources.jobs.*.tasks[*].email_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.tasks[*].email_notifications.on_success +resources.jobs.*.tasks[*].email_notifications.on_success[*] +resources.jobs.*.tasks[*].environment_key +resources.jobs.*.tasks[*].environment_variables_key +resources.jobs.*.tasks[*].existing_cluster_id +resources.jobs.*.tasks[*].for_each_task +resources.jobs.*.tasks[*].for_each_task.concurrency +resources.jobs.*.tasks[*].for_each_task.inputs +resources.jobs.*.tasks[*].for_each_task.task +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores=true +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_confidence_scores=false +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales=true +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.enable_rationales=false +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*] +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*].description +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.inline_labels.labels[*].name +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.instructions +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel=true +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.multilabel=false +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_classify.version +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations=true +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_citations=false +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores=true +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.enable_confidence_scores=false +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.instructions +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.mode +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.schema +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_extract.version +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.description_element_types +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.description_element_types[*] +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.image_output_path +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.page_range +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.ai_parse_document.version +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.input_column +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.merge_key_columns +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.merge_key_columns[*] +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.delta_table.table_name +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.catalog +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.schema +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.output.table +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.volume +resources.jobs.*.tasks[*].for_each_task.task.ai_function_task.volume.volume_path +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.code_source_path +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*] +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].command_path +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_count +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_type +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.provisioned_capacity_id +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].name +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.docker_image_url +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.experiment +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_artifact_location +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_experiment_directory +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_run +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.priority_class +resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.unity_catalog_image_path +resources.jobs.*.tasks[*].for_each_task.task.alert_task +resources.jobs.*.tasks[*].for_each_task.task.alert_task.alert_id +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters.* +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*] +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*].destination_id +resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*].user_name +resources.jobs.*.tasks[*].for_each_task.task.alert_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.alert_task.workspace_path +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.clean_room_name +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.etag +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_base_parameters +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_base_parameters.* +resources.jobs.*.tasks[*].for_each_task.task.clean_rooms_notebook_task.notebook_name +resources.jobs.*.tasks[*].for_each_task.task.compute +resources.jobs.*.tasks[*].for_each_task.task.compute.hardware_accelerator +resources.jobs.*.tasks[*].for_each_task.task.condition_task +resources.jobs.*.tasks[*].for_each_task.task.condition_task.left +resources.jobs.*.tasks[*].for_each_task.task.condition_task.op +resources.jobs.*.tasks[*].for_each_task.task.condition_task.right +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.dashboard_id +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.filters +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.filters.* +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.file_format +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters=true +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.include_applied_filters=false +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*] +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*].page_id +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.data_attachment.widgets[*].widget_id +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_ids +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_ids[*] +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.attachment.page_attachment.page_selection +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.custom_subject +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused=true +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.paused=false +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*] +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*].destination_id +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.subscription.subscribers[*].user_name +resources.jobs.*.tasks[*].for_each_task.task.dashboard_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task.connection_resource_name +resources.jobs.*.tasks[*].for_each_task.task.dbt_cloud_task.dbt_cloud_job_id +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task.connection_resource_name +resources.jobs.*.tasks[*].for_each_task.task.dbt_platform_task.dbt_platform_job_id +resources.jobs.*.tasks[*].for_each_task.task.dbt_task +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.catalog +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.commands +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.commands[*] +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.profiles_directory +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.project_directory +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.schema +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.source +resources.jobs.*.tasks[*].for_each_task.task.dbt_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.depends_on +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*] +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*].outcome +resources.jobs.*.tasks[*].for_each_task.task.depends_on[*].task_key +resources.jobs.*.tasks[*].for_each_task.task.description +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization=true +resources.jobs.*.tasks[*].for_each_task.task.disable_auto_optimization=false +resources.jobs.*.tasks[*].for_each_task.task.disabled +resources.jobs.*.tasks[*].for_each_task.task.disabled=true +resources.jobs.*.tasks[*].for_each_task.task.disabled=false +resources.jobs.*.tasks[*].for_each_task.task.email_notifications +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs=true +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.no_alert_for_skipped_runs=false +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_failure +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_failure[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_complete +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_complete[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_start +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_maintenance_start[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_start +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_start[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_streaming_backlog_exceeded +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_success +resources.jobs.*.tasks[*].for_each_task.task.email_notifications.on_success[*] +resources.jobs.*.tasks[*].for_each_task.task.environment_key +resources.jobs.*.tasks[*].for_each_task.task.environment_variables_key +resources.jobs.*.tasks[*].for_each_task.task.existing_cluster_id +resources.jobs.*.tasks[*].for_each_task.task.for_each_task +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.concurrency +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.inputs +resources.jobs.*.tasks[*].for_each_task.task.for_each_task.task +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.command +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.gpu_node_pool_id +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.gpu_type +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.compute.num_gpus +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.dl_runtime_image +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.mlflow_experiment_name +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.source +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.training_script_path +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.yaml_parameters +resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.yaml_parameters_file_path +resources.jobs.*.tasks[*].for_each_task.task.health +resources.jobs.*.tasks[*].for_each_task.task.health.rules +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*] +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].metric +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].op +resources.jobs.*.tasks[*].for_each_task.task.health.rules[*].value +resources.jobs.*.tasks[*].for_each_task.task.job_cluster_key +resources.jobs.*.tasks[*].for_each_task.task.libraries +resources.jobs.*.tasks[*].for_each_task.task.libraries[*] +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran.package +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].cran.repo +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].egg +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].jar +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.coordinates +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.exclusions +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.exclusions[*] +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].maven.repo +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi.package +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].pypi.repo +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].requirements +resources.jobs.*.tasks[*].for_each_task.task.libraries[*].whl +resources.jobs.*.tasks[*].for_each_task.task.max_retries +resources.jobs.*.tasks[*].for_each_task.task.min_retry_interval_millis +resources.jobs.*.tasks[*].for_each_task.task.new_cluster +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.apply_policy_default_values=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale.max_workers +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autoscale.min_workers +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.autotermination_minutes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.availability +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_count +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_iops +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_size +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_throughput +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.ebs_volume_type +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.first_on_demand +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.instance_profile_arn +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.spot_bid_price_percent +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.aws_attributes.zone_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.availability +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.capacity_reservation_group +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.first_on_demand +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.azure_attributes.spot_bid_max_price +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.dbfs +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.dbfs.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.canned_acl +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.enable_encryption=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.encryption_type +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.endpoint +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.kms_key +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.s3.region +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.volumes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_log_conf.volumes.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.cluster_name +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.custom_tags +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.custom_tags.* +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.data_security_mode +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.dependency_mode +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth.password +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.basic_auth.username +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.docker_image.url +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_instance_pool_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.aws_context_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.availability +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.boot_disk_size +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.confidential_compute_type +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.first_on_demand +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.google_service_account +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.local_ssd_count +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.use_preemptible_executors=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.gcp_attributes.zone_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*] +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].abfss +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].abfss.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].dbfs +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].dbfs.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].file +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].file.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].gcs +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].gcs.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3 +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.canned_acl +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.enable_encryption=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.encryption_type +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.endpoint +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.kms_key +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].s3.region +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].volumes +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].volumes.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].workspace +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.init_scripts[*].workspace.destination +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.instance_pool_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.is_single_node=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.kind +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.node_type_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.num_workers +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.policy_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.remote_disk_throughput +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.runtime_engine +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.single_user_name +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_conf +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_conf.* +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_env_vars +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_env_vars.* +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.spark_version +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.ssh_public_keys +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.ssh_public_keys[*] +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.total_initial_remote_disk_size +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.aws_context_id +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs=false +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks=true +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.notebooks=false +resources.jobs.*.tasks[*].for_each_task.task.notebook_task +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.base_parameters +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.base_parameters.* +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.notebook_path +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.source +resources.jobs.*.tasks[*].for_each_task.task.notebook_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.notification_settings +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt=true +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.alert_on_last_attempt=false +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs=true +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_canceled_runs=false +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs=true +resources.jobs.*.tasks[*].for_each_task.task.notification_settings.no_alert_for_skipped_runs=false +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh=true +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh=false +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh_selection +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.full_refresh_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.parameters.* +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.pipeline_id +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_flow_selection +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_flow_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_selection +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.refresh_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.reset_checkpoint_selection +resources.jobs.*.tasks[*].for_each_task.task.pipeline_task.reset_checkpoint_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.connection_resource_name +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.authentication_method +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.model_name +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing=true +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.overwrite_existing=false +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.storage_mode +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.power_bi_model.workspace_name +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update=true +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.refresh_after_update=false +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*] +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].catalog +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].name +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].schema +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.tables[*].storage_mode +resources.jobs.*.tasks[*].for_each_task.task.power_bi_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.main +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*] +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*].name +resources.jobs.*.tasks[*].for_each_task.task.python_operator_task.parameters[*].value +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.entry_point +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.named_parameters +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.named_parameters.* +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.package_name +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.python_wheel_task.parameters[*] +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout=true +resources.jobs.*.tasks[*].for_each_task.task.retry_on_timeout=false +resources.jobs.*.tasks[*].for_each_task.task.run_if +resources.jobs.*.tasks[*].for_each_task.task.run_job_task +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.dbt_commands +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.dbt_commands[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.jar_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.jar_params[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_id +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_parameters +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.job_parameters.* +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.notebook_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.notebook_params.* +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh=true +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh=false +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh_selection +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.full_refresh_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_flow_selection +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_flow_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_selection +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.refresh_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.reset_checkpoint_selection +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.pipeline_params.reset_checkpoint_selection[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_named_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_named_params.* +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.python_params[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.spark_submit_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.spark_submit_params[*] +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.sql_params +resources.jobs.*.tasks[*].for_each_task.task.run_job_task.sql_params.* +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.jar_uri +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.main_class_name +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.parameters[*] +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl=true +resources.jobs.*.tasks[*].for_each_task.task.spark_jar_task.run_as_repl=false +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.parameters[*] +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.python_file +resources.jobs.*.tasks[*].for_each_task.task.spark_python_task.source +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.spark_submit_task.parameters[*] +resources.jobs.*.tasks[*].for_each_task.task.sql_task +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.alert_id +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions=true +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.pause_subscriptions=false +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*] +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*].destination_id +resources.jobs.*.tasks[*].for_each_task.task.sql_task.alert.subscriptions[*].user_name +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.custom_subject +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.dashboard_id +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions=true +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.pause_subscriptions=false +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*] +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*].destination_id +resources.jobs.*.tasks[*].for_each_task.task.sql_task.dashboard.subscriptions[*].user_name +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file.path +resources.jobs.*.tasks[*].for_each_task.task.sql_task.file.source +resources.jobs.*.tasks[*].for_each_task.task.sql_task.parameters +resources.jobs.*.tasks[*].for_each_task.task.sql_task.parameters.* +resources.jobs.*.tasks[*].for_each_task.task.sql_task.query +resources.jobs.*.tasks[*].for_each_task.task.sql_task.query.query_id +resources.jobs.*.tasks[*].for_each_task.task.sql_task.warehouse_id +resources.jobs.*.tasks[*].for_each_task.task.task_key +resources.jobs.*.tasks[*].for_each_task.task.timeout_seconds +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_duration_warning_threshold_exceeded[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_failure[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_complete[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_maintenance_start[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_start[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_streaming_backlog_exceeded[*].id +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success[*] +resources.jobs.*.tasks[*].for_each_task.task.webhook_notifications.on_success[*].id +resources.jobs.*.tasks[*].gen_ai_compute_task +resources.jobs.*.tasks[*].gen_ai_compute_task.command +resources.jobs.*.tasks[*].gen_ai_compute_task.compute +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.gpu_node_pool_id +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.gpu_type +resources.jobs.*.tasks[*].gen_ai_compute_task.compute.num_gpus +resources.jobs.*.tasks[*].gen_ai_compute_task.dl_runtime_image +resources.jobs.*.tasks[*].gen_ai_compute_task.mlflow_experiment_name +resources.jobs.*.tasks[*].gen_ai_compute_task.source +resources.jobs.*.tasks[*].gen_ai_compute_task.training_script_path +resources.jobs.*.tasks[*].gen_ai_compute_task.yaml_parameters +resources.jobs.*.tasks[*].gen_ai_compute_task.yaml_parameters_file_path +resources.jobs.*.tasks[*].health +resources.jobs.*.tasks[*].health.rules +resources.jobs.*.tasks[*].health.rules[*] +resources.jobs.*.tasks[*].health.rules[*].metric +resources.jobs.*.tasks[*].health.rules[*].op +resources.jobs.*.tasks[*].health.rules[*].value +resources.jobs.*.tasks[*].job_cluster_key +resources.jobs.*.tasks[*].libraries +resources.jobs.*.tasks[*].libraries[*] +resources.jobs.*.tasks[*].libraries[*].cran +resources.jobs.*.tasks[*].libraries[*].cran.package +resources.jobs.*.tasks[*].libraries[*].cran.repo +resources.jobs.*.tasks[*].libraries[*].egg +resources.jobs.*.tasks[*].libraries[*].jar +resources.jobs.*.tasks[*].libraries[*].maven +resources.jobs.*.tasks[*].libraries[*].maven.coordinates +resources.jobs.*.tasks[*].libraries[*].maven.exclusions +resources.jobs.*.tasks[*].libraries[*].maven.exclusions[*] +resources.jobs.*.tasks[*].libraries[*].maven.repo +resources.jobs.*.tasks[*].libraries[*].pypi +resources.jobs.*.tasks[*].libraries[*].pypi.package +resources.jobs.*.tasks[*].libraries[*].pypi.repo +resources.jobs.*.tasks[*].libraries[*].requirements +resources.jobs.*.tasks[*].libraries[*].whl +resources.jobs.*.tasks[*].max_retries +resources.jobs.*.tasks[*].min_retry_interval_millis +resources.jobs.*.tasks[*].new_cluster +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values=true +resources.jobs.*.tasks[*].new_cluster.apply_policy_default_values=false +resources.jobs.*.tasks[*].new_cluster.autoscale +resources.jobs.*.tasks[*].new_cluster.autoscale.max_workers +resources.jobs.*.tasks[*].new_cluster.autoscale.min_workers +resources.jobs.*.tasks[*].new_cluster.autotermination_minutes +resources.jobs.*.tasks[*].new_cluster.aws_attributes +resources.jobs.*.tasks[*].new_cluster.aws_attributes.availability +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_count +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_iops +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_size +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_throughput +resources.jobs.*.tasks[*].new_cluster.aws_attributes.ebs_volume_type +resources.jobs.*.tasks[*].new_cluster.aws_attributes.first_on_demand +resources.jobs.*.tasks[*].new_cluster.aws_attributes.instance_profile_arn +resources.jobs.*.tasks[*].new_cluster.aws_attributes.spot_bid_price_percent +resources.jobs.*.tasks[*].new_cluster.aws_attributes.zone_id +resources.jobs.*.tasks[*].new_cluster.azure_attributes +resources.jobs.*.tasks[*].new_cluster.azure_attributes.availability +resources.jobs.*.tasks[*].new_cluster.azure_attributes.capacity_reservation_group +resources.jobs.*.tasks[*].new_cluster.azure_attributes.first_on_demand +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_primary_key +resources.jobs.*.tasks[*].new_cluster.azure_attributes.log_analytics_info.log_analytics_workspace_id +resources.jobs.*.tasks[*].new_cluster.azure_attributes.spot_bid_max_price +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.dbfs +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.dbfs.destination +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3 +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.canned_acl +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.destination +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption=true +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.enable_encryption=false +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.encryption_type +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.endpoint +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.kms_key +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.s3.region +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.volumes +resources.jobs.*.tasks[*].new_cluster.cluster_log_conf.volumes.destination +resources.jobs.*.tasks[*].new_cluster.cluster_name +resources.jobs.*.tasks[*].new_cluster.custom_tags +resources.jobs.*.tasks[*].new_cluster.custom_tags.* +resources.jobs.*.tasks[*].new_cluster.data_security_mode +resources.jobs.*.tasks[*].new_cluster.dependency_mode +resources.jobs.*.tasks[*].new_cluster.docker_image +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth.password +resources.jobs.*.tasks[*].new_cluster.docker_image.basic_auth.username +resources.jobs.*.tasks[*].new_cluster.docker_image.url +resources.jobs.*.tasks[*].new_cluster.driver_instance_pool_id +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.aws_context_id +resources.jobs.*.tasks[*].new_cluster.driver_node_type_id +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk=true +resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk=false +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption=true +resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption=false +resources.jobs.*.tasks[*].new_cluster.gcp_attributes +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.availability +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.boot_disk_size +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.confidential_compute_type +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.first_on_demand +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.google_service_account +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.local_ssd_count +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors=true +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.use_preemptible_executors=false +resources.jobs.*.tasks[*].new_cluster.gcp_attributes.zone_id +resources.jobs.*.tasks[*].new_cluster.init_scripts +resources.jobs.*.tasks[*].new_cluster.init_scripts[*] +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].abfss +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].abfss.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].dbfs +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].dbfs.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].file +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].file.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].gcs +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].gcs.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3 +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.canned_acl +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption=true +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.enable_encryption=false +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.encryption_type +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.endpoint +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.kms_key +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].s3.region +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].volumes +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].volumes.destination +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].workspace +resources.jobs.*.tasks[*].new_cluster.init_scripts[*].workspace.destination +resources.jobs.*.tasks[*].new_cluster.instance_pool_id +resources.jobs.*.tasks[*].new_cluster.is_single_node +resources.jobs.*.tasks[*].new_cluster.is_single_node=true +resources.jobs.*.tasks[*].new_cluster.is_single_node=false +resources.jobs.*.tasks[*].new_cluster.kind +resources.jobs.*.tasks[*].new_cluster.node_type_id +resources.jobs.*.tasks[*].new_cluster.num_workers +resources.jobs.*.tasks[*].new_cluster.policy_id +resources.jobs.*.tasks[*].new_cluster.remote_disk_throughput +resources.jobs.*.tasks[*].new_cluster.runtime_engine +resources.jobs.*.tasks[*].new_cluster.single_user_name +resources.jobs.*.tasks[*].new_cluster.spark_conf +resources.jobs.*.tasks[*].new_cluster.spark_conf.* +resources.jobs.*.tasks[*].new_cluster.spark_env_vars +resources.jobs.*.tasks[*].new_cluster.spark_env_vars.* +resources.jobs.*.tasks[*].new_cluster.spark_version +resources.jobs.*.tasks[*].new_cluster.ssh_public_keys +resources.jobs.*.tasks[*].new_cluster.ssh_public_keys[*] +resources.jobs.*.tasks[*].new_cluster.total_initial_remote_disk_size +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime=true +resources.jobs.*.tasks[*].new_cluster.use_ml_runtime=false +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.aws_context_id +resources.jobs.*.tasks[*].new_cluster.workload_type +resources.jobs.*.tasks[*].new_cluster.workload_type.clients +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs=true +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs=false +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks=true +resources.jobs.*.tasks[*].new_cluster.workload_type.clients.notebooks=false +resources.jobs.*.tasks[*].notebook_task +resources.jobs.*.tasks[*].notebook_task.base_parameters +resources.jobs.*.tasks[*].notebook_task.base_parameters.* +resources.jobs.*.tasks[*].notebook_task.notebook_path +resources.jobs.*.tasks[*].notebook_task.source +resources.jobs.*.tasks[*].notebook_task.warehouse_id +resources.jobs.*.tasks[*].notification_settings +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt=true +resources.jobs.*.tasks[*].notification_settings.alert_on_last_attempt=false +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs=true +resources.jobs.*.tasks[*].notification_settings.no_alert_for_canceled_runs=false +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs=true +resources.jobs.*.tasks[*].notification_settings.no_alert_for_skipped_runs=false +resources.jobs.*.tasks[*].pipeline_task +resources.jobs.*.tasks[*].pipeline_task.full_refresh +resources.jobs.*.tasks[*].pipeline_task.full_refresh=true +resources.jobs.*.tasks[*].pipeline_task.full_refresh=false +resources.jobs.*.tasks[*].pipeline_task.full_refresh_selection +resources.jobs.*.tasks[*].pipeline_task.full_refresh_selection[*] +resources.jobs.*.tasks[*].pipeline_task.parameters +resources.jobs.*.tasks[*].pipeline_task.parameters.* +resources.jobs.*.tasks[*].pipeline_task.pipeline_id +resources.jobs.*.tasks[*].pipeline_task.refresh_flow_selection +resources.jobs.*.tasks[*].pipeline_task.refresh_flow_selection[*] +resources.jobs.*.tasks[*].pipeline_task.refresh_selection +resources.jobs.*.tasks[*].pipeline_task.refresh_selection[*] +resources.jobs.*.tasks[*].pipeline_task.reset_checkpoint_selection +resources.jobs.*.tasks[*].pipeline_task.reset_checkpoint_selection[*] +resources.jobs.*.tasks[*].power_bi_task +resources.jobs.*.tasks[*].power_bi_task.connection_resource_name +resources.jobs.*.tasks[*].power_bi_task.power_bi_model +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.authentication_method +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.model_name +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing=true +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.overwrite_existing=false +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.storage_mode +resources.jobs.*.tasks[*].power_bi_task.power_bi_model.workspace_name +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update=true +resources.jobs.*.tasks[*].power_bi_task.refresh_after_update=false +resources.jobs.*.tasks[*].power_bi_task.tables +resources.jobs.*.tasks[*].power_bi_task.tables[*] +resources.jobs.*.tasks[*].power_bi_task.tables[*].catalog +resources.jobs.*.tasks[*].power_bi_task.tables[*].name +resources.jobs.*.tasks[*].power_bi_task.tables[*].schema +resources.jobs.*.tasks[*].power_bi_task.tables[*].storage_mode +resources.jobs.*.tasks[*].power_bi_task.warehouse_id +resources.jobs.*.tasks[*].python_operator_task +resources.jobs.*.tasks[*].python_operator_task.main +resources.jobs.*.tasks[*].python_operator_task.parameters +resources.jobs.*.tasks[*].python_operator_task.parameters[*] +resources.jobs.*.tasks[*].python_operator_task.parameters[*].name +resources.jobs.*.tasks[*].python_operator_task.parameters[*].value +resources.jobs.*.tasks[*].python_wheel_task +resources.jobs.*.tasks[*].python_wheel_task.entry_point +resources.jobs.*.tasks[*].python_wheel_task.named_parameters +resources.jobs.*.tasks[*].python_wheel_task.named_parameters.* +resources.jobs.*.tasks[*].python_wheel_task.package_name +resources.jobs.*.tasks[*].python_wheel_task.parameters +resources.jobs.*.tasks[*].python_wheel_task.parameters[*] +resources.jobs.*.tasks[*].retry_on_timeout +resources.jobs.*.tasks[*].retry_on_timeout=true +resources.jobs.*.tasks[*].retry_on_timeout=false +resources.jobs.*.tasks[*].run_if +resources.jobs.*.tasks[*].run_job_task +resources.jobs.*.tasks[*].run_job_task.dbt_commands +resources.jobs.*.tasks[*].run_job_task.dbt_commands[*] +resources.jobs.*.tasks[*].run_job_task.jar_params +resources.jobs.*.tasks[*].run_job_task.jar_params[*] +resources.jobs.*.tasks[*].run_job_task.job_id +resources.jobs.*.tasks[*].run_job_task.job_parameters +resources.jobs.*.tasks[*].run_job_task.job_parameters.* +resources.jobs.*.tasks[*].run_job_task.notebook_params +resources.jobs.*.tasks[*].run_job_task.notebook_params.* +resources.jobs.*.tasks[*].run_job_task.pipeline_params +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh=true +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh=false +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh_selection +resources.jobs.*.tasks[*].run_job_task.pipeline_params.full_refresh_selection[*] +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_flow_selection +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_flow_selection[*] +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_selection +resources.jobs.*.tasks[*].run_job_task.pipeline_params.refresh_selection[*] +resources.jobs.*.tasks[*].run_job_task.pipeline_params.reset_checkpoint_selection +resources.jobs.*.tasks[*].run_job_task.pipeline_params.reset_checkpoint_selection[*] +resources.jobs.*.tasks[*].run_job_task.python_named_params +resources.jobs.*.tasks[*].run_job_task.python_named_params.* +resources.jobs.*.tasks[*].run_job_task.python_params +resources.jobs.*.tasks[*].run_job_task.python_params[*] +resources.jobs.*.tasks[*].run_job_task.spark_submit_params +resources.jobs.*.tasks[*].run_job_task.spark_submit_params[*] +resources.jobs.*.tasks[*].run_job_task.sql_params +resources.jobs.*.tasks[*].run_job_task.sql_params.* +resources.jobs.*.tasks[*].spark_jar_task +resources.jobs.*.tasks[*].spark_jar_task.jar_uri +resources.jobs.*.tasks[*].spark_jar_task.main_class_name +resources.jobs.*.tasks[*].spark_jar_task.parameters +resources.jobs.*.tasks[*].spark_jar_task.parameters[*] +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl=true +resources.jobs.*.tasks[*].spark_jar_task.run_as_repl=false +resources.jobs.*.tasks[*].spark_python_task +resources.jobs.*.tasks[*].spark_python_task.parameters +resources.jobs.*.tasks[*].spark_python_task.parameters[*] +resources.jobs.*.tasks[*].spark_python_task.python_file +resources.jobs.*.tasks[*].spark_python_task.source +resources.jobs.*.tasks[*].spark_submit_task +resources.jobs.*.tasks[*].spark_submit_task.parameters +resources.jobs.*.tasks[*].spark_submit_task.parameters[*] +resources.jobs.*.tasks[*].sql_task +resources.jobs.*.tasks[*].sql_task.alert +resources.jobs.*.tasks[*].sql_task.alert.alert_id +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions=true +resources.jobs.*.tasks[*].sql_task.alert.pause_subscriptions=false +resources.jobs.*.tasks[*].sql_task.alert.subscriptions +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*] +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*].destination_id +resources.jobs.*.tasks[*].sql_task.alert.subscriptions[*].user_name +resources.jobs.*.tasks[*].sql_task.dashboard +resources.jobs.*.tasks[*].sql_task.dashboard.custom_subject +resources.jobs.*.tasks[*].sql_task.dashboard.dashboard_id +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions=true +resources.jobs.*.tasks[*].sql_task.dashboard.pause_subscriptions=false +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*] +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*].destination_id +resources.jobs.*.tasks[*].sql_task.dashboard.subscriptions[*].user_name +resources.jobs.*.tasks[*].sql_task.file +resources.jobs.*.tasks[*].sql_task.file.path +resources.jobs.*.tasks[*].sql_task.file.source +resources.jobs.*.tasks[*].sql_task.parameters +resources.jobs.*.tasks[*].sql_task.parameters.* +resources.jobs.*.tasks[*].sql_task.query +resources.jobs.*.tasks[*].sql_task.query.query_id +resources.jobs.*.tasks[*].sql_task.warehouse_id +resources.jobs.*.tasks[*].task_key +resources.jobs.*.tasks[*].timeout_seconds +resources.jobs.*.tasks[*].webhook_notifications +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.tasks[*].webhook_notifications.on_duration_warning_threshold_exceeded[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_failure +resources.jobs.*.tasks[*].webhook_notifications.on_failure[*] +resources.jobs.*.tasks[*].webhook_notifications.on_failure[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete[*] +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_complete[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start[*] +resources.jobs.*.tasks[*].webhook_notifications.on_maintenance_start[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_start +resources.jobs.*.tasks[*].webhook_notifications.on_start[*] +resources.jobs.*.tasks[*].webhook_notifications.on_start[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.tasks[*].webhook_notifications.on_streaming_backlog_exceeded[*].id +resources.jobs.*.tasks[*].webhook_notifications.on_success +resources.jobs.*.tasks[*].webhook_notifications.on_success[*] +resources.jobs.*.tasks[*].webhook_notifications.on_success[*].id +resources.jobs.*.timeout_seconds +resources.jobs.*.trigger +resources.jobs.*.trigger.file_arrival +resources.jobs.*.trigger.file_arrival.min_time_between_triggers_seconds +resources.jobs.*.trigger.file_arrival.url +resources.jobs.*.trigger.file_arrival.wait_after_last_change_seconds +resources.jobs.*.trigger.job_completion +resources.jobs.*.trigger.job_completion.if_status +resources.jobs.*.trigger.job_completion.jobs +resources.jobs.*.trigger.job_completion.jobs[*] +resources.jobs.*.trigger.job_completion.jobs[*].job_id +resources.jobs.*.trigger.job_completion.jobs[*].workspace_id +resources.jobs.*.trigger.model +resources.jobs.*.trigger.model.aliases +resources.jobs.*.trigger.model.aliases[*] +resources.jobs.*.trigger.model.condition +resources.jobs.*.trigger.model.min_time_between_triggers_seconds +resources.jobs.*.trigger.model.securable_name +resources.jobs.*.trigger.model.wait_after_last_change_seconds +resources.jobs.*.trigger.pause_status +resources.jobs.*.trigger.periodic +resources.jobs.*.trigger.periodic.interval +resources.jobs.*.trigger.periodic.unit +resources.jobs.*.trigger.sql_condition +resources.jobs.*.trigger.sql_condition.sql_query_id +resources.jobs.*.trigger.sql_condition.trigger_mode +resources.jobs.*.trigger.sql_condition.warehouse_id +resources.jobs.*.trigger.table_update +resources.jobs.*.trigger.table_update.condition +resources.jobs.*.trigger.table_update.min_time_between_triggers_seconds +resources.jobs.*.trigger.table_update.table_names +resources.jobs.*.trigger.table_update.table_names[*] +resources.jobs.*.trigger.table_update.wait_after_last_change_seconds +resources.jobs.*.triggers +resources.jobs.*.triggers[*] +resources.jobs.*.triggers[*].continuous +resources.jobs.*.triggers[*].continuous.maintenance_window +resources.jobs.*.triggers[*].continuous.maintenance_window.day_of_week +resources.jobs.*.triggers[*].continuous.maintenance_window.start_hour +resources.jobs.*.triggers[*].continuous.maintenance_window.timezone_id +resources.jobs.*.triggers[*].continuous.task_retry_mode +resources.jobs.*.triggers[*].file_arrival +resources.jobs.*.triggers[*].file_arrival.min_time_between_triggers_seconds +resources.jobs.*.triggers[*].file_arrival.url +resources.jobs.*.triggers[*].file_arrival.wait_after_last_change_seconds +resources.jobs.*.triggers[*].job_completion +resources.jobs.*.triggers[*].job_completion.if_status +resources.jobs.*.triggers[*].job_completion.jobs +resources.jobs.*.triggers[*].job_completion.jobs[*] +resources.jobs.*.triggers[*].job_completion.jobs[*].job_id +resources.jobs.*.triggers[*].job_completion.jobs[*].workspace_id +resources.jobs.*.triggers[*].model +resources.jobs.*.triggers[*].model.aliases +resources.jobs.*.triggers[*].model.aliases[*] +resources.jobs.*.triggers[*].model.condition +resources.jobs.*.triggers[*].model.min_time_between_triggers_seconds +resources.jobs.*.triggers[*].model.securable_name +resources.jobs.*.triggers[*].model.wait_after_last_change_seconds +resources.jobs.*.triggers[*].pause_status +resources.jobs.*.triggers[*].periodic +resources.jobs.*.triggers[*].periodic.interval +resources.jobs.*.triggers[*].periodic.unit +resources.jobs.*.triggers[*].schedule +resources.jobs.*.triggers[*].schedule.quartz_cron_expression +resources.jobs.*.triggers[*].schedule.timezone_id +resources.jobs.*.triggers[*].sql_condition +resources.jobs.*.triggers[*].sql_condition.sql_query_id +resources.jobs.*.triggers[*].sql_condition.trigger_mode +resources.jobs.*.triggers[*].sql_condition.warehouse_id +resources.jobs.*.triggers[*].table_update +resources.jobs.*.triggers[*].table_update.condition +resources.jobs.*.triggers[*].table_update.min_time_between_triggers_seconds +resources.jobs.*.triggers[*].table_update.table_names +resources.jobs.*.triggers[*].table_update.table_names[*] +resources.jobs.*.triggers[*].table_update.wait_after_last_change_seconds +resources.jobs.*.usage_policy_id +resources.jobs.*.webhook_notifications +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded[*] +resources.jobs.*.webhook_notifications.on_duration_warning_threshold_exceeded[*].id +resources.jobs.*.webhook_notifications.on_failure +resources.jobs.*.webhook_notifications.on_failure[*] +resources.jobs.*.webhook_notifications.on_failure[*].id +resources.jobs.*.webhook_notifications.on_maintenance_complete +resources.jobs.*.webhook_notifications.on_maintenance_complete[*] +resources.jobs.*.webhook_notifications.on_maintenance_complete[*].id +resources.jobs.*.webhook_notifications.on_maintenance_start +resources.jobs.*.webhook_notifications.on_maintenance_start[*] +resources.jobs.*.webhook_notifications.on_maintenance_start[*].id +resources.jobs.*.webhook_notifications.on_start +resources.jobs.*.webhook_notifications.on_start[*] +resources.jobs.*.webhook_notifications.on_start[*].id +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded[*] +resources.jobs.*.webhook_notifications.on_streaming_backlog_exceeded[*].id +resources.jobs.*.webhook_notifications.on_success +resources.jobs.*.webhook_notifications.on_success[*] +resources.jobs.*.webhook_notifications.on_success[*].id +resources.jobs.*.permissions +resources.jobs.*.permissions[*] +resources.jobs.*.permissions[*].level +resources.jobs.*.permissions[*].user_name +resources.jobs.*.permissions[*].service_principal_name +resources.jobs.*.permissions[*].group_name +resources.job_runs +resources.job_runs.* +resources.job_runs.*.url +resources.job_runs.*.modified_status +resources.job_runs.*.lifecycle +resources.job_runs.*.lifecycle.prevent_destroy +resources.job_runs.*.lifecycle.prevent_destroy=true +resources.job_runs.*.lifecycle.prevent_destroy=false +resources.job_runs.*.lifecycle.depends_on +resources.job_runs.*.lifecycle.depends_on[*] +resources.job_runs.*.lifecycle.depends_on[*].resource +resources.job_runs.*.id +resources.job_runs.*.dbt_commands +resources.job_runs.*.dbt_commands[*] +resources.job_runs.*.duration_target +resources.job_runs.*.idempotency_token +resources.job_runs.*.jar_params +resources.job_runs.*.jar_params[*] +resources.job_runs.*.job_id +resources.job_runs.*.job_parameters +resources.job_runs.*.job_parameters.* +resources.job_runs.*.notebook_params +resources.job_runs.*.notebook_params.* +resources.job_runs.*.only +resources.job_runs.*.only[*] +resources.job_runs.*.performance_target +resources.job_runs.*.pipeline_params +resources.job_runs.*.pipeline_params.full_refresh +resources.job_runs.*.pipeline_params.full_refresh=true +resources.job_runs.*.pipeline_params.full_refresh=false +resources.job_runs.*.pipeline_params.full_refresh_selection +resources.job_runs.*.pipeline_params.full_refresh_selection[*] +resources.job_runs.*.pipeline_params.refresh_flow_selection +resources.job_runs.*.pipeline_params.refresh_flow_selection[*] +resources.job_runs.*.pipeline_params.refresh_selection +resources.job_runs.*.pipeline_params.refresh_selection[*] +resources.job_runs.*.pipeline_params.reset_checkpoint_selection +resources.job_runs.*.pipeline_params.reset_checkpoint_selection[*] +resources.job_runs.*.python_named_params +resources.job_runs.*.python_named_params.* +resources.job_runs.*.python_params +resources.job_runs.*.python_params[*] +resources.job_runs.*.queue +resources.job_runs.*.queue.enabled +resources.job_runs.*.queue.enabled=true +resources.job_runs.*.queue.enabled=false +resources.job_runs.*.spark_submit_params +resources.job_runs.*.spark_submit_params[*] +resources.job_runs.*.sql_params +resources.job_runs.*.sql_params.* +resources.job_runs.*.lifecycle.triggers +resources.job_runs.*.lifecycle.triggers[*] +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy=true +resources.job_runs.*.lifecycle.triggers[*].on_bundle_deploy=false +resources.job_runs.*.lifecycle.triggers[*].on_file_change +resources.job_runs.*.lifecycle.triggers_state +resources.job_runs.*.lifecycle.triggers_state.on_bundle_deploy +resources.job_runs.*.lifecycle.triggers_state.on_file_change +resources.job_runs.*.lifecycle.triggers_state.on_file_change.* +resources.job_runs.*.resolved_job_id +resources.pipelines +resources.pipelines.* +resources.pipelines.*.url +resources.pipelines.*.modified_status +resources.pipelines.*.lifecycle +resources.pipelines.*.lifecycle.prevent_destroy +resources.pipelines.*.lifecycle.prevent_destroy=true +resources.pipelines.*.lifecycle.prevent_destroy=false +resources.pipelines.*.lifecycle.depends_on +resources.pipelines.*.lifecycle.depends_on[*] +resources.pipelines.*.lifecycle.depends_on[*].resource +resources.pipelines.*.allow_duplicate_names +resources.pipelines.*.allow_duplicate_names=true +resources.pipelines.*.allow_duplicate_names=false +resources.pipelines.*.budget_policy_id +resources.pipelines.*.catalog +resources.pipelines.*.channel +resources.pipelines.*.clusters +resources.pipelines.*.clusters[*] +resources.pipelines.*.clusters[*].apply_policy_default_values +resources.pipelines.*.clusters[*].apply_policy_default_values=true +resources.pipelines.*.clusters[*].apply_policy_default_values=false +resources.pipelines.*.clusters[*].autoscale +resources.pipelines.*.clusters[*].autoscale.max_workers +resources.pipelines.*.clusters[*].autoscale.min_workers +resources.pipelines.*.clusters[*].autoscale.mode +resources.pipelines.*.clusters[*].aws_attributes +resources.pipelines.*.clusters[*].aws_attributes.availability +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_count +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_iops +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_size +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_throughput +resources.pipelines.*.clusters[*].aws_attributes.ebs_volume_type +resources.pipelines.*.clusters[*].aws_attributes.first_on_demand +resources.pipelines.*.clusters[*].aws_attributes.instance_profile_arn +resources.pipelines.*.clusters[*].aws_attributes.spot_bid_price_percent +resources.pipelines.*.clusters[*].aws_attributes.zone_id +resources.pipelines.*.clusters[*].azure_attributes +resources.pipelines.*.clusters[*].azure_attributes.availability +resources.pipelines.*.clusters[*].azure_attributes.capacity_reservation_group +resources.pipelines.*.clusters[*].azure_attributes.first_on_demand +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info.log_analytics_primary_key +resources.pipelines.*.clusters[*].azure_attributes.log_analytics_info.log_analytics_workspace_id +resources.pipelines.*.clusters[*].azure_attributes.spot_bid_max_price +resources.pipelines.*.clusters[*].cluster_log_conf +resources.pipelines.*.clusters[*].cluster_log_conf.dbfs +resources.pipelines.*.clusters[*].cluster_log_conf.dbfs.destination +resources.pipelines.*.clusters[*].cluster_log_conf.s3 +resources.pipelines.*.clusters[*].cluster_log_conf.s3.canned_acl +resources.pipelines.*.clusters[*].cluster_log_conf.s3.destination +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption=true +resources.pipelines.*.clusters[*].cluster_log_conf.s3.enable_encryption=false +resources.pipelines.*.clusters[*].cluster_log_conf.s3.encryption_type +resources.pipelines.*.clusters[*].cluster_log_conf.s3.endpoint +resources.pipelines.*.clusters[*].cluster_log_conf.s3.kms_key +resources.pipelines.*.clusters[*].cluster_log_conf.s3.region +resources.pipelines.*.clusters[*].cluster_log_conf.volumes +resources.pipelines.*.clusters[*].cluster_log_conf.volumes.destination +resources.pipelines.*.clusters[*].custom_tags +resources.pipelines.*.clusters[*].custom_tags.* +resources.pipelines.*.clusters[*].driver_instance_pool_id +resources.pipelines.*.clusters[*].driver_node_type_id +resources.pipelines.*.clusters[*].enable_local_disk_encryption +resources.pipelines.*.clusters[*].enable_local_disk_encryption=true +resources.pipelines.*.clusters[*].enable_local_disk_encryption=false +resources.pipelines.*.clusters[*].gcp_attributes +resources.pipelines.*.clusters[*].gcp_attributes.availability +resources.pipelines.*.clusters[*].gcp_attributes.boot_disk_size +resources.pipelines.*.clusters[*].gcp_attributes.confidential_compute_type +resources.pipelines.*.clusters[*].gcp_attributes.first_on_demand +resources.pipelines.*.clusters[*].gcp_attributes.google_service_account +resources.pipelines.*.clusters[*].gcp_attributes.local_ssd_count +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors=true +resources.pipelines.*.clusters[*].gcp_attributes.use_preemptible_executors=false +resources.pipelines.*.clusters[*].gcp_attributes.zone_id +resources.pipelines.*.clusters[*].init_scripts +resources.pipelines.*.clusters[*].init_scripts[*] +resources.pipelines.*.clusters[*].init_scripts[*].abfss +resources.pipelines.*.clusters[*].init_scripts[*].abfss.destination +resources.pipelines.*.clusters[*].init_scripts[*].dbfs +resources.pipelines.*.clusters[*].init_scripts[*].dbfs.destination +resources.pipelines.*.clusters[*].init_scripts[*].file +resources.pipelines.*.clusters[*].init_scripts[*].file.destination +resources.pipelines.*.clusters[*].init_scripts[*].gcs +resources.pipelines.*.clusters[*].init_scripts[*].gcs.destination +resources.pipelines.*.clusters[*].init_scripts[*].s3 +resources.pipelines.*.clusters[*].init_scripts[*].s3.canned_acl +resources.pipelines.*.clusters[*].init_scripts[*].s3.destination +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption=true +resources.pipelines.*.clusters[*].init_scripts[*].s3.enable_encryption=false +resources.pipelines.*.clusters[*].init_scripts[*].s3.encryption_type +resources.pipelines.*.clusters[*].init_scripts[*].s3.endpoint +resources.pipelines.*.clusters[*].init_scripts[*].s3.kms_key +resources.pipelines.*.clusters[*].init_scripts[*].s3.region +resources.pipelines.*.clusters[*].init_scripts[*].volumes +resources.pipelines.*.clusters[*].init_scripts[*].volumes.destination +resources.pipelines.*.clusters[*].init_scripts[*].workspace +resources.pipelines.*.clusters[*].init_scripts[*].workspace.destination +resources.pipelines.*.clusters[*].instance_pool_id +resources.pipelines.*.clusters[*].label +resources.pipelines.*.clusters[*].node_type_id +resources.pipelines.*.clusters[*].num_workers +resources.pipelines.*.clusters[*].policy_id +resources.pipelines.*.clusters[*].spark_conf +resources.pipelines.*.clusters[*].spark_conf.* +resources.pipelines.*.clusters[*].spark_env_vars +resources.pipelines.*.clusters[*].spark_env_vars.* +resources.pipelines.*.clusters[*].ssh_public_keys +resources.pipelines.*.clusters[*].ssh_public_keys[*] +resources.pipelines.*.configuration +resources.pipelines.*.configuration.* +resources.pipelines.*.continuous +resources.pipelines.*.continuous=true +resources.pipelines.*.continuous=false +resources.pipelines.*.deployment +resources.pipelines.*.deployment.deployment_id +resources.pipelines.*.deployment.kind +resources.pipelines.*.deployment.metadata_file_path +resources.pipelines.*.deployment.version_id +resources.pipelines.*.development +resources.pipelines.*.development=true +resources.pipelines.*.development=false +resources.pipelines.*.dry_run +resources.pipelines.*.dry_run=true +resources.pipelines.*.dry_run=false +resources.pipelines.*.edition +resources.pipelines.*.environment +resources.pipelines.*.environment.dependencies +resources.pipelines.*.environment.dependencies[*] +resources.pipelines.*.environment.environment_version +resources.pipelines.*.event_log +resources.pipelines.*.event_log.catalog +resources.pipelines.*.event_log.name +resources.pipelines.*.event_log.schema +resources.pipelines.*.filters +resources.pipelines.*.filters.exclude +resources.pipelines.*.filters.exclude[*] +resources.pipelines.*.filters.include +resources.pipelines.*.filters.include[*] +resources.pipelines.*.gateway_definition +resources.pipelines.*.gateway_definition.connection_id +resources.pipelines.*.gateway_definition.connection_name +resources.pipelines.*.gateway_definition.connection_parameters +resources.pipelines.*.gateway_definition.connection_parameters.source_catalog +resources.pipelines.*.gateway_definition.gateway_storage_catalog +resources.pipelines.*.gateway_definition.gateway_storage_name +resources.pipelines.*.gateway_definition.gateway_storage_schema +resources.pipelines.*.id +resources.pipelines.*.ingestion_definition +resources.pipelines.*.ingestion_definition.connection_name +resources.pipelines.*.ingestion_definition.connector_type +resources.pipelines.*.ingestion_definition.data_staging_options +resources.pipelines.*.ingestion_definition.data_staging_options.catalog_name +resources.pipelines.*.ingestion_definition.data_staging_options.schema_name +resources.pipelines.*.ingestion_definition.data_staging_options.volume_name +resources.pipelines.*.ingestion_definition.full_refresh_window +resources.pipelines.*.ingestion_definition.full_refresh_window.days_of_week +resources.pipelines.*.ingestion_definition.full_refresh_window.days_of_week[*] +resources.pipelines.*.ingestion_definition.full_refresh_window.start_hour +resources.pipelines.*.ingestion_definition.full_refresh_window.time_zone_id +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog=true +resources.pipelines.*.ingestion_definition.ingest_from_uc_foreign_catalog=false +resources.pipelines.*.ingestion_definition.ingestion_gateway_id +resources.pipelines.*.ingestion_definition.netsuite_jar_path +resources.pipelines.*.ingestion_definition.objects +resources.pipelines.*.ingestion_definition.objects[*] +resources.pipelines.*.ingestion_definition.objects[*].report +resources.pipelines.*.ingestion_definition.objects[*].report.destination_catalog +resources.pipelines.*.ingestion_definition.objects[*].report.destination_schema +resources.pipelines.*.ingestion_definition.objects[*].report.destination_table +resources.pipelines.*.ingestion_definition.objects[*].report.source_url +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled=true +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.enabled=false +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy.min_interval_hours +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.clustering_columns +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.clustering_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering=true +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.enable_auto_clustering=false +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.exclude_columns +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.exclude_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.include_columns +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.include_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.primary_keys +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.primary_keys[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.cursor_columns +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.cursor_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.deletion_condition +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.row_filter +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields=true +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.salesforce_include_formula_fields=false +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.scd_type +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.sequence_by +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.sequence_by[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.source_metadata_column +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.table_properties +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.table_properties.* +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental=true +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.incremental=false +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.parameters +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.parameters.* +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*] +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*].key +resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.workday_report_parameters.report_parameters[*].value +resources.pipelines.*.ingestion_definition.objects[*].schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options.options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.api_source_connector_options.options.* +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options.include_confluence_spaces +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.confluence_options.include_confluence_spaces[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.gdrive_options.url +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource_fields +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.resource_fields[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.segments +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options.segments[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.manager_account_id +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options.include_jira_spaces +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.jira_options.include_jira_spaces[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.client_config.* +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.input_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.as_variant=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.json_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.output_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.max_offsets_per_trigger +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.starting_offset +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topic_pattern +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.topics[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.input_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.as_variant=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.json_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.output_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.finder +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_breakdowns +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_report_time +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_insights_lookback_window +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_attribution_windows +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_attribution_windows[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_breakdowns +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.action_report_time +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.level +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.custom_report_options.time_increment +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.level +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.time_increment +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.onedrive_options.url +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.attachment_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.body_format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.folder_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.folder_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_folders +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_folders[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_mailboxes +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_mailboxes[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_senders +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_senders[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_subjects +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.include_subjects[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.sender_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.sender_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options.queue +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.fields +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.fields[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.url +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.smartsheet_options.enforce_schema=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.data_level +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.dimensions +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.dimensions[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.custom_report_options.report_type +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.data_level +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.dimensions +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.dimensions[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime=true +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.query_lifetime=false +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.report_type +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.tiktok_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.zendesk_support_options +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.zendesk_support_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].schema.destination_catalog +resources.pipelines.*.ingestion_definition.objects[*].schema.destination_schema +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.fanout_by +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].avro_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].format +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].input_column +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant=true +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.as_variant=false +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].json_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].output_column +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.desc_file_path +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.recursive_fields_max_depth +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].schema.fanout_options.transforms[*].protobuf_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].schema.source_catalog +resources.pipelines.*.ingestion_definition.objects[*].schema.source_schema +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled=true +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.enabled=false +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy.min_interval_hours +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.clustering_columns +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.clustering_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering=true +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.enable_auto_clustering=false +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.exclude_columns +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.exclude_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.include_columns +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.include_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.primary_keys +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.primary_keys[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.cursor_columns +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.cursor_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.deletion_condition +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.row_filter +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields=true +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.salesforce_include_formula_fields=false +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.scd_type +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.sequence_by +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.sequence_by[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.source_metadata_column +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.table_properties +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.table_properties.* +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental=true +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.incremental=false +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.parameters +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.parameters.* +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*] +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*].key +resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.workday_report_parameters.report_parameters[*].value +resources.pipelines.*.ingestion_definition.objects[*].table +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options.options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.api_source_connector_options.options.* +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options.include_confluence_spaces +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.confluence_options.include_confluence_spaces[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.gdrive_options.url +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource_fields +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.resource_fields[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.segments +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options.segments[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.manager_account_id +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options.include_jira_spaces +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.jira_options.include_jira_spaces[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.client_config.* +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.avro_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.input_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.as_variant=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.json_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.output_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.desc_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.recursive_fields_max_depth +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.key_transformer.protobuf_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.max_offsets_per_trigger +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.starting_offset +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topic_pattern +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.topics[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.avro_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.input_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.as_variant=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.json_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.output_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.desc_file_path +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.parse_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.recursive_fields_max_depth +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.confluent_options.subject +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.connection_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.kafka_options.value_transformer.protobuf_options.schema_registry.protobuf_message_name +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.finder +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.time_granularity +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_breakdowns +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_report_time +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_insights_lookback_window +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_attribution_windows +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_attribution_windows[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_breakdowns +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.action_report_time +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.level +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.custom_report_options.time_increment +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.level +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.time_increment +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.onedrive_options.url +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.attachment_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.body_format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.folder_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.folder_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_folders +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_folders[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_mailboxes +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_mailboxes[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_senders +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_senders[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_subjects +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.include_subjects[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.sender_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.sender_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options.queue +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.breakdowns +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.breakdowns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.fields +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.fields[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.entity_type +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.corrupt_record_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_after +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].modified_before +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.file_filters[*].path_filter +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.format_options.* +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.ignore_corrupt_files=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.infer_column_types=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.reader_case_sensitive=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.rescued_data_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.schema_evolution_mode +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.schema_hints +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.file_ingestion_options.single_variant_column +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.url +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.smartsheet_options.enforce_schema=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.data_level +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.dimensions +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.dimensions[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.query_lifetime=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.custom_report_options.report_type +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.data_level +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.dimensions +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.dimensions[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.lookback_window_days +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.metrics +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.metrics[*] +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime=true +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.query_lifetime=false +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.report_type +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.sync_start_date +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.zendesk_support_options +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.zendesk_support_options.start_date +resources.pipelines.*.ingestion_definition.objects[*].table.destination_catalog +resources.pipelines.*.ingestion_definition.objects[*].table.destination_schema +resources.pipelines.*.ingestion_definition.objects[*].table.destination_table +resources.pipelines.*.ingestion_definition.objects[*].table.source_catalog +resources.pipelines.*.ingestion_definition.objects[*].table.source_schema +resources.pipelines.*.ingestion_definition.objects[*].table.source_table +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled=true +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.enabled=false +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy.min_interval_hours +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.clustering_columns +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.clustering_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering=true +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.enable_auto_clustering=false +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.exclude_columns +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.exclude_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.include_columns +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.include_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.primary_keys +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.primary_keys[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.cursor_columns +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.cursor_columns[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.deletion_condition +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.row_filter +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields=true +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.salesforce_include_formula_fields=false +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.scd_type +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.sequence_by +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.sequence_by[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.source_metadata_column +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.table_properties +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.table_properties.* +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental=true +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.incremental=false +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.parameters +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.parameters.* +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*] +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*].key +resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.workday_report_parameters.report_parameters[*].value +resources.pipelines.*.ingestion_definition.source_configurations +resources.pipelines.*.ingestion_definition.source_configurations[*] +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config.configs +resources.pipelines.*.ingestion_definition.source_configurations[*].api_source_connector_config.configs.* +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config.publication_name +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.postgres.slot_config.slot_name +resources.pipelines.*.ingestion_definition.source_configurations[*].catalog.source_catalog +resources.pipelines.*.ingestion_definition.source_configurations[*].google_ads_config +resources.pipelines.*.ingestion_definition.source_configurations[*].google_ads_config.manager_account_id +resources.pipelines.*.ingestion_definition.source_type +resources.pipelines.*.ingestion_definition.table_configuration +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled=true +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.enabled=false +resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy.min_interval_hours +resources.pipelines.*.ingestion_definition.table_configuration.clustering_columns +resources.pipelines.*.ingestion_definition.table_configuration.clustering_columns[*] +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering=true +resources.pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering=false +resources.pipelines.*.ingestion_definition.table_configuration.exclude_columns +resources.pipelines.*.ingestion_definition.table_configuration.exclude_columns[*] +resources.pipelines.*.ingestion_definition.table_configuration.include_columns +resources.pipelines.*.ingestion_definition.table_configuration.include_columns[*] +resources.pipelines.*.ingestion_definition.table_configuration.primary_keys +resources.pipelines.*.ingestion_definition.table_configuration.primary_keys[*] +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.cursor_columns +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.cursor_columns[*] +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.deletion_condition +resources.pipelines.*.ingestion_definition.table_configuration.query_based_connector_config.hard_deletion_sync_min_interval_in_seconds +resources.pipelines.*.ingestion_definition.table_configuration.row_filter +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields=true +resources.pipelines.*.ingestion_definition.table_configuration.salesforce_include_formula_fields=false +resources.pipelines.*.ingestion_definition.table_configuration.scd_type +resources.pipelines.*.ingestion_definition.table_configuration.sequence_by +resources.pipelines.*.ingestion_definition.table_configuration.sequence_by[*] +resources.pipelines.*.ingestion_definition.table_configuration.source_metadata_column +resources.pipelines.*.ingestion_definition.table_configuration.table_properties +resources.pipelines.*.ingestion_definition.table_configuration.table_properties.* +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental=true +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.incremental=false +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.parameters +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.parameters.* +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*] +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*].key +resources.pipelines.*.ingestion_definition.table_configuration.workday_report_parameters.report_parameters[*].value +resources.pipelines.*.libraries +resources.pipelines.*.libraries[*] +resources.pipelines.*.libraries[*].file +resources.pipelines.*.libraries[*].file.path +resources.pipelines.*.libraries[*].glob +resources.pipelines.*.libraries[*].glob.include +resources.pipelines.*.libraries[*].jar +resources.pipelines.*.libraries[*].maven +resources.pipelines.*.libraries[*].maven.coordinates +resources.pipelines.*.libraries[*].maven.exclusions +resources.pipelines.*.libraries[*].maven.exclusions[*] +resources.pipelines.*.libraries[*].maven.repo +resources.pipelines.*.libraries[*].notebook +resources.pipelines.*.libraries[*].notebook.path +resources.pipelines.*.libraries[*].whl +resources.pipelines.*.name +resources.pipelines.*.notifications +resources.pipelines.*.notifications[*] +resources.pipelines.*.notifications[*].alerts +resources.pipelines.*.notifications[*].alerts[*] +resources.pipelines.*.notifications[*].email_recipients +resources.pipelines.*.notifications[*].email_recipients[*] +resources.pipelines.*.parameters +resources.pipelines.*.parameters.* +resources.pipelines.*.parent_path +resources.pipelines.*.photon +resources.pipelines.*.photon=true +resources.pipelines.*.photon=false +resources.pipelines.*.restart_window +resources.pipelines.*.restart_window.days_of_week +resources.pipelines.*.restart_window.days_of_week[*] +resources.pipelines.*.restart_window.start_hour +resources.pipelines.*.restart_window.time_zone_id +resources.pipelines.*.root_path +resources.pipelines.*.run_as +resources.pipelines.*.run_as.group_name +resources.pipelines.*.run_as.service_principal_name +resources.pipelines.*.run_as.user_name +resources.pipelines.*.schema +resources.pipelines.*.serverless +resources.pipelines.*.serverless=true +resources.pipelines.*.serverless=false +resources.pipelines.*.serverless_compute_id +resources.pipelines.*.storage +resources.pipelines.*.tags +resources.pipelines.*.tags.* +resources.pipelines.*.target +resources.pipelines.*.trigger +resources.pipelines.*.trigger.cron +resources.pipelines.*.trigger.cron.quartz_cron_schedule +resources.pipelines.*.trigger.cron.timezone_id +resources.pipelines.*.trigger.manual +resources.pipelines.*.usage_policy_id +resources.pipelines.*.permissions +resources.pipelines.*.permissions[*] +resources.pipelines.*.permissions[*].level +resources.pipelines.*.permissions[*].user_name +resources.pipelines.*.permissions[*].service_principal_name +resources.pipelines.*.permissions[*].group_name +resources.pipelines.*.cascade_on_destroy +resources.pipelines.*.cascade_on_destroy=true +resources.pipelines.*.cascade_on_destroy=false +resources.features +resources.features.* +resources.features.*.url +resources.features.*.modified_status +resources.features.*.lifecycle +resources.features.*.lifecycle.prevent_destroy +resources.features.*.lifecycle.prevent_destroy=true +resources.features.*.lifecycle.prevent_destroy=false +resources.features.*.lifecycle.depends_on +resources.features.*.lifecycle.depends_on[*] +resources.features.*.lifecycle.depends_on[*].resource +resources.features.*.id +resources.features.*.catalog_name +resources.features.*.created_at +resources.features.*.created_by +resources.features.*.description +resources.features.*.entities +resources.features.*.entities[*] +resources.features.*.entities[*].name +resources.features.*.filter_condition +resources.features.*.full_name +resources.features.*.function +resources.features.*.function.aggregation_function +resources.features.*.function.aggregation_function.approx_count_distinct +resources.features.*.function.aggregation_function.approx_count_distinct.input +resources.features.*.function.aggregation_function.approx_count_distinct.relative_error +resources.features.*.function.aggregation_function.approx_count_distinct.relative_sd +resources.features.*.function.aggregation_function.approx_percentile +resources.features.*.function.aggregation_function.approx_percentile.accuracy +resources.features.*.function.aggregation_function.approx_percentile.input +resources.features.*.function.aggregation_function.approx_percentile.percentile +resources.features.*.function.aggregation_function.approx_percentile.relative_error +resources.features.*.function.aggregation_function.avg +resources.features.*.function.aggregation_function.avg.input +resources.features.*.function.aggregation_function.count_function +resources.features.*.function.aggregation_function.count_function.input +resources.features.*.function.aggregation_function.first +resources.features.*.function.aggregation_function.first.input +resources.features.*.function.aggregation_function.first_distinct +resources.features.*.function.aggregation_function.first_distinct.input +resources.features.*.function.aggregation_function.first_distinct.n +resources.features.*.function.aggregation_function.first_n +resources.features.*.function.aggregation_function.first_n.input +resources.features.*.function.aggregation_function.first_n.n +resources.features.*.function.aggregation_function.last +resources.features.*.function.aggregation_function.last.input +resources.features.*.function.aggregation_function.last_distinct +resources.features.*.function.aggregation_function.last_distinct.input +resources.features.*.function.aggregation_function.last_distinct.n +resources.features.*.function.aggregation_function.last_n +resources.features.*.function.aggregation_function.last_n.input +resources.features.*.function.aggregation_function.last_n.n +resources.features.*.function.aggregation_function.max +resources.features.*.function.aggregation_function.max.input +resources.features.*.function.aggregation_function.min +resources.features.*.function.aggregation_function.min.input +resources.features.*.function.aggregation_function.stddev_pop +resources.features.*.function.aggregation_function.stddev_pop.input +resources.features.*.function.aggregation_function.stddev_samp +resources.features.*.function.aggregation_function.stddev_samp.input +resources.features.*.function.aggregation_function.sum +resources.features.*.function.aggregation_function.sum.input +resources.features.*.function.aggregation_function.time_window +resources.features.*.function.aggregation_function.time_window.continuous +resources.features.*.function.aggregation_function.time_window.continuous.offset +resources.features.*.function.aggregation_function.time_window.continuous.window_duration +resources.features.*.function.aggregation_function.time_window.rolling +resources.features.*.function.aggregation_function.time_window.rolling.delay +resources.features.*.function.aggregation_function.time_window.rolling.window_duration +resources.features.*.function.aggregation_function.time_window.sawtooth +resources.features.*.function.aggregation_function.time_window.sawtooth.delay +resources.features.*.function.aggregation_function.time_window.sawtooth.window_duration +resources.features.*.function.aggregation_function.time_window.sliding +resources.features.*.function.aggregation_function.time_window.sliding.delay +resources.features.*.function.aggregation_function.time_window.sliding.offset +resources.features.*.function.aggregation_function.time_window.sliding.slide_duration +resources.features.*.function.aggregation_function.time_window.sliding.window_duration +resources.features.*.function.aggregation_function.time_window.start_time +resources.features.*.function.aggregation_function.time_window.tumbling +resources.features.*.function.aggregation_function.time_window.tumbling.delay +resources.features.*.function.aggregation_function.time_window.tumbling.offset +resources.features.*.function.aggregation_function.time_window.tumbling.window_duration +resources.features.*.function.aggregation_function.var_pop +resources.features.*.function.aggregation_function.var_pop.input +resources.features.*.function.aggregation_function.var_samp +resources.features.*.function.aggregation_function.var_samp.input +resources.features.*.function.column_selection +resources.features.*.function.column_selection.column +resources.features.*.function.custom_udf +resources.features.*.function.custom_udf.function_path +resources.features.*.function.custom_udf.input_bindings +resources.features.*.function.custom_udf.input_bindings[*] +resources.features.*.function.custom_udf.input_bindings[*].column +resources.features.*.function.custom_udf.input_bindings[*].parameter +resources.features.*.function.extra_parameters +resources.features.*.function.extra_parameters[*] +resources.features.*.function.extra_parameters[*].key +resources.features.*.function.extra_parameters[*].value +resources.features.*.function.function_type +resources.features.*.inputs +resources.features.*.inputs[*] +resources.features.*.lineage_context +resources.features.*.lineage_context.job_context +resources.features.*.lineage_context.job_context.job_id +resources.features.*.lineage_context.job_context.job_run_id +resources.features.*.lineage_context.notebook_id +resources.features.*.name +resources.features.*.schema_name +resources.features.*.source +resources.features.*.source.delta_table_source +resources.features.*.source.delta_table_source.dataframe_schema +resources.features.*.source.delta_table_source.entity_columns +resources.features.*.source.delta_table_source.entity_columns[*] +resources.features.*.source.delta_table_source.filter_condition +resources.features.*.source.delta_table_source.full_name +resources.features.*.source.delta_table_source.timeseries_column +resources.features.*.source.delta_table_source.transformation_sql +resources.features.*.source.feature_view_source +resources.features.*.source.feature_view_source.feature_references +resources.features.*.source.feature_view_source.feature_references[*] +resources.features.*.source.feature_view_source.feature_references[*].feature +resources.features.*.source.kafka_source +resources.features.*.source.kafka_source.entity_column_identifiers +resources.features.*.source.kafka_source.entity_column_identifiers[*] +resources.features.*.source.kafka_source.entity_column_identifiers[*].variant_expr_path +resources.features.*.source.kafka_source.filter_condition +resources.features.*.source.kafka_source.name +resources.features.*.source.kafka_source.timeseries_column_identifier +resources.features.*.source.kafka_source.timeseries_column_identifier.variant_expr_path +resources.features.*.source.lateness +resources.features.*.source.lateness.settling_delay +resources.features.*.source.request_source +resources.features.*.source.request_source.dataframe_schema +resources.features.*.source.request_source.flat_schema +resources.features.*.source.request_source.flat_schema.fields +resources.features.*.source.request_source.flat_schema.fields[*] +resources.features.*.source.request_source.flat_schema.fields[*].data_type +resources.features.*.source.request_source.flat_schema.fields[*].name +resources.features.*.source.sdp_source +resources.features.*.source.sdp_source.dataframe_schema +resources.features.*.source.sdp_source.filter_condition +resources.features.*.source.sdp_source.input_tables +resources.features.*.source.sdp_source.input_tables[*] +resources.features.*.source.sdp_source.output_table +resources.features.*.source.sdp_source.pipeline_id +resources.features.*.source.sdp_source.pipeline_state +resources.features.*.source.sdp_source.transformation_sql +resources.features.*.source.stream_source +resources.features.*.source.stream_source.dataframe_schema +resources.features.*.source.stream_source.filter_condition +resources.features.*.source.stream_source.full_name +resources.features.*.source.stream_source.transformation_sql +resources.features.*.time_window +resources.features.*.time_window.continuous +resources.features.*.time_window.continuous.offset +resources.features.*.time_window.continuous.window_duration +resources.features.*.time_window.rolling +resources.features.*.time_window.rolling.delay +resources.features.*.time_window.rolling.window_duration +resources.features.*.time_window.sawtooth +resources.features.*.time_window.sawtooth.delay +resources.features.*.time_window.sawtooth.window_duration +resources.features.*.time_window.sliding +resources.features.*.time_window.sliding.delay +resources.features.*.time_window.sliding.offset +resources.features.*.time_window.sliding.slide_duration +resources.features.*.time_window.sliding.window_duration +resources.features.*.time_window.start_time +resources.features.*.time_window.tumbling +resources.features.*.time_window.tumbling.delay +resources.features.*.time_window.tumbling.offset +resources.features.*.time_window.tumbling.window_duration +resources.features.*.timeseries_column +resources.features.*.timeseries_column.name +resources.materialization_sets +resources.materialization_sets.* +resources.materialization_sets.*.url +resources.materialization_sets.*.modified_status +resources.materialization_sets.*.lifecycle +resources.materialization_sets.*.lifecycle.prevent_destroy +resources.materialization_sets.*.lifecycle.prevent_destroy=true +resources.materialization_sets.*.lifecycle.prevent_destroy=false +resources.materialization_sets.*.lifecycle.depends_on +resources.materialization_sets.*.lifecycle.depends_on[*] +resources.materialization_sets.*.lifecycle.depends_on[*].resource +resources.materialization_sets.*.id +resources.materialization_sets.*.materialization_set_id +resources.materialization_sets.*.materialized_features +resources.materialization_sets.*.materialized_features[*] +resources.materialization_sets.*.materialized_features[*].budget_policy_id +resources.materialization_sets.*.materialized_features[*].cron_schedule +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.cron_expression +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.mode +resources.materialization_sets.*.materialized_features[*].cron_schedule_trigger.timezone_id +resources.materialization_sets.*.materialized_features[*].feature_name +resources.materialization_sets.*.materialized_features[*].is_online +resources.materialization_sets.*.materialized_features[*].is_online=true +resources.materialization_sets.*.materialized_features[*].is_online=false +resources.materialization_sets.*.materialized_features[*].job_id +resources.materialization_sets.*.materialized_features[*].last_materialization_time +resources.materialization_sets.*.materialized_features[*].latest_backfill_operation +resources.materialization_sets.*.materialized_features[*].materialization_set_id +resources.materialization_sets.*.materialized_features[*].materialized_feature_id +resources.materialization_sets.*.materialized_features[*].notifications +resources.materialization_sets.*.materialized_features[*].notifications.on_failure +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.destination_ids +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.destination_ids[*] +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.email_addresses +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.email_addresses[*] +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only=true +resources.materialization_sets.*.materialized_features[*].notifications.on_failure.final_attempt_only=false +resources.materialization_sets.*.materialized_features[*].notifications.on_success +resources.materialization_sets.*.materialized_features[*].notifications.on_success.destination_ids +resources.materialization_sets.*.materialized_features[*].notifications.on_success.destination_ids[*] +resources.materialization_sets.*.materialized_features[*].notifications.on_success.email_addresses +resources.materialization_sets.*.materialized_features[*].notifications.on_success.email_addresses[*] +resources.materialization_sets.*.materialized_features[*].offline_store_config +resources.materialization_sets.*.materialized_features[*].offline_store_config.catalog_name +resources.materialization_sets.*.materialized_features[*].offline_store_config.schema_name +resources.materialization_sets.*.materialized_features[*].offline_store_config.table_name_prefix +resources.materialization_sets.*.materialized_features[*].online_store_config +resources.materialization_sets.*.materialized_features[*].online_store_config.catalog_name +resources.materialization_sets.*.materialized_features[*].online_store_config.online_store_name +resources.materialization_sets.*.materialized_features[*].online_store_config.schema_name +resources.materialization_sets.*.materialized_features[*].online_store_config.table_name_prefix +resources.materialization_sets.*.materialized_features[*].pipeline_id +resources.materialization_sets.*.materialized_features[*].pipeline_schedule_state +resources.materialization_sets.*.materialized_features[*].streaming_mode +resources.materialization_sets.*.materialized_features[*].streaming_mode.freshness_target +resources.materialization_sets.*.materialized_features[*].streaming_mode.mode +resources.materialization_sets.*.materialized_features[*].streaming_mode.shuffle_partitions +resources.materialization_sets.*.materialized_features[*].table_name +resources.materialization_sets.*.materialized_features[*].table_trigger +resources.materialization_sets.*.materialized_features[*].table_trigger.condition +resources.materialization_sets.*.materialized_features[*].table_trigger.min_time_between_triggers +resources.materialization_sets.*.materialized_features[*].table_trigger.wait_after_last_change +resources.materialization_sets.*.materialized_features[*].tags +resources.materialization_sets.*.materialized_features[*].tags.* +resources.materialization_sets.*.notifications +resources.materialization_sets.*.notifications.on_failure +resources.materialization_sets.*.notifications.on_failure.destination_ids +resources.materialization_sets.*.notifications.on_failure.destination_ids[*] +resources.materialization_sets.*.notifications.on_failure.email_addresses +resources.materialization_sets.*.notifications.on_failure.email_addresses[*] +resources.materialization_sets.*.notifications.on_failure.final_attempt_only +resources.materialization_sets.*.notifications.on_failure.final_attempt_only=true +resources.materialization_sets.*.notifications.on_failure.final_attempt_only=false +resources.materialization_sets.*.notifications.on_success +resources.materialization_sets.*.notifications.on_success.destination_ids +resources.materialization_sets.*.notifications.on_success.destination_ids[*] +resources.materialization_sets.*.notifications.on_success.email_addresses +resources.materialization_sets.*.notifications.on_success.email_addresses[*] +resources.models +resources.models.* +resources.models.*.url +resources.models.*.modified_status +resources.models.*.lifecycle +resources.models.*.lifecycle.prevent_destroy +resources.models.*.lifecycle.prevent_destroy=true +resources.models.*.lifecycle.prevent_destroy=false +resources.models.*.lifecycle.depends_on +resources.models.*.lifecycle.depends_on[*] +resources.models.*.lifecycle.depends_on[*].resource +resources.models.*.id +resources.models.*.description +resources.models.*.name +resources.models.*.tags +resources.models.*.tags[*] +resources.models.*.tags[*].key +resources.models.*.tags[*].value +resources.models.*.permissions +resources.models.*.permissions[*] +resources.models.*.permissions[*].level +resources.models.*.permissions[*].user_name +resources.models.*.permissions[*].service_principal_name +resources.models.*.permissions[*].group_name +resources.experiments +resources.experiments.* +resources.experiments.*.url +resources.experiments.*.modified_status +resources.experiments.*.lifecycle +resources.experiments.*.lifecycle.prevent_destroy +resources.experiments.*.lifecycle.prevent_destroy=true +resources.experiments.*.lifecycle.prevent_destroy=false +resources.experiments.*.lifecycle.depends_on +resources.experiments.*.lifecycle.depends_on[*] +resources.experiments.*.lifecycle.depends_on[*].resource +resources.experiments.*.id +resources.experiments.*.artifact_location +resources.experiments.*.name +resources.experiments.*.tags +resources.experiments.*.tags[*] +resources.experiments.*.tags[*].key +resources.experiments.*.tags[*].value +resources.experiments.*.trace_location +resources.experiments.*.trace_location.uc_trace_location +resources.experiments.*.trace_location.uc_trace_location.catalog +resources.experiments.*.trace_location.uc_trace_location.effective_table_prefix +resources.experiments.*.trace_location.uc_trace_location.schema +resources.experiments.*.trace_location.uc_trace_location.table_prefix +resources.experiments.*.permissions +resources.experiments.*.permissions[*] +resources.experiments.*.permissions[*].level +resources.experiments.*.permissions[*].user_name +resources.experiments.*.permissions[*].service_principal_name +resources.experiments.*.permissions[*].group_name +resources.model_serving_endpoints +resources.model_serving_endpoints.* +resources.model_serving_endpoints.*.url +resources.model_serving_endpoints.*.modified_status +resources.model_serving_endpoints.*.lifecycle +resources.model_serving_endpoints.*.lifecycle.prevent_destroy +resources.model_serving_endpoints.*.lifecycle.prevent_destroy=true +resources.model_serving_endpoints.*.lifecycle.prevent_destroy=false +resources.model_serving_endpoints.*.lifecycle.depends_on +resources.model_serving_endpoints.*.lifecycle.depends_on[*] +resources.model_serving_endpoints.*.lifecycle.depends_on[*].resource +resources.model_serving_endpoints.*.id +resources.model_serving_endpoints.*.ai_gateway +resources.model_serving_endpoints.*.ai_gateway.fallback_config +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled=true +resources.model_serving_endpoints.*.ai_gateway.fallback_config.enabled=false +resources.model_serving_endpoints.*.ai_gateway.guardrails +resources.model_serving_endpoints.*.ai_gateway.guardrails.input +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.invalid_keywords +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.invalid_keywords[*] +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.pii +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.pii.behavior +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety=true +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.safety=false +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.valid_topics +resources.model_serving_endpoints.*.ai_gateway.guardrails.input.valid_topics[*] +resources.model_serving_endpoints.*.ai_gateway.guardrails.output +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.invalid_keywords +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.invalid_keywords[*] +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.pii +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.pii.behavior +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety=true +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.safety=false +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.valid_topics +resources.model_serving_endpoints.*.ai_gateway.guardrails.output.valid_topics[*] +resources.model_serving_endpoints.*.ai_gateway.inference_table_config +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.catalog_name +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled=true +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.enabled=false +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.schema_name +resources.model_serving_endpoints.*.ai_gateway.inference_table_config.table_name_prefix +resources.model_serving_endpoints.*.ai_gateway.rate_limits +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*] +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].calls +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].key +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].principal +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].renewal_period +resources.model_serving_endpoints.*.ai_gateway.rate_limits[*].tokens +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled=true +resources.model_serving_endpoints.*.ai_gateway.usage_tracking_config.enabled=false +resources.model_serving_endpoints.*.budget_policy_id +resources.model_serving_endpoints.*.config +resources.model_serving_endpoints.*.config.auto_capture_config +resources.model_serving_endpoints.*.config.auto_capture_config.catalog_name +resources.model_serving_endpoints.*.config.auto_capture_config.enabled +resources.model_serving_endpoints.*.config.auto_capture_config.enabled=true +resources.model_serving_endpoints.*.config.auto_capture_config.enabled=false +resources.model_serving_endpoints.*.config.auto_capture_config.schema_name +resources.model_serving_endpoints.*.config.auto_capture_config.table_name_prefix +resources.model_serving_endpoints.*.config.served_entities +resources.model_serving_endpoints.*.config.served_entities[*] +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled=true +resources.model_serving_endpoints.*.config.served_entities[*].burst_scaling_enabled=false +resources.model_serving_endpoints.*.config.served_entities[*].entity_name +resources.model_serving_endpoints.*.config.served_entities[*].entity_version +resources.model_serving_endpoints.*.config.served_entities[*].environment_vars +resources.model_serving_endpoints.*.config.served_entities[*].environment_vars.* +resources.model_serving_endpoints.*.config.served_entities[*].external_model +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config.ai21labs_api_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.ai21labs_config.ai21labs_api_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_access_key_id +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_access_key_id_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_region +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.aws_secret_access_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.bedrock_provider +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.instance_profile_arn +resources.model_serving_endpoints.*.config.served_entities[*].external_model.amazon_bedrock_config.uc_service_credential_name +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.anthropic_config.anthropic_api_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_base +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.cohere_config.cohere_api_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.value +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.api_key_auth.value_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth.token +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.bearer_token_auth.token_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.custom_provider_config.custom_provider_url +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_api_token +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_api_token_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.databricks_model_serving_config.databricks_workspace_url +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.private_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.private_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.project_id +resources.model_serving_endpoints.*.config.served_entities[*].external_model.google_cloud_vertex_ai_config.region +resources.model_serving_endpoints.*.config.served_entities[*].external_model.name +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_id +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_secret +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_client_secret_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.microsoft_entra_tenant_id +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_base +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_type +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_api_version +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_deployment_name +resources.model_serving_endpoints.*.config.served_entities[*].external_model.openai_config.openai_organization +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config.palm_api_key +resources.model_serving_endpoints.*.config.served_entities[*].external_model.palm_config.palm_api_key_plaintext +resources.model_serving_endpoints.*.config.served_entities[*].external_model.provider +resources.model_serving_endpoints.*.config.served_entities[*].external_model.task +resources.model_serving_endpoints.*.config.served_entities[*].instance_profile_arn +resources.model_serving_endpoints.*.config.served_entities[*].max_provisioned_concurrency +resources.model_serving_endpoints.*.config.served_entities[*].max_provisioned_throughput +resources.model_serving_endpoints.*.config.served_entities[*].min_provisioned_concurrency +resources.model_serving_endpoints.*.config.served_entities[*].min_provisioned_throughput +resources.model_serving_endpoints.*.config.served_entities[*].name +resources.model_serving_endpoints.*.config.served_entities[*].provisioned_model_units +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled=true +resources.model_serving_endpoints.*.config.served_entities[*].scale_to_zero_enabled=false +resources.model_serving_endpoints.*.config.served_entities[*].workload_size +resources.model_serving_endpoints.*.config.served_entities[*].workload_type +resources.model_serving_endpoints.*.config.served_models +resources.model_serving_endpoints.*.config.served_models[*] +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled=true +resources.model_serving_endpoints.*.config.served_models[*].burst_scaling_enabled=false +resources.model_serving_endpoints.*.config.served_models[*].environment_vars +resources.model_serving_endpoints.*.config.served_models[*].environment_vars.* +resources.model_serving_endpoints.*.config.served_models[*].instance_profile_arn +resources.model_serving_endpoints.*.config.served_models[*].max_provisioned_concurrency +resources.model_serving_endpoints.*.config.served_models[*].max_provisioned_throughput +resources.model_serving_endpoints.*.config.served_models[*].min_provisioned_concurrency +resources.model_serving_endpoints.*.config.served_models[*].min_provisioned_throughput +resources.model_serving_endpoints.*.config.served_models[*].model_name +resources.model_serving_endpoints.*.config.served_models[*].model_version +resources.model_serving_endpoints.*.config.served_models[*].name +resources.model_serving_endpoints.*.config.served_models[*].provisioned_model_units +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled=true +resources.model_serving_endpoints.*.config.served_models[*].scale_to_zero_enabled=false +resources.model_serving_endpoints.*.config.served_models[*].workload_size +resources.model_serving_endpoints.*.config.served_models[*].workload_type +resources.model_serving_endpoints.*.config.traffic_config +resources.model_serving_endpoints.*.config.traffic_config.routes +resources.model_serving_endpoints.*.config.traffic_config.routes[*] +resources.model_serving_endpoints.*.config.traffic_config.routes[*].served_entity_name +resources.model_serving_endpoints.*.config.traffic_config.routes[*].served_model_name +resources.model_serving_endpoints.*.config.traffic_config.routes[*].traffic_percentage +resources.model_serving_endpoints.*.description +resources.model_serving_endpoints.*.email_notifications +resources.model_serving_endpoints.*.email_notifications.on_update_failure +resources.model_serving_endpoints.*.email_notifications.on_update_failure[*] +resources.model_serving_endpoints.*.email_notifications.on_update_success +resources.model_serving_endpoints.*.email_notifications.on_update_success[*] +resources.model_serving_endpoints.*.name +resources.model_serving_endpoints.*.rate_limits +resources.model_serving_endpoints.*.rate_limits[*] +resources.model_serving_endpoints.*.rate_limits[*].calls +resources.model_serving_endpoints.*.rate_limits[*].key +resources.model_serving_endpoints.*.rate_limits[*].renewal_period +resources.model_serving_endpoints.*.route_optimized +resources.model_serving_endpoints.*.route_optimized=true +resources.model_serving_endpoints.*.route_optimized=false +resources.model_serving_endpoints.*.tags +resources.model_serving_endpoints.*.tags[*] +resources.model_serving_endpoints.*.tags[*].key +resources.model_serving_endpoints.*.tags[*].value +resources.model_serving_endpoints.*.telemetry_config +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features[*] +resources.model_serving_endpoints.*.telemetry_config.inference_table_config +resources.model_serving_endpoints.*.telemetry_config.inference_table_config.name +resources.model_serving_endpoints.*.telemetry_config.inference_table_config.sampling_fraction +resources.model_serving_endpoints.*.telemetry_config.table_names +resources.model_serving_endpoints.*.telemetry_config.table_names.annotations_table +resources.model_serving_endpoints.*.telemetry_config.table_names.logs_table +resources.model_serving_endpoints.*.telemetry_config.table_names.metrics_table +resources.model_serving_endpoints.*.telemetry_config.table_names.traces_table +resources.model_serving_endpoints.*.telemetry_config.telemetry_profile_id +resources.model_serving_endpoints.*.permissions +resources.model_serving_endpoints.*.permissions[*] +resources.model_serving_endpoints.*.permissions[*].level +resources.model_serving_endpoints.*.permissions[*].user_name +resources.model_serving_endpoints.*.permissions[*].service_principal_name +resources.model_serving_endpoints.*.permissions[*].group_name +resources.model_services +resources.model_services.* +resources.model_services.*.url +resources.model_services.*.modified_status +resources.model_services.*.lifecycle +resources.model_services.*.lifecycle.prevent_destroy +resources.model_services.*.lifecycle.prevent_destroy=true +resources.model_services.*.lifecycle.prevent_destroy=false +resources.model_services.*.lifecycle.depends_on +resources.model_services.*.lifecycle.depends_on[*] +resources.model_services.*.lifecycle.depends_on[*].resource +resources.model_services.*.parent +resources.model_services.*.model_service_id +resources.model_services.*.comment +resources.model_services.*.config +resources.model_services.*.config.inference_table +resources.model_services.*.config.inference_table.is_deleted +resources.model_services.*.config.inference_table.is_deleted=true +resources.model_services.*.config.inference_table.is_deleted=false +resources.model_services.*.config.inference_table.parent +resources.model_services.*.config.inference_table.table +resources.model_services.*.config.inference_table.table_name_prefix +resources.model_services.*.config.rate_limits +resources.model_services.*.config.rate_limits[*] +resources.model_services.*.config.rate_limits[*].key +resources.model_services.*.config.rate_limits[*].principal +resources.model_services.*.config.rate_limits[*].renewal_period +resources.model_services.*.config.rate_limits[*].requests +resources.model_services.*.config.rate_limits[*].tokens +resources.model_services.*.config.routing +resources.model_services.*.config.routing.destinations +resources.model_services.*.config.routing.destinations[*] +resources.model_services.*.config.routing.destinations[*].destination_type +resources.model_services.*.config.routing.destinations[*].external_model_config +resources.model_services.*.config.routing.destinations[*].external_model_config.model_provider_service +resources.model_services.*.config.routing.destinations[*].external_model_config.target +resources.model_services.*.config.routing.destinations[*].external_model_config.target.endpoint_route +resources.model_services.*.config.routing.destinations[*].external_model_config.target.model +resources.model_services.*.config.routing.destinations[*].external_model_config.target.native_api_types +resources.model_services.*.config.routing.destinations[*].external_model_config.target.native_api_types[*] +resources.model_services.*.config.routing.destinations[*].is_deleted +resources.model_services.*.config.routing.destinations[*].is_deleted=true +resources.model_services.*.config.routing.destinations[*].is_deleted=false +resources.model_services.*.config.routing.destinations[*].name +resources.model_services.*.config.routing.destinations[*].pay_per_token_config +resources.model_services.*.config.routing.destinations[*].pay_per_token_config.model +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config.model +resources.model_services.*.config.routing.destinations[*].provisioned_throughput_config.model_serving_endpoint +resources.model_services.*.config.routing.destinations[*].traffic_percentage +resources.model_services.*.config.routing.fallback +resources.model_services.*.config.routing.fallback.destinations +resources.model_services.*.config.routing.fallback.destinations[*] +resources.model_services.*.config.routing.fallback.destinations[*].destination_type +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.model_provider_service +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.endpoint_route +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.model +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.native_api_types +resources.model_services.*.config.routing.fallback.destinations[*].external_model_config.target.native_api_types[*] +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted=true +resources.model_services.*.config.routing.fallback.destinations[*].is_deleted=false +resources.model_services.*.config.routing.fallback.destinations[*].name +resources.model_services.*.config.routing.fallback.destinations[*].pay_per_token_config +resources.model_services.*.config.routing.fallback.destinations[*].pay_per_token_config.model +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config.model +resources.model_services.*.config.routing.fallback.destinations[*].provisioned_throughput_config.model_serving_endpoint +resources.model_services.*.config.routing.fallback.destinations[*].traffic_percentage +resources.model_services.*.id +resources.model_services.*.grants +resources.model_services.*.grants[*] +resources.model_services.*.grants[*].principal +resources.model_services.*.grants[*].privileges +resources.model_services.*.grants[*].privileges[*] +resources.mcp_services +resources.mcp_services.* +resources.mcp_services.*.url +resources.mcp_services.*.modified_status +resources.mcp_services.*.lifecycle +resources.mcp_services.*.lifecycle.prevent_destroy +resources.mcp_services.*.lifecycle.prevent_destroy=true +resources.mcp_services.*.lifecycle.prevent_destroy=false +resources.mcp_services.*.lifecycle.depends_on +resources.mcp_services.*.lifecycle.depends_on[*] +resources.mcp_services.*.lifecycle.depends_on[*].resource +resources.mcp_services.*.id +resources.mcp_services.*.parent +resources.mcp_services.*.mcp_service_id +resources.mcp_services.*.comment +resources.mcp_services.*.config +resources.mcp_services.*.config.include_tool_selectors +resources.mcp_services.*.config.include_tool_selectors[*] +resources.mcp_services.*.config.rate_limits +resources.mcp_services.*.config.rate_limits[*] +resources.mcp_services.*.config.rate_limits[*].key +resources.mcp_services.*.config.rate_limits[*].principal +resources.mcp_services.*.config.rate_limits[*].renewal_period +resources.mcp_services.*.config.rate_limits[*].requests +resources.mcp_services.*.config.rate_limits[*].tokens +resources.mcp_services.*.config.source_connection +resources.mcp_services.*.config.source_connection.is_deleted +resources.mcp_services.*.config.source_connection.is_deleted=true +resources.mcp_services.*.config.source_connection.is_deleted=false +resources.mcp_services.*.config.source_connection.name +resources.mcp_services.*.config.source_connection.options +resources.mcp_services.*.config.source_connection.options.* +resources.mcp_services.*.grants +resources.mcp_services.*.grants[*] +resources.mcp_services.*.grants[*].principal +resources.mcp_services.*.grants[*].privileges +resources.mcp_services.*.grants[*].privileges[*] +resources.model_provider_services +resources.model_provider_services.* +resources.model_provider_services.*.url +resources.model_provider_services.*.modified_status +resources.model_provider_services.*.lifecycle +resources.model_provider_services.*.lifecycle.prevent_destroy +resources.model_provider_services.*.lifecycle.prevent_destroy=true +resources.model_provider_services.*.lifecycle.prevent_destroy=false +resources.model_provider_services.*.lifecycle.depends_on +resources.model_provider_services.*.lifecycle.depends_on[*] +resources.model_provider_services.*.lifecycle.depends_on[*].resource +resources.model_provider_services.*.id +resources.model_provider_services.*.parent +resources.model_provider_services.*.model_provider_service_id +resources.model_provider_services.*.comment +resources.model_provider_services.*.config +resources.model_provider_services.*.config.allow_all_targets +resources.model_provider_services.*.config.allow_all_targets=true +resources.model_provider_services.*.config.allow_all_targets=false +resources.model_provider_services.*.config.amazon_bedrock +resources.model_provider_services.*.config.amazon_bedrock.direct +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.access_key_id +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.plaintext +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.secret_reference +resources.model_provider_services.*.config.amazon_bedrock.direct.aws_access_key.secret_access_key.secret_reference.name +resources.model_provider_services.*.config.amazon_bedrock.direct.region +resources.model_provider_services.*.config.amazon_bedrock.direct.service_credential +resources.model_provider_services.*.config.amazon_bedrock.direct.service_credential.name +resources.model_provider_services.*.config.anthropic +resources.model_provider_services.*.config.anthropic.direct +resources.model_provider_services.*.config.anthropic.direct.api_key +resources.model_provider_services.*.config.anthropic.direct.api_key.plaintext +resources.model_provider_services.*.config.anthropic.direct.api_key.secret_reference +resources.model_provider_services.*.config.anthropic.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.anthropic.relayed +resources.model_provider_services.*.config.azure_openai +resources.model_provider_services.*.config.azure_openai.direct +resources.model_provider_services.*.config.azure_openai.direct.api_key +resources.model_provider_services.*.config.azure_openai.direct.api_key.plaintext +resources.model_provider_services.*.config.azure_openai.direct.api_key.secret_reference +resources.model_provider_services.*.config.azure_openai.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.azure_openai.direct.base_url +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_id +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.plaintext +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.secret_reference +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.client_secret.secret_reference.name +resources.model_provider_services.*.config.azure_openai.direct.entra_service_principal.tenant_id +resources.model_provider_services.*.config.azure_openai.direct.service_credential +resources.model_provider_services.*.config.azure_openai.direct.service_credential.name +resources.model_provider_services.*.config.bedrock_mantle +resources.model_provider_services.*.config.bedrock_mantle.direct +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.access_key_id +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.plaintext +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.secret_reference +resources.model_provider_services.*.config.bedrock_mantle.direct.aws_access_key.secret_access_key.secret_reference.name +resources.model_provider_services.*.config.bedrock_mantle.direct.region +resources.model_provider_services.*.config.bedrock_mantle.direct.service_credential +resources.model_provider_services.*.config.bedrock_mantle.direct.service_credential.name +resources.model_provider_services.*.config.custom +resources.model_provider_services.*.config.custom.direct +resources.model_provider_services.*.config.custom.direct.api_key +resources.model_provider_services.*.config.custom.direct.api_key.plaintext +resources.model_provider_services.*.config.custom.direct.api_key.secret_reference +resources.model_provider_services.*.config.custom.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.custom.direct.base_url +resources.model_provider_services.*.config.custom.direct.header_auth +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_name +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.plaintext +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.secret_reference +resources.model_provider_services.*.config.custom.direct.header_auth.api_key_value.secret_reference.name +resources.model_provider_services.*.config.forward_headers +resources.model_provider_services.*.config.forward_headers=true +resources.model_provider_services.*.config.forward_headers=false +resources.model_provider_services.*.config.forward_query_parameters +resources.model_provider_services.*.config.forward_query_parameters=true +resources.model_provider_services.*.config.forward_query_parameters=false +resources.model_provider_services.*.config.forward_unmanaged_paths +resources.model_provider_services.*.config.forward_unmanaged_paths=true +resources.model_provider_services.*.config.forward_unmanaged_paths=false +resources.model_provider_services.*.config.gemini_enterprise +resources.model_provider_services.*.config.gemini_enterprise.direct +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.plaintext +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.secret_reference +resources.model_provider_services.*.config.gemini_enterprise.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.gemini_enterprise.direct.project_id +resources.model_provider_services.*.config.gemini_enterprise.direct.region +resources.model_provider_services.*.config.gemini_enterprise.direct.service_credential +resources.model_provider_services.*.config.gemini_enterprise.direct.service_credential.name +resources.model_provider_services.*.config.inference_table +resources.model_provider_services.*.config.inference_table.is_deleted +resources.model_provider_services.*.config.inference_table.is_deleted=true +resources.model_provider_services.*.config.inference_table.is_deleted=false +resources.model_provider_services.*.config.inference_table.parent +resources.model_provider_services.*.config.inference_table.table +resources.model_provider_services.*.config.inference_table.table_name_prefix +resources.model_provider_services.*.config.microsoft_foundry +resources.model_provider_services.*.config.microsoft_foundry.direct +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.plaintext +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.secret_reference +resources.model_provider_services.*.config.microsoft_foundry.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.microsoft_foundry.direct.base_url +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_id +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.plaintext +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.secret_reference +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.client_secret.secret_reference.name +resources.model_provider_services.*.config.microsoft_foundry.direct.entra_service_principal.tenant_id +resources.model_provider_services.*.config.microsoft_foundry.direct.service_credential +resources.model_provider_services.*.config.microsoft_foundry.direct.service_credential.name +resources.model_provider_services.*.config.openai +resources.model_provider_services.*.config.openai.direct +resources.model_provider_services.*.config.openai.direct.api_key +resources.model_provider_services.*.config.openai.direct.api_key.plaintext +resources.model_provider_services.*.config.openai.direct.api_key.secret_reference +resources.model_provider_services.*.config.openai.direct.api_key.secret_reference.name +resources.model_provider_services.*.config.openai.direct.base_url +resources.model_provider_services.*.config.openai.direct.organization +resources.model_provider_services.*.config.pricing +resources.model_provider_services.*.config.pricing.default_discount_basis_points +resources.model_provider_services.*.config.provider_type +resources.model_provider_services.*.config.rate_limits +resources.model_provider_services.*.config.rate_limits[*] +resources.model_provider_services.*.config.rate_limits[*].key +resources.model_provider_services.*.config.rate_limits[*].principal +resources.model_provider_services.*.config.rate_limits[*].renewal_period +resources.model_provider_services.*.config.rate_limits[*].requests +resources.model_provider_services.*.config.rate_limits[*].tokens +resources.model_provider_services.*.config.targets +resources.model_provider_services.*.config.targets[*] +resources.model_provider_services.*.config.targets[*].endpoint_route +resources.model_provider_services.*.config.targets[*].model +resources.model_provider_services.*.config.targets[*].native_api_types +resources.model_provider_services.*.config.targets[*].native_api_types[*] +resources.model_provider_services.*.grants +resources.model_provider_services.*.grants[*] +resources.model_provider_services.*.grants[*].principal +resources.model_provider_services.*.grants[*].privileges +resources.model_provider_services.*.grants[*].privileges[*] +resources.registered_models +resources.registered_models.* +resources.registered_models.*.url +resources.registered_models.*.modified_status +resources.registered_models.*.lifecycle +resources.registered_models.*.lifecycle.prevent_destroy +resources.registered_models.*.lifecycle.prevent_destroy=true +resources.registered_models.*.lifecycle.prevent_destroy=false +resources.registered_models.*.lifecycle.depends_on +resources.registered_models.*.lifecycle.depends_on[*] +resources.registered_models.*.lifecycle.depends_on[*].resource +resources.registered_models.*.id +resources.registered_models.*.aliases +resources.registered_models.*.aliases[*] +resources.registered_models.*.aliases[*].alias_name +resources.registered_models.*.aliases[*].catalog_name +resources.registered_models.*.aliases[*].id +resources.registered_models.*.aliases[*].model_name +resources.registered_models.*.aliases[*].schema_name +resources.registered_models.*.aliases[*].version_num +resources.registered_models.*.browse_only +resources.registered_models.*.browse_only=true +resources.registered_models.*.browse_only=false +resources.registered_models.*.catalog_name +resources.registered_models.*.comment +resources.registered_models.*.created_at +resources.registered_models.*.created_by +resources.registered_models.*.full_name +resources.registered_models.*.metastore_id +resources.registered_models.*.name +resources.registered_models.*.owner +resources.registered_models.*.schema_name +resources.registered_models.*.storage_location +resources.registered_models.*.updated_at +resources.registered_models.*.updated_by +resources.registered_models.*.grants +resources.registered_models.*.grants[*] +resources.registered_models.*.grants[*].principal +resources.registered_models.*.grants[*].privileges +resources.registered_models.*.grants[*].privileges[*] +resources.quality_monitors +resources.quality_monitors.* +resources.quality_monitors.*.url +resources.quality_monitors.*.modified_status +resources.quality_monitors.*.lifecycle +resources.quality_monitors.*.lifecycle.prevent_destroy +resources.quality_monitors.*.lifecycle.prevent_destroy=true +resources.quality_monitors.*.lifecycle.prevent_destroy=false +resources.quality_monitors.*.lifecycle.depends_on +resources.quality_monitors.*.lifecycle.depends_on[*] +resources.quality_monitors.*.lifecycle.depends_on[*].resource +resources.quality_monitors.*.id +resources.quality_monitors.*.assets_dir +resources.quality_monitors.*.baseline_table_name +resources.quality_monitors.*.custom_metrics +resources.quality_monitors.*.custom_metrics[*] +resources.quality_monitors.*.custom_metrics[*].definition +resources.quality_monitors.*.custom_metrics[*].input_columns +resources.quality_monitors.*.custom_metrics[*].input_columns[*] +resources.quality_monitors.*.custom_metrics[*].name +resources.quality_monitors.*.custom_metrics[*].output_data_type +resources.quality_monitors.*.custom_metrics[*].type +resources.quality_monitors.*.data_classification_config +resources.quality_monitors.*.data_classification_config.enabled +resources.quality_monitors.*.data_classification_config.enabled=true +resources.quality_monitors.*.data_classification_config.enabled=false +resources.quality_monitors.*.inference_log +resources.quality_monitors.*.inference_log.granularities +resources.quality_monitors.*.inference_log.granularities[*] +resources.quality_monitors.*.inference_log.label_col +resources.quality_monitors.*.inference_log.model_id_col +resources.quality_monitors.*.inference_log.prediction_col +resources.quality_monitors.*.inference_log.prediction_proba_col +resources.quality_monitors.*.inference_log.problem_type +resources.quality_monitors.*.inference_log.timestamp_col +resources.quality_monitors.*.latest_monitor_failure_msg +resources.quality_monitors.*.notifications +resources.quality_monitors.*.notifications.on_failure +resources.quality_monitors.*.notifications.on_failure.email_addresses +resources.quality_monitors.*.notifications.on_failure.email_addresses[*] +resources.quality_monitors.*.notifications.on_new_classification_tag_detected +resources.quality_monitors.*.notifications.on_new_classification_tag_detected.email_addresses +resources.quality_monitors.*.notifications.on_new_classification_tag_detected.email_addresses[*] +resources.quality_monitors.*.output_schema_name +resources.quality_monitors.*.schedule +resources.quality_monitors.*.schedule.pause_status +resources.quality_monitors.*.schedule.quartz_cron_expression +resources.quality_monitors.*.schedule.timezone_id +resources.quality_monitors.*.skip_builtin_dashboard +resources.quality_monitors.*.skip_builtin_dashboard=true +resources.quality_monitors.*.skip_builtin_dashboard=false +resources.quality_monitors.*.slicing_exprs +resources.quality_monitors.*.slicing_exprs[*] +resources.quality_monitors.*.snapshot +resources.quality_monitors.*.time_series +resources.quality_monitors.*.time_series.granularities +resources.quality_monitors.*.time_series.granularities[*] +resources.quality_monitors.*.time_series.timestamp_col +resources.quality_monitors.*.warehouse_id +resources.quality_monitors.*.table_name +resources.data_quality_monitors +resources.data_quality_monitors.* +resources.data_quality_monitors.*.url +resources.data_quality_monitors.*.modified_status +resources.data_quality_monitors.*.lifecycle +resources.data_quality_monitors.*.lifecycle.prevent_destroy +resources.data_quality_monitors.*.lifecycle.prevent_destroy=true +resources.data_quality_monitors.*.lifecycle.prevent_destroy=false +resources.data_quality_monitors.*.lifecycle.depends_on +resources.data_quality_monitors.*.lifecycle.depends_on[*] +resources.data_quality_monitors.*.lifecycle.depends_on[*].resource +resources.data_quality_monitors.*.id +resources.data_quality_monitors.*.anomaly_detection_config +resources.data_quality_monitors.*.anomaly_detection_config.excluded_table_full_names +resources.data_quality_monitors.*.anomaly_detection_config.excluded_table_full_names[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_ids +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_ids[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_user_ids +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.destination_user_ids[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.email_addresses +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_failure.email_addresses[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_ids +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_ids[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_user_ids +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.destination_user_ids[*] +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.email_addresses +resources.data_quality_monitors.*.anomaly_detection_config.notification_settings.on_unhealthy_table.email_addresses[*] +resources.data_quality_monitors.*.data_profiling_config +resources.data_quality_monitors.*.data_profiling_config.assets_dir +resources.data_quality_monitors.*.data_profiling_config.baseline_table_name +resources.data_quality_monitors.*.data_profiling_config.custom_metrics +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*] +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].definition +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].input_columns +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].input_columns[*] +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].name +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].output_data_type +resources.data_quality_monitors.*.data_profiling_config.custom_metrics[*].type +resources.data_quality_monitors.*.data_profiling_config.dashboard_id +resources.data_quality_monitors.*.data_profiling_config.drift_metrics_table_name +resources.data_quality_monitors.*.data_profiling_config.effective_warehouse_id +resources.data_quality_monitors.*.data_profiling_config.inference_log +resources.data_quality_monitors.*.data_profiling_config.inference_log.granularities +resources.data_quality_monitors.*.data_profiling_config.inference_log.granularities[*] +resources.data_quality_monitors.*.data_profiling_config.inference_log.label_column +resources.data_quality_monitors.*.data_profiling_config.inference_log.model_id_column +resources.data_quality_monitors.*.data_profiling_config.inference_log.prediction_column +resources.data_quality_monitors.*.data_profiling_config.inference_log.problem_type +resources.data_quality_monitors.*.data_profiling_config.inference_log.timestamp_column +resources.data_quality_monitors.*.data_profiling_config.latest_monitor_failure_message +resources.data_quality_monitors.*.data_profiling_config.monitor_version +resources.data_quality_monitors.*.data_profiling_config.monitored_table_name +resources.data_quality_monitors.*.data_profiling_config.notification_settings +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_ids +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_ids[*] +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_user_ids +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.destination_user_ids[*] +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.email_addresses +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_failure.email_addresses[*] +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_ids +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_ids[*] +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_user_ids +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.destination_user_ids[*] +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.email_addresses +resources.data_quality_monitors.*.data_profiling_config.notification_settings.on_unhealthy_table.email_addresses[*] +resources.data_quality_monitors.*.data_profiling_config.output_schema_id +resources.data_quality_monitors.*.data_profiling_config.profile_metrics_table_name +resources.data_quality_monitors.*.data_profiling_config.schedule +resources.data_quality_monitors.*.data_profiling_config.schedule.pause_status +resources.data_quality_monitors.*.data_profiling_config.schedule.quartz_cron_expression +resources.data_quality_monitors.*.data_profiling_config.schedule.timezone_id +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard=true +resources.data_quality_monitors.*.data_profiling_config.skip_builtin_dashboard=false +resources.data_quality_monitors.*.data_profiling_config.slicing_exprs +resources.data_quality_monitors.*.data_profiling_config.slicing_exprs[*] +resources.data_quality_monitors.*.data_profiling_config.snapshot +resources.data_quality_monitors.*.data_profiling_config.status +resources.data_quality_monitors.*.data_profiling_config.time_series +resources.data_quality_monitors.*.data_profiling_config.time_series.granularities +resources.data_quality_monitors.*.data_profiling_config.time_series.granularities[*] +resources.data_quality_monitors.*.data_profiling_config.time_series.timestamp_column +resources.data_quality_monitors.*.data_profiling_config.warehouse_id +resources.data_quality_monitors.*.object_id +resources.data_quality_monitors.*.object_type +resources.catalogs +resources.catalogs.* +resources.catalogs.*.url +resources.catalogs.*.modified_status +resources.catalogs.*.lifecycle +resources.catalogs.*.lifecycle.prevent_destroy +resources.catalogs.*.lifecycle.prevent_destroy=true +resources.catalogs.*.lifecycle.prevent_destroy=false +resources.catalogs.*.lifecycle.depends_on +resources.catalogs.*.lifecycle.depends_on[*] +resources.catalogs.*.lifecycle.depends_on[*].resource +resources.catalogs.*.id +resources.catalogs.*.comment +resources.catalogs.*.connection_name +resources.catalogs.*.custom_max_retention_hours +resources.catalogs.*.managed_encryption_settings +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_cmk_access_connector_id +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_cmk_managed_identity_id +resources.catalogs.*.managed_encryption_settings.azure_encryption_settings.azure_tenant_id +resources.catalogs.*.managed_encryption_settings.azure_key_vault_key_id +resources.catalogs.*.managed_encryption_settings.customer_managed_key_id +resources.catalogs.*.name +resources.catalogs.*.options +resources.catalogs.*.options.* +resources.catalogs.*.properties +resources.catalogs.*.properties.* +resources.catalogs.*.provider_name +resources.catalogs.*.share_name +resources.catalogs.*.storage_root +resources.catalogs.*.grants +resources.catalogs.*.grants[*] +resources.catalogs.*.grants[*].principal +resources.catalogs.*.grants[*].privileges +resources.catalogs.*.grants[*].privileges[*] +resources.schemas +resources.schemas.* +resources.schemas.*.url +resources.schemas.*.modified_status +resources.schemas.*.lifecycle +resources.schemas.*.lifecycle.prevent_destroy +resources.schemas.*.lifecycle.prevent_destroy=true +resources.schemas.*.lifecycle.prevent_destroy=false +resources.schemas.*.lifecycle.depends_on +resources.schemas.*.lifecycle.depends_on[*] +resources.schemas.*.lifecycle.depends_on[*].resource +resources.schemas.*.id +resources.schemas.*.catalog_name +resources.schemas.*.comment +resources.schemas.*.custom_max_retention_hours +resources.schemas.*.name +resources.schemas.*.properties +resources.schemas.*.properties.* +resources.schemas.*.storage_root +resources.schemas.*.grants +resources.schemas.*.grants[*] +resources.schemas.*.grants[*].principal +resources.schemas.*.grants[*].privileges +resources.schemas.*.grants[*].privileges[*] +resources.volumes +resources.volumes.* +resources.volumes.*.url +resources.volumes.*.modified_status +resources.volumes.*.lifecycle +resources.volumes.*.lifecycle.prevent_destroy +resources.volumes.*.lifecycle.prevent_destroy=true +resources.volumes.*.lifecycle.prevent_destroy=false +resources.volumes.*.lifecycle.depends_on +resources.volumes.*.lifecycle.depends_on[*] +resources.volumes.*.lifecycle.depends_on[*].resource +resources.volumes.*.id +resources.volumes.*.catalog_name +resources.volumes.*.comment +resources.volumes.*.name +resources.volumes.*.schema_name +resources.volumes.*.storage_location +resources.volumes.*.volume_type +resources.volumes.*.volume_path +resources.volumes.*.grants +resources.volumes.*.grants[*] +resources.volumes.*.grants[*].principal +resources.volumes.*.grants[*].privileges +resources.volumes.*.grants[*].privileges[*] +resources.external_locations +resources.external_locations.* +resources.external_locations.*.id +resources.external_locations.*.modified_status +resources.external_locations.*.lifecycle +resources.external_locations.*.lifecycle.prevent_destroy +resources.external_locations.*.lifecycle.prevent_destroy=true +resources.external_locations.*.lifecycle.prevent_destroy=false +resources.external_locations.*.lifecycle.depends_on +resources.external_locations.*.lifecycle.depends_on[*] +resources.external_locations.*.lifecycle.depends_on[*].resource +resources.external_locations.*.comment +resources.external_locations.*.credential_name +resources.external_locations.*.effective_enable_file_events +resources.external_locations.*.effective_enable_file_events=true +resources.external_locations.*.effective_enable_file_events=false +resources.external_locations.*.effective_file_event_queue +resources.external_locations.*.effective_file_event_queue.managed_aqs +resources.external_locations.*.effective_file_event_queue.managed_aqs.managed_resource_id +resources.external_locations.*.effective_file_event_queue.managed_aqs.queue_url +resources.external_locations.*.effective_file_event_queue.managed_aqs.resource_group +resources.external_locations.*.effective_file_event_queue.managed_aqs.subscription_id +resources.external_locations.*.effective_file_event_queue.managed_pubsub +resources.external_locations.*.effective_file_event_queue.managed_pubsub.managed_resource_id +resources.external_locations.*.effective_file_event_queue.managed_pubsub.subscription_name +resources.external_locations.*.effective_file_event_queue.managed_sqs +resources.external_locations.*.effective_file_event_queue.managed_sqs.managed_resource_id +resources.external_locations.*.effective_file_event_queue.managed_sqs.queue_url +resources.external_locations.*.effective_file_event_queue.provided_aqs +resources.external_locations.*.effective_file_event_queue.provided_aqs.managed_resource_id +resources.external_locations.*.effective_file_event_queue.provided_aqs.queue_url +resources.external_locations.*.effective_file_event_queue.provided_aqs.resource_group +resources.external_locations.*.effective_file_event_queue.provided_aqs.subscription_id +resources.external_locations.*.effective_file_event_queue.provided_pubsub +resources.external_locations.*.effective_file_event_queue.provided_pubsub.managed_resource_id +resources.external_locations.*.effective_file_event_queue.provided_pubsub.subscription_name +resources.external_locations.*.effective_file_event_queue.provided_sqs +resources.external_locations.*.effective_file_event_queue.provided_sqs.managed_resource_id +resources.external_locations.*.effective_file_event_queue.provided_sqs.queue_url +resources.external_locations.*.enable_file_events +resources.external_locations.*.enable_file_events=true +resources.external_locations.*.enable_file_events=false +resources.external_locations.*.encryption_details +resources.external_locations.*.encryption_details.sse_encryption_details +resources.external_locations.*.encryption_details.sse_encryption_details.algorithm +resources.external_locations.*.encryption_details.sse_encryption_details.aws_kms_key_arn +resources.external_locations.*.fallback +resources.external_locations.*.fallback=true +resources.external_locations.*.fallback=false +resources.external_locations.*.file_event_queue +resources.external_locations.*.file_event_queue.managed_aqs +resources.external_locations.*.file_event_queue.managed_aqs.managed_resource_id +resources.external_locations.*.file_event_queue.managed_aqs.queue_url +resources.external_locations.*.file_event_queue.managed_aqs.resource_group +resources.external_locations.*.file_event_queue.managed_aqs.subscription_id +resources.external_locations.*.file_event_queue.managed_pubsub +resources.external_locations.*.file_event_queue.managed_pubsub.managed_resource_id +resources.external_locations.*.file_event_queue.managed_pubsub.subscription_name +resources.external_locations.*.file_event_queue.managed_sqs +resources.external_locations.*.file_event_queue.managed_sqs.managed_resource_id +resources.external_locations.*.file_event_queue.managed_sqs.queue_url +resources.external_locations.*.file_event_queue.provided_aqs +resources.external_locations.*.file_event_queue.provided_aqs.managed_resource_id +resources.external_locations.*.file_event_queue.provided_aqs.queue_url +resources.external_locations.*.file_event_queue.provided_aqs.resource_group +resources.external_locations.*.file_event_queue.provided_aqs.subscription_id +resources.external_locations.*.file_event_queue.provided_pubsub +resources.external_locations.*.file_event_queue.provided_pubsub.managed_resource_id +resources.external_locations.*.file_event_queue.provided_pubsub.subscription_name +resources.external_locations.*.file_event_queue.provided_sqs +resources.external_locations.*.file_event_queue.provided_sqs.managed_resource_id +resources.external_locations.*.file_event_queue.provided_sqs.queue_url +resources.external_locations.*.name +resources.external_locations.*.read_only +resources.external_locations.*.read_only=true +resources.external_locations.*.read_only=false +resources.external_locations.*.skip_validation +resources.external_locations.*.skip_validation=true +resources.external_locations.*.skip_validation=false +resources.external_locations.*.url +resources.external_locations.*.grants +resources.external_locations.*.grants[*] +resources.external_locations.*.grants[*].principal +resources.external_locations.*.grants[*].privileges +resources.external_locations.*.grants[*].privileges[*] +resources.clusters +resources.clusters.* +resources.clusters.*.url +resources.clusters.*.modified_status +resources.clusters.*.lifecycle +resources.clusters.*.lifecycle.prevent_destroy +resources.clusters.*.lifecycle.prevent_destroy=true +resources.clusters.*.lifecycle.prevent_destroy=false +resources.clusters.*.lifecycle.depends_on +resources.clusters.*.lifecycle.depends_on[*] +resources.clusters.*.lifecycle.depends_on[*].resource +resources.clusters.*.id +resources.clusters.*.apply_policy_default_values +resources.clusters.*.apply_policy_default_values=true +resources.clusters.*.apply_policy_default_values=false +resources.clusters.*.autoscale +resources.clusters.*.autoscale.max_workers +resources.clusters.*.autoscale.min_workers +resources.clusters.*.autotermination_minutes +resources.clusters.*.aws_attributes +resources.clusters.*.aws_attributes.availability +resources.clusters.*.aws_attributes.ebs_volume_count +resources.clusters.*.aws_attributes.ebs_volume_iops +resources.clusters.*.aws_attributes.ebs_volume_size +resources.clusters.*.aws_attributes.ebs_volume_throughput +resources.clusters.*.aws_attributes.ebs_volume_type +resources.clusters.*.aws_attributes.first_on_demand +resources.clusters.*.aws_attributes.instance_profile_arn +resources.clusters.*.aws_attributes.spot_bid_price_percent +resources.clusters.*.aws_attributes.zone_id +resources.clusters.*.azure_attributes +resources.clusters.*.azure_attributes.availability +resources.clusters.*.azure_attributes.capacity_reservation_group +resources.clusters.*.azure_attributes.first_on_demand +resources.clusters.*.azure_attributes.log_analytics_info +resources.clusters.*.azure_attributes.log_analytics_info.log_analytics_primary_key +resources.clusters.*.azure_attributes.log_analytics_info.log_analytics_workspace_id +resources.clusters.*.azure_attributes.spot_bid_max_price +resources.clusters.*.cluster_log_conf +resources.clusters.*.cluster_log_conf.dbfs +resources.clusters.*.cluster_log_conf.dbfs.destination +resources.clusters.*.cluster_log_conf.s3 +resources.clusters.*.cluster_log_conf.s3.canned_acl +resources.clusters.*.cluster_log_conf.s3.destination +resources.clusters.*.cluster_log_conf.s3.enable_encryption +resources.clusters.*.cluster_log_conf.s3.enable_encryption=true +resources.clusters.*.cluster_log_conf.s3.enable_encryption=false +resources.clusters.*.cluster_log_conf.s3.encryption_type +resources.clusters.*.cluster_log_conf.s3.endpoint +resources.clusters.*.cluster_log_conf.s3.kms_key +resources.clusters.*.cluster_log_conf.s3.region +resources.clusters.*.cluster_log_conf.volumes +resources.clusters.*.cluster_log_conf.volumes.destination +resources.clusters.*.cluster_name +resources.clusters.*.custom_tags +resources.clusters.*.custom_tags.* +resources.clusters.*.data_security_mode +resources.clusters.*.dependency_mode +resources.clusters.*.docker_image +resources.clusters.*.docker_image.basic_auth +resources.clusters.*.docker_image.basic_auth.password +resources.clusters.*.docker_image.basic_auth.username +resources.clusters.*.docker_image.url +resources.clusters.*.driver_instance_pool_id +resources.clusters.*.driver_node_type_flexibility +resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids +resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids[*] +resources.clusters.*.driver_node_type_flexibility.aws_context_id +resources.clusters.*.driver_node_type_id +resources.clusters.*.enable_elastic_disk +resources.clusters.*.enable_elastic_disk=true +resources.clusters.*.enable_elastic_disk=false +resources.clusters.*.enable_local_disk_encryption +resources.clusters.*.enable_local_disk_encryption=true +resources.clusters.*.enable_local_disk_encryption=false +resources.clusters.*.gcp_attributes +resources.clusters.*.gcp_attributes.availability +resources.clusters.*.gcp_attributes.boot_disk_size +resources.clusters.*.gcp_attributes.confidential_compute_type +resources.clusters.*.gcp_attributes.first_on_demand +resources.clusters.*.gcp_attributes.google_service_account +resources.clusters.*.gcp_attributes.local_ssd_count +resources.clusters.*.gcp_attributes.use_preemptible_executors +resources.clusters.*.gcp_attributes.use_preemptible_executors=true +resources.clusters.*.gcp_attributes.use_preemptible_executors=false +resources.clusters.*.gcp_attributes.zone_id +resources.clusters.*.init_scripts +resources.clusters.*.init_scripts[*] +resources.clusters.*.init_scripts[*].abfss +resources.clusters.*.init_scripts[*].abfss.destination +resources.clusters.*.init_scripts[*].dbfs +resources.clusters.*.init_scripts[*].dbfs.destination +resources.clusters.*.init_scripts[*].file +resources.clusters.*.init_scripts[*].file.destination +resources.clusters.*.init_scripts[*].gcs +resources.clusters.*.init_scripts[*].gcs.destination +resources.clusters.*.init_scripts[*].s3 +resources.clusters.*.init_scripts[*].s3.canned_acl +resources.clusters.*.init_scripts[*].s3.destination +resources.clusters.*.init_scripts[*].s3.enable_encryption +resources.clusters.*.init_scripts[*].s3.enable_encryption=true +resources.clusters.*.init_scripts[*].s3.enable_encryption=false +resources.clusters.*.init_scripts[*].s3.encryption_type +resources.clusters.*.init_scripts[*].s3.endpoint +resources.clusters.*.init_scripts[*].s3.kms_key +resources.clusters.*.init_scripts[*].s3.region +resources.clusters.*.init_scripts[*].volumes +resources.clusters.*.init_scripts[*].volumes.destination +resources.clusters.*.init_scripts[*].workspace +resources.clusters.*.init_scripts[*].workspace.destination +resources.clusters.*.instance_pool_id +resources.clusters.*.is_single_node +resources.clusters.*.is_single_node=true +resources.clusters.*.is_single_node=false +resources.clusters.*.kind +resources.clusters.*.node_type_id +resources.clusters.*.num_workers +resources.clusters.*.policy_id +resources.clusters.*.remote_disk_throughput +resources.clusters.*.runtime_engine +resources.clusters.*.single_user_name +resources.clusters.*.spark_conf +resources.clusters.*.spark_conf.* +resources.clusters.*.spark_env_vars +resources.clusters.*.spark_env_vars.* +resources.clusters.*.spark_version +resources.clusters.*.ssh_public_keys +resources.clusters.*.ssh_public_keys[*] +resources.clusters.*.total_initial_remote_disk_size +resources.clusters.*.use_ml_runtime +resources.clusters.*.use_ml_runtime=true +resources.clusters.*.use_ml_runtime=false +resources.clusters.*.worker_node_type_flexibility +resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids +resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids[*] +resources.clusters.*.worker_node_type_flexibility.aws_context_id +resources.clusters.*.workload_type +resources.clusters.*.workload_type.clients +resources.clusters.*.workload_type.clients.jobs +resources.clusters.*.workload_type.clients.jobs=true +resources.clusters.*.workload_type.clients.jobs=false +resources.clusters.*.workload_type.clients.notebooks +resources.clusters.*.workload_type.clients.notebooks=true +resources.clusters.*.workload_type.clients.notebooks=false +resources.clusters.*.lifecycle.started +resources.clusters.*.lifecycle.started=true +resources.clusters.*.lifecycle.started=false +resources.clusters.*.libraries +resources.clusters.*.libraries[*] +resources.clusters.*.libraries[*].cran +resources.clusters.*.libraries[*].cran.package +resources.clusters.*.libraries[*].cran.repo +resources.clusters.*.libraries[*].egg +resources.clusters.*.libraries[*].jar +resources.clusters.*.libraries[*].maven +resources.clusters.*.libraries[*].maven.coordinates +resources.clusters.*.libraries[*].maven.exclusions +resources.clusters.*.libraries[*].maven.exclusions[*] +resources.clusters.*.libraries[*].maven.repo +resources.clusters.*.libraries[*].pypi +resources.clusters.*.libraries[*].pypi.package +resources.clusters.*.libraries[*].pypi.repo +resources.clusters.*.libraries[*].requirements +resources.clusters.*.libraries[*].whl +resources.clusters.*.permissions +resources.clusters.*.permissions[*] +resources.clusters.*.permissions[*].level +resources.clusters.*.permissions[*].user_name +resources.clusters.*.permissions[*].service_principal_name +resources.clusters.*.permissions[*].group_name +resources.dashboards +resources.dashboards.* +resources.dashboards.*.url +resources.dashboards.*.modified_status +resources.dashboards.*.lifecycle +resources.dashboards.*.lifecycle.prevent_destroy +resources.dashboards.*.lifecycle.prevent_destroy=true +resources.dashboards.*.lifecycle.prevent_destroy=false +resources.dashboards.*.lifecycle.depends_on +resources.dashboards.*.lifecycle.depends_on[*] +resources.dashboards.*.lifecycle.depends_on[*].resource +resources.dashboards.*.id +resources.dashboards.*.create_time +resources.dashboards.*.dashboard_id +resources.dashboards.*.display_name +resources.dashboards.*.etag +resources.dashboards.*.lifecycle_state +resources.dashboards.*.parent_path +resources.dashboards.*.path +resources.dashboards.*.update_time +resources.dashboards.*.warehouse_id +resources.dashboards.*.serialized_dashboard +resources.dashboards.*.embed_credentials +resources.dashboards.*.embed_credentials=true +resources.dashboards.*.embed_credentials=false +resources.dashboards.*.dataset_catalog +resources.dashboards.*.dataset_schema +resources.dashboards.*.permissions +resources.dashboards.*.permissions[*] +resources.dashboards.*.permissions[*].level +resources.dashboards.*.permissions[*].user_name +resources.dashboards.*.permissions[*].service_principal_name +resources.dashboards.*.permissions[*].group_name +resources.dashboards.*.file_path +resources.genie_spaces +resources.genie_spaces.* +resources.genie_spaces.*.url +resources.genie_spaces.*.modified_status +resources.genie_spaces.*.lifecycle +resources.genie_spaces.*.lifecycle.prevent_destroy +resources.genie_spaces.*.lifecycle.prevent_destroy=true +resources.genie_spaces.*.lifecycle.prevent_destroy=false +resources.genie_spaces.*.lifecycle.depends_on +resources.genie_spaces.*.lifecycle.depends_on[*] +resources.genie_spaces.*.lifecycle.depends_on[*].resource +resources.genie_spaces.*.id +resources.genie_spaces.*.description +resources.genie_spaces.*.etag +resources.genie_spaces.*.title +resources.genie_spaces.*.warehouse_id +resources.genie_spaces.*.parent_path +resources.genie_spaces.*.serialized_space +resources.genie_spaces.*.permissions +resources.genie_spaces.*.permissions[*] +resources.genie_spaces.*.permissions[*].level +resources.genie_spaces.*.permissions[*].user_name +resources.genie_spaces.*.permissions[*].service_principal_name +resources.genie_spaces.*.permissions[*].group_name +resources.genie_spaces.*.file_path +resources.apps +resources.apps.* +resources.apps.*.url +resources.apps.*.modified_status +resources.apps.*.lifecycle +resources.apps.*.lifecycle.prevent_destroy +resources.apps.*.lifecycle.prevent_destroy=true +resources.apps.*.lifecycle.prevent_destroy=false +resources.apps.*.lifecycle.depends_on +resources.apps.*.lifecycle.depends_on[*] +resources.apps.*.lifecycle.depends_on[*].resource +resources.apps.*.active_deployment +resources.apps.*.active_deployment.command +resources.apps.*.active_deployment.command[*] +resources.apps.*.active_deployment.create_time +resources.apps.*.active_deployment.creator +resources.apps.*.active_deployment.deployment_artifacts +resources.apps.*.active_deployment.deployment_artifacts.source_code_path +resources.apps.*.active_deployment.deployment_id +resources.apps.*.active_deployment.env_vars +resources.apps.*.active_deployment.env_vars[*] +resources.apps.*.active_deployment.env_vars[*].name +resources.apps.*.active_deployment.env_vars[*].value +resources.apps.*.active_deployment.env_vars[*].value_from +resources.apps.*.active_deployment.git_source +resources.apps.*.active_deployment.git_source.branch +resources.apps.*.active_deployment.git_source.commit +resources.apps.*.active_deployment.git_source.git_repository +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy=true +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy=false +resources.apps.*.active_deployment.git_source.git_repository.caller_credential_id +resources.apps.*.active_deployment.git_source.git_repository.provider +resources.apps.*.active_deployment.git_source.git_repository.url +resources.apps.*.active_deployment.git_source.resolved_commit +resources.apps.*.active_deployment.git_source.source_code_path +resources.apps.*.active_deployment.git_source.tag +resources.apps.*.active_deployment.health_check +resources.apps.*.active_deployment.health_check.path +resources.apps.*.active_deployment.health_check.timeout +resources.apps.*.active_deployment.mode +resources.apps.*.active_deployment.source_code_path +resources.apps.*.active_deployment.status +resources.apps.*.active_deployment.status.message +resources.apps.*.active_deployment.status.state +resources.apps.*.active_deployment.update_time +resources.apps.*.app_status +resources.apps.*.app_status.message +resources.apps.*.app_status.running_instances +resources.apps.*.app_status.state +resources.apps.*.budget_policy_id +resources.apps.*.compute_max_instances +resources.apps.*.compute_min_instances +resources.apps.*.compute_size +resources.apps.*.compute_status +resources.apps.*.compute_status.active_instances +resources.apps.*.compute_status.message +resources.apps.*.compute_status.state +resources.apps.*.create_time +resources.apps.*.creator +resources.apps.*.default_git_source +resources.apps.*.default_git_source.branch +resources.apps.*.default_git_source.commit +resources.apps.*.default_git_source.git_repository +resources.apps.*.default_git_source.git_repository.auto_deploy +resources.apps.*.default_git_source.git_repository.auto_deploy=true +resources.apps.*.default_git_source.git_repository.auto_deploy=false +resources.apps.*.default_git_source.git_repository.caller_credential_id +resources.apps.*.default_git_source.git_repository.provider +resources.apps.*.default_git_source.git_repository.url +resources.apps.*.default_git_source.resolved_commit +resources.apps.*.default_git_source.source_code_path +resources.apps.*.default_git_source.tag +resources.apps.*.default_source_code_path +resources.apps.*.description +resources.apps.*.effective_budget_policy_id +resources.apps.*.effective_usage_policy_id +resources.apps.*.effective_user_api_scopes +resources.apps.*.effective_user_api_scopes[*] +resources.apps.*.forward_user_access_token +resources.apps.*.forward_user_access_token=true +resources.apps.*.forward_user_access_token=false +resources.apps.*.git_repository +resources.apps.*.git_repository.auto_deploy +resources.apps.*.git_repository.auto_deploy=true +resources.apps.*.git_repository.auto_deploy=false +resources.apps.*.git_repository.caller_credential_id +resources.apps.*.git_repository.provider +resources.apps.*.git_repository.url +resources.apps.*.git_source +resources.apps.*.git_source.branch +resources.apps.*.git_source.commit +resources.apps.*.git_source.git_repository +resources.apps.*.git_source.git_repository.auto_deploy +resources.apps.*.git_source.git_repository.auto_deploy=true +resources.apps.*.git_source.git_repository.auto_deploy=false +resources.apps.*.git_source.git_repository.caller_credential_id +resources.apps.*.git_source.git_repository.provider +resources.apps.*.git_source.git_repository.url +resources.apps.*.git_source.resolved_commit +resources.apps.*.git_source.source_code_path +resources.apps.*.git_source.tag +resources.apps.*.id +resources.apps.*.name +resources.apps.*.oauth2_app_client_id +resources.apps.*.oauth2_app_integration_id +resources.apps.*.pending_deployment +resources.apps.*.pending_deployment.command +resources.apps.*.pending_deployment.command[*] +resources.apps.*.pending_deployment.create_time +resources.apps.*.pending_deployment.creator +resources.apps.*.pending_deployment.deployment_artifacts +resources.apps.*.pending_deployment.deployment_artifacts.source_code_path +resources.apps.*.pending_deployment.deployment_id +resources.apps.*.pending_deployment.env_vars +resources.apps.*.pending_deployment.env_vars[*] +resources.apps.*.pending_deployment.env_vars[*].name +resources.apps.*.pending_deployment.env_vars[*].value +resources.apps.*.pending_deployment.env_vars[*].value_from +resources.apps.*.pending_deployment.git_source +resources.apps.*.pending_deployment.git_source.branch +resources.apps.*.pending_deployment.git_source.commit +resources.apps.*.pending_deployment.git_source.git_repository +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy=true +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy=false +resources.apps.*.pending_deployment.git_source.git_repository.caller_credential_id +resources.apps.*.pending_deployment.git_source.git_repository.provider +resources.apps.*.pending_deployment.git_source.git_repository.url +resources.apps.*.pending_deployment.git_source.resolved_commit +resources.apps.*.pending_deployment.git_source.source_code_path +resources.apps.*.pending_deployment.git_source.tag +resources.apps.*.pending_deployment.health_check +resources.apps.*.pending_deployment.health_check.path +resources.apps.*.pending_deployment.health_check.timeout +resources.apps.*.pending_deployment.mode +resources.apps.*.pending_deployment.source_code_path +resources.apps.*.pending_deployment.status +resources.apps.*.pending_deployment.status.message +resources.apps.*.pending_deployment.status.state +resources.apps.*.pending_deployment.update_time +resources.apps.*.resources +resources.apps.*.resources[*] +resources.apps.*.resources[*].app +resources.apps.*.resources[*].app.name +resources.apps.*.resources[*].app.permission +resources.apps.*.resources[*].database +resources.apps.*.resources[*].database.database_name +resources.apps.*.resources[*].database.instance_name +resources.apps.*.resources[*].database.permission +resources.apps.*.resources[*].description +resources.apps.*.resources[*].experiment +resources.apps.*.resources[*].experiment.experiment_id +resources.apps.*.resources[*].experiment.permission +resources.apps.*.resources[*].genie_space +resources.apps.*.resources[*].genie_space.name +resources.apps.*.resources[*].genie_space.permission +resources.apps.*.resources[*].genie_space.space_id +resources.apps.*.resources[*].job +resources.apps.*.resources[*].job.id +resources.apps.*.resources[*].job.permission +resources.apps.*.resources[*].name +resources.apps.*.resources[*].postgres +resources.apps.*.resources[*].postgres.branch +resources.apps.*.resources[*].postgres.database +resources.apps.*.resources[*].postgres.permission +resources.apps.*.resources[*].secret +resources.apps.*.resources[*].secret.key +resources.apps.*.resources[*].secret.permission +resources.apps.*.resources[*].secret.scope +resources.apps.*.resources[*].serving_endpoint +resources.apps.*.resources[*].serving_endpoint.name +resources.apps.*.resources[*].serving_endpoint.permission +resources.apps.*.resources[*].sql_warehouse +resources.apps.*.resources[*].sql_warehouse.id +resources.apps.*.resources[*].sql_warehouse.permission +resources.apps.*.resources[*].uc_securable +resources.apps.*.resources[*].uc_securable.permission +resources.apps.*.resources[*].uc_securable.securable_full_name +resources.apps.*.resources[*].uc_securable.securable_kind +resources.apps.*.resources[*].uc_securable.securable_type +resources.apps.*.service_principal_client_id +resources.apps.*.service_principal_id +resources.apps.*.service_principal_name +resources.apps.*.source_code_path +resources.apps.*.space +resources.apps.*.telemetry_export_destinations +resources.apps.*.telemetry_export_destinations[*] +resources.apps.*.telemetry_export_destinations[*].unity_catalog +resources.apps.*.telemetry_export_destinations[*].unity_catalog.logs_table +resources.apps.*.telemetry_export_destinations[*].unity_catalog.metrics_table +resources.apps.*.telemetry_export_destinations[*].unity_catalog.traces_table +resources.apps.*.thumbnail_url +resources.apps.*.update_time +resources.apps.*.updater +resources.apps.*.usage_policy_id +resources.apps.*.user_api_scopes +resources.apps.*.user_api_scopes[*] +resources.apps.*.lifecycle.started +resources.apps.*.lifecycle.started=true +resources.apps.*.lifecycle.started=false +resources.apps.*.config +resources.apps.*.config.command +resources.apps.*.config.command[*] +resources.apps.*.config.env +resources.apps.*.config.env[*] +resources.apps.*.config.env[*].name +resources.apps.*.config.env[*].value +resources.apps.*.config.env[*].value_from +resources.apps.*.permissions +resources.apps.*.permissions[*] +resources.apps.*.permissions[*].level +resources.apps.*.permissions[*].user_name +resources.apps.*.permissions[*].service_principal_name +resources.apps.*.permissions[*].group_name +resources.secret_scopes +resources.secret_scopes.* +resources.secret_scopes.*.url +resources.secret_scopes.*.modified_status +resources.secret_scopes.*.lifecycle +resources.secret_scopes.*.lifecycle.prevent_destroy +resources.secret_scopes.*.lifecycle.prevent_destroy=true +resources.secret_scopes.*.lifecycle.prevent_destroy=false +resources.secret_scopes.*.lifecycle.depends_on +resources.secret_scopes.*.lifecycle.depends_on[*] +resources.secret_scopes.*.lifecycle.depends_on[*].resource +resources.secret_scopes.*.id +resources.secret_scopes.*.name +resources.secret_scopes.*.permissions +resources.secret_scopes.*.permissions[*] +resources.secret_scopes.*.permissions[*].level +resources.secret_scopes.*.permissions[*].user_name +resources.secret_scopes.*.permissions[*].service_principal_name +resources.secret_scopes.*.permissions[*].group_name +resources.secret_scopes.*.backend_type +resources.secret_scopes.*.keyvault_metadata +resources.secret_scopes.*.keyvault_metadata.dns_name +resources.secret_scopes.*.keyvault_metadata.resource_id +resources.alerts +resources.alerts.* +resources.alerts.*.url +resources.alerts.*.modified_status +resources.alerts.*.lifecycle +resources.alerts.*.lifecycle.prevent_destroy +resources.alerts.*.lifecycle.prevent_destroy=true +resources.alerts.*.lifecycle.prevent_destroy=false +resources.alerts.*.lifecycle.depends_on +resources.alerts.*.lifecycle.depends_on[*] +resources.alerts.*.lifecycle.depends_on[*].resource +resources.alerts.*.create_time +resources.alerts.*.custom_description +resources.alerts.*.custom_summary +resources.alerts.*.custom_template_format +resources.alerts.*.display_name +resources.alerts.*.effective_run_as +resources.alerts.*.effective_run_as.service_principal_name +resources.alerts.*.effective_run_as.user_name +resources.alerts.*.evaluation +resources.alerts.*.evaluation.comparison_operator +resources.alerts.*.evaluation.empty_result_state +resources.alerts.*.evaluation.last_evaluated_at +resources.alerts.*.evaluation.notification +resources.alerts.*.evaluation.notification.notify_on_ok +resources.alerts.*.evaluation.notification.notify_on_ok=true +resources.alerts.*.evaluation.notification.notify_on_ok=false +resources.alerts.*.evaluation.notification.retrigger_seconds +resources.alerts.*.evaluation.notification.subscriptions +resources.alerts.*.evaluation.notification.subscriptions[*] +resources.alerts.*.evaluation.notification.subscriptions[*].destination_id +resources.alerts.*.evaluation.notification.subscriptions[*].user_email +resources.alerts.*.evaluation.source +resources.alerts.*.evaluation.source.aggregation +resources.alerts.*.evaluation.source.display +resources.alerts.*.evaluation.source.name +resources.alerts.*.evaluation.state +resources.alerts.*.evaluation.threshold +resources.alerts.*.evaluation.threshold.column +resources.alerts.*.evaluation.threshold.column.aggregation +resources.alerts.*.evaluation.threshold.column.display +resources.alerts.*.evaluation.threshold.column.name +resources.alerts.*.evaluation.threshold.value +resources.alerts.*.evaluation.threshold.value.bool_value +resources.alerts.*.evaluation.threshold.value.bool_value=true +resources.alerts.*.evaluation.threshold.value.bool_value=false +resources.alerts.*.evaluation.threshold.value.double_value +resources.alerts.*.evaluation.threshold.value.string_value +resources.alerts.*.id +resources.alerts.*.lifecycle_state +resources.alerts.*.owner_user_name +resources.alerts.*.parameters +resources.alerts.*.parameters[*] +resources.alerts.*.parameters[*].name +resources.alerts.*.parameters[*].type +resources.alerts.*.parameters[*].value +resources.alerts.*.parent_path +resources.alerts.*.query_text +resources.alerts.*.run_as +resources.alerts.*.run_as.service_principal_name +resources.alerts.*.run_as.user_name +resources.alerts.*.run_as_user_name +resources.alerts.*.schedule +resources.alerts.*.schedule.pause_status +resources.alerts.*.schedule.quartz_cron_schedule +resources.alerts.*.schedule.timezone_id +resources.alerts.*.update_time +resources.alerts.*.warehouse_id +resources.alerts.*.permissions +resources.alerts.*.permissions[*] +resources.alerts.*.permissions[*].level +resources.alerts.*.permissions[*].user_name +resources.alerts.*.permissions[*].service_principal_name +resources.alerts.*.permissions[*].group_name +resources.alerts.*.file_path +resources.sql_warehouses +resources.sql_warehouses.* +resources.sql_warehouses.*.url +resources.sql_warehouses.*.modified_status +resources.sql_warehouses.*.lifecycle +resources.sql_warehouses.*.lifecycle.prevent_destroy +resources.sql_warehouses.*.lifecycle.prevent_destroy=true +resources.sql_warehouses.*.lifecycle.prevent_destroy=false +resources.sql_warehouses.*.lifecycle.depends_on +resources.sql_warehouses.*.lifecycle.depends_on[*] +resources.sql_warehouses.*.lifecycle.depends_on[*].resource +resources.sql_warehouses.*.id +resources.sql_warehouses.*.auto_stop_mins +resources.sql_warehouses.*.channel +resources.sql_warehouses.*.channel.dbsql_version +resources.sql_warehouses.*.channel.name +resources.sql_warehouses.*.cluster_size +resources.sql_warehouses.*.creator_name +resources.sql_warehouses.*.customer_version_label +resources.sql_warehouses.*.enable_photon +resources.sql_warehouses.*.enable_photon=true +resources.sql_warehouses.*.enable_photon=false +resources.sql_warehouses.*.enable_serverless_compute +resources.sql_warehouses.*.enable_serverless_compute=true +resources.sql_warehouses.*.enable_serverless_compute=false +resources.sql_warehouses.*.instance_profile_arn +resources.sql_warehouses.*.max_dbu +resources.sql_warehouses.*.max_num_clusters +resources.sql_warehouses.*.min_num_clusters +resources.sql_warehouses.*.name +resources.sql_warehouses.*.reyden_cluster_size_multiplier +resources.sql_warehouses.*.spot_instance_policy +resources.sql_warehouses.*.statement_timeout +resources.sql_warehouses.*.tags +resources.sql_warehouses.*.tags.custom_tags +resources.sql_warehouses.*.tags.custom_tags[*] +resources.sql_warehouses.*.tags.custom_tags[*].key +resources.sql_warehouses.*.tags.custom_tags[*].value +resources.sql_warehouses.*.warehouse_type +resources.sql_warehouses.*.lifecycle.started +resources.sql_warehouses.*.lifecycle.started=true +resources.sql_warehouses.*.lifecycle.started=false +resources.sql_warehouses.*.permissions +resources.sql_warehouses.*.permissions[*] +resources.sql_warehouses.*.permissions[*].level +resources.sql_warehouses.*.permissions[*].user_name +resources.sql_warehouses.*.permissions[*].service_principal_name +resources.sql_warehouses.*.permissions[*].group_name +resources.database_instances +resources.database_instances.* +resources.database_instances.*.url +resources.database_instances.*.modified_status +resources.database_instances.*.lifecycle +resources.database_instances.*.lifecycle.prevent_destroy +resources.database_instances.*.lifecycle.prevent_destroy=true +resources.database_instances.*.lifecycle.prevent_destroy=false +resources.database_instances.*.lifecycle.depends_on +resources.database_instances.*.lifecycle.depends_on[*] +resources.database_instances.*.lifecycle.depends_on[*].resource +resources.database_instances.*.id +resources.database_instances.*.capacity +resources.database_instances.*.child_instance_refs +resources.database_instances.*.child_instance_refs[*] +resources.database_instances.*.child_instance_refs[*].branch_time +resources.database_instances.*.child_instance_refs[*].effective_lsn +resources.database_instances.*.child_instance_refs[*].lsn +resources.database_instances.*.child_instance_refs[*].name +resources.database_instances.*.child_instance_refs[*].uid +resources.database_instances.*.creation_time +resources.database_instances.*.creator +resources.database_instances.*.custom_tags +resources.database_instances.*.custom_tags[*] +resources.database_instances.*.custom_tags[*].key +resources.database_instances.*.custom_tags[*].value +resources.database_instances.*.effective_capacity +resources.database_instances.*.effective_custom_tags +resources.database_instances.*.effective_custom_tags[*] +resources.database_instances.*.effective_custom_tags[*].key +resources.database_instances.*.effective_custom_tags[*].value +resources.database_instances.*.effective_enable_pg_native_login +resources.database_instances.*.effective_enable_pg_native_login=true +resources.database_instances.*.effective_enable_pg_native_login=false +resources.database_instances.*.effective_enable_readable_secondaries +resources.database_instances.*.effective_enable_readable_secondaries=true +resources.database_instances.*.effective_enable_readable_secondaries=false +resources.database_instances.*.effective_node_count +resources.database_instances.*.effective_retention_window_in_days +resources.database_instances.*.effective_stopped +resources.database_instances.*.effective_stopped=true +resources.database_instances.*.effective_stopped=false +resources.database_instances.*.effective_usage_policy_id +resources.database_instances.*.enable_pg_native_login +resources.database_instances.*.enable_pg_native_login=true +resources.database_instances.*.enable_pg_native_login=false +resources.database_instances.*.enable_readable_secondaries +resources.database_instances.*.enable_readable_secondaries=true +resources.database_instances.*.enable_readable_secondaries=false +resources.database_instances.*.name +resources.database_instances.*.node_count +resources.database_instances.*.parent_instance_ref +resources.database_instances.*.parent_instance_ref.branch_time +resources.database_instances.*.parent_instance_ref.effective_lsn +resources.database_instances.*.parent_instance_ref.lsn +resources.database_instances.*.parent_instance_ref.name +resources.database_instances.*.parent_instance_ref.uid +resources.database_instances.*.pg_version +resources.database_instances.*.read_only_dns +resources.database_instances.*.read_write_dns +resources.database_instances.*.retention_window_in_days +resources.database_instances.*.state +resources.database_instances.*.stopped +resources.database_instances.*.stopped=true +resources.database_instances.*.stopped=false +resources.database_instances.*.uid +resources.database_instances.*.usage_policy_id +resources.database_instances.*.permissions +resources.database_instances.*.permissions[*] +resources.database_instances.*.permissions[*].level +resources.database_instances.*.permissions[*].user_name +resources.database_instances.*.permissions[*].service_principal_name +resources.database_instances.*.permissions[*].group_name +resources.database_catalogs +resources.database_catalogs.* +resources.database_catalogs.*.url +resources.database_catalogs.*.modified_status +resources.database_catalogs.*.lifecycle +resources.database_catalogs.*.lifecycle.prevent_destroy +resources.database_catalogs.*.lifecycle.prevent_destroy=true +resources.database_catalogs.*.lifecycle.prevent_destroy=false +resources.database_catalogs.*.lifecycle.depends_on +resources.database_catalogs.*.lifecycle.depends_on[*] +resources.database_catalogs.*.lifecycle.depends_on[*].resource +resources.database_catalogs.*.id +resources.database_catalogs.*.create_database_if_not_exists +resources.database_catalogs.*.create_database_if_not_exists=true +resources.database_catalogs.*.create_database_if_not_exists=false +resources.database_catalogs.*.database_instance_name +resources.database_catalogs.*.database_name +resources.database_catalogs.*.name +resources.database_catalogs.*.uid +resources.synced_database_tables +resources.synced_database_tables.* +resources.synced_database_tables.*.url +resources.synced_database_tables.*.modified_status +resources.synced_database_tables.*.lifecycle +resources.synced_database_tables.*.lifecycle.prevent_destroy +resources.synced_database_tables.*.lifecycle.prevent_destroy=true +resources.synced_database_tables.*.lifecycle.prevent_destroy=false +resources.synced_database_tables.*.lifecycle.depends_on +resources.synced_database_tables.*.lifecycle.depends_on[*] +resources.synced_database_tables.*.lifecycle.depends_on[*].resource +resources.synced_database_tables.*.id +resources.synced_database_tables.*.data_synchronization_status +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.estimated_completion_time_seconds +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.latest_version_currently_processing +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.provisioning_phase +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.sync_progress_completion +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.synced_row_count +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.initial_pipeline_sync_progress.total_row_count +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.last_processed_commit_version +resources.synced_database_tables.*.data_synchronization_status.continuous_update_status.timestamp +resources.synced_database_tables.*.data_synchronization_status.detailed_state +resources.synced_database_tables.*.data_synchronization_status.failed_status +resources.synced_database_tables.*.data_synchronization_status.failed_status.last_processed_commit_version +resources.synced_database_tables.*.data_synchronization_status.failed_status.timestamp +resources.synced_database_tables.*.data_synchronization_status.last_sync +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info.delta_commit_timestamp +resources.synced_database_tables.*.data_synchronization_status.last_sync.delta_table_sync_info.delta_commit_version +resources.synced_database_tables.*.data_synchronization_status.last_sync.sync_end_timestamp +resources.synced_database_tables.*.data_synchronization_status.last_sync.sync_start_timestamp +resources.synced_database_tables.*.data_synchronization_status.message +resources.synced_database_tables.*.data_synchronization_status.pipeline_id +resources.synced_database_tables.*.data_synchronization_status.provisioning_status +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.estimated_completion_time_seconds +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.latest_version_currently_processing +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.provisioning_phase +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.sync_progress_completion +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.synced_row_count +resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.total_row_count +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.last_processed_commit_version +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.timestamp +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.estimated_completion_time_seconds +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.latest_version_currently_processing +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.provisioning_phase +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.sync_progress_completion +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.synced_row_count +resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.total_row_count +resources.synced_database_tables.*.database_instance_name +resources.synced_database_tables.*.effective_database_instance_name +resources.synced_database_tables.*.effective_logical_database_name +resources.synced_database_tables.*.logical_database_name +resources.synced_database_tables.*.name +resources.synced_database_tables.*.spec +resources.synced_database_tables.*.spec.accelerated_sync +resources.synced_database_tables.*.spec.accelerated_sync=true +resources.synced_database_tables.*.spec.accelerated_sync=false +resources.synced_database_tables.*.spec.create_database_objects_if_missing +resources.synced_database_tables.*.spec.create_database_objects_if_missing=true +resources.synced_database_tables.*.spec.create_database_objects_if_missing=false +resources.synced_database_tables.*.spec.existing_pipeline_id +resources.synced_database_tables.*.spec.new_pipeline_spec +resources.synced_database_tables.*.spec.new_pipeline_spec.budget_policy_id +resources.synced_database_tables.*.spec.new_pipeline_spec.storage_catalog +resources.synced_database_tables.*.spec.new_pipeline_spec.storage_schema +resources.synced_database_tables.*.spec.primary_key_columns +resources.synced_database_tables.*.spec.primary_key_columns[*] +resources.synced_database_tables.*.spec.scheduling_policy +resources.synced_database_tables.*.spec.source_table_full_name +resources.synced_database_tables.*.spec.timeseries_key +resources.synced_database_tables.*.spec.type_overrides +resources.synced_database_tables.*.spec.type_overrides[*] +resources.synced_database_tables.*.spec.type_overrides[*].column_name +resources.synced_database_tables.*.spec.type_overrides[*].pg_type +resources.synced_database_tables.*.spec.type_overrides[*].size +resources.synced_database_tables.*.unity_catalog_provisioning_state +resources.postgres_projects +resources.postgres_projects.* +resources.postgres_projects.*.url +resources.postgres_projects.*.modified_status +resources.postgres_projects.*.lifecycle +resources.postgres_projects.*.lifecycle.prevent_destroy +resources.postgres_projects.*.lifecycle.prevent_destroy=true +resources.postgres_projects.*.lifecycle.prevent_destroy=false +resources.postgres_projects.*.lifecycle.depends_on +resources.postgres_projects.*.lifecycle.depends_on[*] +resources.postgres_projects.*.lifecycle.depends_on[*].resource +resources.postgres_projects.*.id +resources.postgres_projects.*.budget_policy_id +resources.postgres_projects.*.custom_tags +resources.postgres_projects.*.custom_tags[*] +resources.postgres_projects.*.custom_tags[*].key +resources.postgres_projects.*.custom_tags[*].value +resources.postgres_projects.*.default_branch +resources.postgres_projects.*.default_endpoint_settings +resources.postgres_projects.*.default_endpoint_settings.autoscaling_limit_max_cu +resources.postgres_projects.*.default_endpoint_settings.autoscaling_limit_min_cu +resources.postgres_projects.*.default_endpoint_settings.no_suspension +resources.postgres_projects.*.default_endpoint_settings.no_suspension=true +resources.postgres_projects.*.default_endpoint_settings.no_suspension=false +resources.postgres_projects.*.default_endpoint_settings.pg_settings +resources.postgres_projects.*.default_endpoint_settings.pg_settings.* +resources.postgres_projects.*.default_endpoint_settings.suspend_timeout_duration +resources.postgres_projects.*.display_name +resources.postgres_projects.*.enable_pg_native_login +resources.postgres_projects.*.enable_pg_native_login=true +resources.postgres_projects.*.enable_pg_native_login=false +resources.postgres_projects.*.history_retention_duration +resources.postgres_projects.*.pg_version +resources.postgres_projects.*.project_id +resources.postgres_projects.*.purge_on_delete +resources.postgres_projects.*.purge_on_delete=true +resources.postgres_projects.*.purge_on_delete=false +resources.postgres_projects.*.permissions +resources.postgres_projects.*.permissions[*] +resources.postgres_projects.*.permissions[*].level +resources.postgres_projects.*.permissions[*].user_name +resources.postgres_projects.*.permissions[*].service_principal_name +resources.postgres_projects.*.permissions[*].group_name +resources.postgres_branches +resources.postgres_branches.* +resources.postgres_branches.*.url +resources.postgres_branches.*.modified_status +resources.postgres_branches.*.lifecycle +resources.postgres_branches.*.lifecycle.prevent_destroy +resources.postgres_branches.*.lifecycle.prevent_destroy=true +resources.postgres_branches.*.lifecycle.prevent_destroy=false +resources.postgres_branches.*.lifecycle.depends_on +resources.postgres_branches.*.lifecycle.depends_on[*] +resources.postgres_branches.*.lifecycle.depends_on[*].resource +resources.postgres_branches.*.id +resources.postgres_branches.*.expire_time +resources.postgres_branches.*.is_protected +resources.postgres_branches.*.is_protected=true +resources.postgres_branches.*.is_protected=false +resources.postgres_branches.*.no_expiry +resources.postgres_branches.*.no_expiry=true +resources.postgres_branches.*.no_expiry=false +resources.postgres_branches.*.source_branch +resources.postgres_branches.*.source_branch_lsn +resources.postgres_branches.*.source_branch_time +resources.postgres_branches.*.source_snapshot +resources.postgres_branches.*.ttl +resources.postgres_branches.*.branch_id +resources.postgres_branches.*.parent +resources.postgres_branches.*.replace_existing +resources.postgres_branches.*.replace_existing=true +resources.postgres_branches.*.replace_existing=false +resources.postgres_branches.*.purge_on_delete +resources.postgres_branches.*.purge_on_delete=true +resources.postgres_branches.*.purge_on_delete=false +resources.postgres_endpoints +resources.postgres_endpoints.* +resources.postgres_endpoints.*.url +resources.postgres_endpoints.*.modified_status +resources.postgres_endpoints.*.lifecycle +resources.postgres_endpoints.*.lifecycle.prevent_destroy +resources.postgres_endpoints.*.lifecycle.prevent_destroy=true +resources.postgres_endpoints.*.lifecycle.prevent_destroy=false +resources.postgres_endpoints.*.lifecycle.depends_on +resources.postgres_endpoints.*.lifecycle.depends_on[*] +resources.postgres_endpoints.*.lifecycle.depends_on[*].resource +resources.postgres_endpoints.*.id +resources.postgres_endpoints.*.autoscaling_limit_max_cu +resources.postgres_endpoints.*.autoscaling_limit_min_cu +resources.postgres_endpoints.*.disabled +resources.postgres_endpoints.*.disabled=true +resources.postgres_endpoints.*.disabled=false +resources.postgres_endpoints.*.endpoint_type +resources.postgres_endpoints.*.group +resources.postgres_endpoints.*.group.enable_readable_secondaries +resources.postgres_endpoints.*.group.enable_readable_secondaries=true +resources.postgres_endpoints.*.group.enable_readable_secondaries=false +resources.postgres_endpoints.*.group.max +resources.postgres_endpoints.*.group.min +resources.postgres_endpoints.*.no_suspension +resources.postgres_endpoints.*.no_suspension=true +resources.postgres_endpoints.*.no_suspension=false +resources.postgres_endpoints.*.settings +resources.postgres_endpoints.*.settings.pg_settings +resources.postgres_endpoints.*.settings.pg_settings.* +resources.postgres_endpoints.*.suspend_timeout_duration +resources.postgres_endpoints.*.endpoint_id +resources.postgres_endpoints.*.parent +resources.postgres_endpoints.*.replace_existing +resources.postgres_endpoints.*.replace_existing=true +resources.postgres_endpoints.*.replace_existing=false +resources.postgres_catalogs +resources.postgres_catalogs.* +resources.postgres_catalogs.*.url +resources.postgres_catalogs.*.modified_status +resources.postgres_catalogs.*.lifecycle +resources.postgres_catalogs.*.lifecycle.prevent_destroy +resources.postgres_catalogs.*.lifecycle.prevent_destroy=true +resources.postgres_catalogs.*.lifecycle.prevent_destroy=false +resources.postgres_catalogs.*.lifecycle.depends_on +resources.postgres_catalogs.*.lifecycle.depends_on[*] +resources.postgres_catalogs.*.lifecycle.depends_on[*].resource +resources.postgres_catalogs.*.id +resources.postgres_catalogs.*.branch +resources.postgres_catalogs.*.create_database_if_missing +resources.postgres_catalogs.*.create_database_if_missing=true +resources.postgres_catalogs.*.create_database_if_missing=false +resources.postgres_catalogs.*.postgres_database +resources.postgres_catalogs.*.catalog_id +resources.postgres_databases +resources.postgres_databases.* +resources.postgres_databases.*.url +resources.postgres_databases.*.modified_status +resources.postgres_databases.*.lifecycle +resources.postgres_databases.*.lifecycle.prevent_destroy +resources.postgres_databases.*.lifecycle.prevent_destroy=true +resources.postgres_databases.*.lifecycle.prevent_destroy=false +resources.postgres_databases.*.lifecycle.depends_on +resources.postgres_databases.*.lifecycle.depends_on[*] +resources.postgres_databases.*.lifecycle.depends_on[*].resource +resources.postgres_databases.*.id +resources.postgres_databases.*.postgres_database +resources.postgres_databases.*.role +resources.postgres_databases.*.database_id +resources.postgres_databases.*.parent +resources.postgres_databases.*.replace_existing +resources.postgres_databases.*.replace_existing=true +resources.postgres_databases.*.replace_existing=false +resources.postgres_roles +resources.postgres_roles.* +resources.postgres_roles.*.url +resources.postgres_roles.*.modified_status +resources.postgres_roles.*.lifecycle +resources.postgres_roles.*.lifecycle.prevent_destroy +resources.postgres_roles.*.lifecycle.prevent_destroy=true +resources.postgres_roles.*.lifecycle.prevent_destroy=false +resources.postgres_roles.*.lifecycle.depends_on +resources.postgres_roles.*.lifecycle.depends_on[*] +resources.postgres_roles.*.lifecycle.depends_on[*].resource +resources.postgres_roles.*.id +resources.postgres_roles.*.attributes +resources.postgres_roles.*.attributes.bypassrls +resources.postgres_roles.*.attributes.bypassrls=true +resources.postgres_roles.*.attributes.bypassrls=false +resources.postgres_roles.*.attributes.createdb +resources.postgres_roles.*.attributes.createdb=true +resources.postgres_roles.*.attributes.createdb=false +resources.postgres_roles.*.attributes.createrole +resources.postgres_roles.*.attributes.createrole=true +resources.postgres_roles.*.attributes.createrole=false +resources.postgres_roles.*.auth_method +resources.postgres_roles.*.identity_type +resources.postgres_roles.*.membership_roles +resources.postgres_roles.*.membership_roles[*] +resources.postgres_roles.*.postgres_role +resources.postgres_roles.*.role_id +resources.postgres_roles.*.parent +resources.postgres_roles.*.replace_existing +resources.postgres_roles.*.replace_existing=true +resources.postgres_roles.*.replace_existing=false +resources.postgres_synced_tables +resources.postgres_synced_tables.* +resources.postgres_synced_tables.*.url +resources.postgres_synced_tables.*.modified_status +resources.postgres_synced_tables.*.lifecycle +resources.postgres_synced_tables.*.lifecycle.prevent_destroy +resources.postgres_synced_tables.*.lifecycle.prevent_destroy=true +resources.postgres_synced_tables.*.lifecycle.prevent_destroy=false +resources.postgres_synced_tables.*.lifecycle.depends_on +resources.postgres_synced_tables.*.lifecycle.depends_on[*] +resources.postgres_synced_tables.*.lifecycle.depends_on[*].resource +resources.postgres_synced_tables.*.id +resources.postgres_synced_tables.*.accelerated_sync +resources.postgres_synced_tables.*.accelerated_sync=true +resources.postgres_synced_tables.*.accelerated_sync=false +resources.postgres_synced_tables.*.branch +resources.postgres_synced_tables.*.create_database_objects_if_missing +resources.postgres_synced_tables.*.create_database_objects_if_missing=true +resources.postgres_synced_tables.*.create_database_objects_if_missing=false +resources.postgres_synced_tables.*.existing_pipeline_id +resources.postgres_synced_tables.*.extra_columns +resources.postgres_synced_tables.*.extra_columns[*] +resources.postgres_synced_tables.*.extra_columns[*].column_name +resources.postgres_synced_tables.*.extra_columns[*].column_type +resources.postgres_synced_tables.*.extra_columns[*].compute +resources.postgres_synced_tables.*.extra_columns[*].maintenance +resources.postgres_synced_tables.*.new_pipeline_spec +resources.postgres_synced_tables.*.new_pipeline_spec.budget_policy_id +resources.postgres_synced_tables.*.new_pipeline_spec.pipeline_channel +resources.postgres_synced_tables.*.new_pipeline_spec.storage_catalog +resources.postgres_synced_tables.*.new_pipeline_spec.storage_schema +resources.postgres_synced_tables.*.postgres_database +resources.postgres_synced_tables.*.primary_key_columns +resources.postgres_synced_tables.*.primary_key_columns[*] +resources.postgres_synced_tables.*.scheduling_policy +resources.postgres_synced_tables.*.source_table_full_name +resources.postgres_synced_tables.*.timeseries_key +resources.postgres_synced_tables.*.type_overrides +resources.postgres_synced_tables.*.type_overrides[*] +resources.postgres_synced_tables.*.type_overrides[*].column_name +resources.postgres_synced_tables.*.type_overrides[*].pg_type +resources.postgres_synced_tables.*.type_overrides[*].size +resources.postgres_synced_tables.*.synced_table_id +resources.postgres_snapshot_schedules +resources.postgres_snapshot_schedules.* +resources.postgres_snapshot_schedules.*.url +resources.postgres_snapshot_schedules.*.modified_status +resources.postgres_snapshot_schedules.*.lifecycle +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy=true +resources.postgres_snapshot_schedules.*.lifecycle.prevent_destroy=false +resources.postgres_snapshot_schedules.*.lifecycle.depends_on +resources.postgres_snapshot_schedules.*.lifecycle.depends_on[*] +resources.postgres_snapshot_schedules.*.lifecycle.depends_on[*].resource +resources.postgres_snapshot_schedules.*.id +resources.postgres_snapshot_schedules.*.branch +resources.postgres_snapshot_schedules.*.schedule +resources.postgres_snapshot_schedules.*.schedule[*] +resources.postgres_snapshot_schedules.*.schedule[*].daily_schedule +resources.postgres_snapshot_schedules.*.schedule[*].daily_schedule.hour +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule.day +resources.postgres_snapshot_schedules.*.schedule[*].monthly_schedule.hour +resources.postgres_snapshot_schedules.*.schedule[*].retention +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule.day_of_week +resources.postgres_snapshot_schedules.*.schedule[*].weekly_schedule.hour +resources.postgres_data_apis +resources.postgres_data_apis.* +resources.postgres_data_apis.*.url +resources.postgres_data_apis.*.modified_status +resources.postgres_data_apis.*.lifecycle +resources.postgres_data_apis.*.lifecycle.prevent_destroy +resources.postgres_data_apis.*.lifecycle.prevent_destroy=true +resources.postgres_data_apis.*.lifecycle.prevent_destroy=false +resources.postgres_data_apis.*.lifecycle.depends_on +resources.postgres_data_apis.*.lifecycle.depends_on[*] +resources.postgres_data_apis.*.lifecycle.depends_on[*].resource +resources.postgres_data_apis.*.id +resources.postgres_data_apis.*.db_aggregates_enabled +resources.postgres_data_apis.*.db_aggregates_enabled=true +resources.postgres_data_apis.*.db_aggregates_enabled=false +resources.postgres_data_apis.*.db_extra_search_path +resources.postgres_data_apis.*.db_extra_search_path[*] +resources.postgres_data_apis.*.db_max_rows +resources.postgres_data_apis.*.db_schemas +resources.postgres_data_apis.*.db_schemas[*] +resources.postgres_data_apis.*.jwt_cache_max_lifetime +resources.postgres_data_apis.*.jwt_role_claim_key +resources.postgres_data_apis.*.openapi_mode +resources.postgres_data_apis.*.server_cors_allowed_origins +resources.postgres_data_apis.*.server_cors_allowed_origins[*] +resources.postgres_data_apis.*.server_timing_enabled +resources.postgres_data_apis.*.server_timing_enabled=true +resources.postgres_data_apis.*.server_timing_enabled=false +resources.postgres_data_apis.*.parent +resources.vector_search_endpoints +resources.vector_search_endpoints.* +resources.vector_search_endpoints.*.url +resources.vector_search_endpoints.*.modified_status +resources.vector_search_endpoints.*.lifecycle +resources.vector_search_endpoints.*.lifecycle.prevent_destroy +resources.vector_search_endpoints.*.lifecycle.prevent_destroy=true +resources.vector_search_endpoints.*.lifecycle.prevent_destroy=false +resources.vector_search_endpoints.*.lifecycle.depends_on +resources.vector_search_endpoints.*.lifecycle.depends_on[*] +resources.vector_search_endpoints.*.lifecycle.depends_on[*].resource +resources.vector_search_endpoints.*.id +resources.vector_search_endpoints.*.budget_policy_id +resources.vector_search_endpoints.*.endpoint_type +resources.vector_search_endpoints.*.name +resources.vector_search_endpoints.*.target_qps +resources.vector_search_endpoints.*.usage_policy_id +resources.vector_search_endpoints.*.permissions +resources.vector_search_endpoints.*.permissions[*] +resources.vector_search_endpoints.*.permissions[*].level +resources.vector_search_endpoints.*.permissions[*].user_name +resources.vector_search_endpoints.*.permissions[*].service_principal_name +resources.vector_search_endpoints.*.permissions[*].group_name +resources.vector_search_indexes +resources.vector_search_indexes.* +resources.vector_search_indexes.*.url +resources.vector_search_indexes.*.modified_status +resources.vector_search_indexes.*.lifecycle +resources.vector_search_indexes.*.lifecycle.prevent_destroy +resources.vector_search_indexes.*.lifecycle.prevent_destroy=true +resources.vector_search_indexes.*.lifecycle.prevent_destroy=false +resources.vector_search_indexes.*.lifecycle.depends_on +resources.vector_search_indexes.*.lifecycle.depends_on[*] +resources.vector_search_indexes.*.lifecycle.depends_on[*].resource +resources.vector_search_indexes.*.id +resources.vector_search_indexes.*.delta_sync_index_spec +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_index +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_index[*] +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_sync +resources.vector_search_indexes.*.delta_sync_index_spec.columns_to_sync[*] +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*] +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].embedding_model_endpoint_name +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].model_endpoint_name_for_query +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_source_columns[*].name +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*] +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*].embedding_dimension +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_vector_columns[*].name +resources.vector_search_indexes.*.delta_sync_index_spec.embedding_writeback_table +resources.vector_search_indexes.*.delta_sync_index_spec.pipeline_type +resources.vector_search_indexes.*.delta_sync_index_spec.source_table +resources.vector_search_indexes.*.direct_access_index_spec +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*] +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].embedding_model_endpoint_name +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].model_endpoint_name_for_query +resources.vector_search_indexes.*.direct_access_index_spec.embedding_source_columns[*].name +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*] +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*].embedding_dimension +resources.vector_search_indexes.*.direct_access_index_spec.embedding_vector_columns[*].name +resources.vector_search_indexes.*.direct_access_index_spec.schema_json +resources.vector_search_indexes.*.endpoint_name +resources.vector_search_indexes.*.index_subtype +resources.vector_search_indexes.*.index_type +resources.vector_search_indexes.*.name +resources.vector_search_indexes.*.primary_key +resources.vector_search_indexes.*.grants +resources.vector_search_indexes.*.grants[*] +resources.vector_search_indexes.*.grants[*].principal +resources.vector_search_indexes.*.grants[*].privileges +resources.vector_search_indexes.*.grants[*].privileges[*] +resources.instance_pools +resources.instance_pools.* +resources.instance_pools.*.url +resources.instance_pools.*.modified_status +resources.instance_pools.*.lifecycle +resources.instance_pools.*.lifecycle.prevent_destroy +resources.instance_pools.*.lifecycle.prevent_destroy=true +resources.instance_pools.*.lifecycle.prevent_destroy=false +resources.instance_pools.*.lifecycle.depends_on +resources.instance_pools.*.lifecycle.depends_on[*] +resources.instance_pools.*.lifecycle.depends_on[*].resource +resources.instance_pools.*.id +resources.instance_pools.*.aws_attributes +resources.instance_pools.*.aws_attributes.availability +resources.instance_pools.*.aws_attributes.instance_profile_arn +resources.instance_pools.*.aws_attributes.spot_bid_price_percent +resources.instance_pools.*.aws_attributes.zone_id +resources.instance_pools.*.azure_attributes +resources.instance_pools.*.azure_attributes.availability +resources.instance_pools.*.azure_attributes.capacity_reservation_group +resources.instance_pools.*.azure_attributes.spot_bid_max_price +resources.instance_pools.*.custom_tags +resources.instance_pools.*.custom_tags.* +resources.instance_pools.*.disk_spec +resources.instance_pools.*.disk_spec.disk_count +resources.instance_pools.*.disk_spec.disk_iops +resources.instance_pools.*.disk_spec.disk_size +resources.instance_pools.*.disk_spec.disk_throughput +resources.instance_pools.*.disk_spec.disk_type +resources.instance_pools.*.disk_spec.disk_type.azure_disk_volume_type +resources.instance_pools.*.disk_spec.disk_type.ebs_volume_type +resources.instance_pools.*.enable_elastic_disk +resources.instance_pools.*.enable_elastic_disk=true +resources.instance_pools.*.enable_elastic_disk=false +resources.instance_pools.*.gcp_attributes +resources.instance_pools.*.gcp_attributes.gcp_availability +resources.instance_pools.*.gcp_attributes.local_ssd_count +resources.instance_pools.*.gcp_attributes.zone_id +resources.instance_pools.*.idle_instance_autotermination_minutes +resources.instance_pools.*.instance_pool_name +resources.instance_pools.*.max_capacity +resources.instance_pools.*.min_idle_instances +resources.instance_pools.*.node_type_flexibility +resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids +resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids[*] +resources.instance_pools.*.node_type_flexibility.aws_context_id +resources.instance_pools.*.node_type_id +resources.instance_pools.*.preloaded_docker_images +resources.instance_pools.*.preloaded_docker_images[*] +resources.instance_pools.*.preloaded_docker_images[*].basic_auth +resources.instance_pools.*.preloaded_docker_images[*].basic_auth.password +resources.instance_pools.*.preloaded_docker_images[*].basic_auth.username +resources.instance_pools.*.preloaded_docker_images[*].url +resources.instance_pools.*.preloaded_spark_versions +resources.instance_pools.*.preloaded_spark_versions[*] +resources.instance_pools.*.remote_disk_throughput +resources.instance_pools.*.total_initial_remote_disk_size +resources.instance_pools.*.permissions +resources.instance_pools.*.permissions[*] +resources.instance_pools.*.permissions[*].level +resources.instance_pools.*.permissions[*].user_name +resources.instance_pools.*.permissions[*].service_principal_name +resources.instance_pools.*.permissions[*].group_name +resources.secrets +resources.secrets.* +resources.secrets.*.url +resources.secrets.*.modified_status +resources.secrets.*.lifecycle +resources.secrets.*.lifecycle.prevent_destroy +resources.secrets.*.lifecycle.prevent_destroy=true +resources.secrets.*.lifecycle.prevent_destroy=false +resources.secrets.*.lifecycle.depends_on +resources.secrets.*.lifecycle.depends_on[*] +resources.secrets.*.lifecycle.depends_on[*].resource +resources.secrets.*.id +resources.secrets.*.catalog_name +resources.secrets.*.comment +resources.secrets.*.create_time +resources.secrets.*.created_by +resources.secrets.*.effective_owner +resources.secrets.*.effective_value +resources.secrets.*.expire_time +resources.secrets.*.full_name +resources.secrets.*.metastore_id +resources.secrets.*.name +resources.secrets.*.owner +resources.secrets.*.schema_name +resources.secrets.*.update_time +resources.secrets.*.updated_by +resources.secrets.*.value +resources.secrets.*.grants +resources.secrets.*.grants[*] +resources.secrets.*.grants[*].principal +resources.secrets.*.grants[*].privileges +resources.secrets.*.grants[*].privileges[*] +resources.cluster_policies +resources.cluster_policies.* +resources.cluster_policies.*.url +resources.cluster_policies.*.modified_status +resources.cluster_policies.*.lifecycle +resources.cluster_policies.*.lifecycle.prevent_destroy +resources.cluster_policies.*.lifecycle.prevent_destroy=true +resources.cluster_policies.*.lifecycle.prevent_destroy=false +resources.cluster_policies.*.lifecycle.depends_on +resources.cluster_policies.*.lifecycle.depends_on[*] +resources.cluster_policies.*.lifecycle.depends_on[*].resource +resources.cluster_policies.*.id +resources.cluster_policies.*.definition +resources.cluster_policies.*.description +resources.cluster_policies.*.libraries +resources.cluster_policies.*.libraries[*] +resources.cluster_policies.*.libraries[*].cran +resources.cluster_policies.*.libraries[*].cran.package +resources.cluster_policies.*.libraries[*].cran.repo +resources.cluster_policies.*.libraries[*].egg +resources.cluster_policies.*.libraries[*].jar +resources.cluster_policies.*.libraries[*].maven +resources.cluster_policies.*.libraries[*].maven.coordinates +resources.cluster_policies.*.libraries[*].maven.exclusions +resources.cluster_policies.*.libraries[*].maven.exclusions[*] +resources.cluster_policies.*.libraries[*].maven.repo +resources.cluster_policies.*.libraries[*].pypi +resources.cluster_policies.*.libraries[*].pypi.package +resources.cluster_policies.*.libraries[*].pypi.repo +resources.cluster_policies.*.libraries[*].requirements +resources.cluster_policies.*.libraries[*].whl +resources.cluster_policies.*.max_clusters_per_user +resources.cluster_policies.*.name +resources.cluster_policies.*.policy_family_definition_overrides +resources.cluster_policies.*.policy_family_id +resources.cluster_policies.*.permissions +resources.cluster_policies.*.permissions[*] +resources.cluster_policies.*.permissions[*].level +resources.cluster_policies.*.permissions[*].user_name +resources.cluster_policies.*.permissions[*].service_principal_name +resources.cluster_policies.*.permissions[*].group_name +resources.internal_immutable_snapshots +resources.internal_immutable_snapshots.* +resources.internal_immutable_snapshots.*.bundle_id +resources.internal_immutable_snapshots.*.acl +resources.internal_immutable_snapshots.*.acl[*] +resources.internal_immutable_snapshots.*.acl[*].user_name +resources.internal_immutable_snapshots.*.acl[*].group_name +resources.internal_immutable_snapshots.*.acl[*].service_principal_name +resources.internal_immutable_snapshots.*.acl[*].permission_level +resources.internal_immutable_snapshots.*.can_manage +resources.internal_immutable_snapshots.*.can_manage[*] +resources.internal_immutable_snapshots.*.can_manage[*].user_name +resources.internal_immutable_snapshots.*.can_manage[*].group_name +resources.internal_immutable_snapshots.*.can_manage[*].service_principal_name +resources.internal_immutable_snapshots.*.zip_path +resources.internal_immutable_snapshots.*.remote_root +sync +sync.paths +sync.paths[*] +sync.include +sync.include[*] +sync.exclude +sync.exclude[*] +run_as +run_as.group_name +run_as.service_principal_name +run_as.user_name +presets +presets.name_prefix +presets.pipelines_development +presets.pipelines_development=true +presets.pipelines_development=false +presets.trigger_pause_status +presets.jobs_max_concurrent_runs +presets.source_linked_deployment +presets.source_linked_deployment=true +presets.source_linked_deployment=false +presets.artifacts_dynamic_version +presets.artifacts_dynamic_version=true +presets.artifacts_dynamic_version=false +presets.tags +presets.tags.* +experimental +experimental.scripts +experimental.scripts.* +experimental.immutable_folder +experimental.immutable_folder=true +experimental.immutable_folder=false +experimental.python_wheel_wrapper +experimental.python_wheel_wrapper=true +experimental.python_wheel_wrapper=false +experimental.use_legacy_run_as +experimental.use_legacy_run_as=true +experimental.use_legacy_run_as=false +experimental.pydabs +experimental.pydabs.enabled +experimental.pydabs.enabled=true +experimental.pydabs.enabled=false +experimental.python +experimental.python.resources +experimental.python.resources[*] +experimental.python.mutators +experimental.python.mutators[*] +experimental.python.venv_path +experimental.skip_artifact_cleanup +experimental.skip_artifact_cleanup=true +experimental.skip_artifact_cleanup=false +experimental.skip_name_prefix_for_schema +experimental.skip_name_prefix_for_schema=true +experimental.skip_name_prefix_for_schema=false +experimental.deployment_history +experimental.deployment_history=true +experimental.deployment_history=false +permissions +permissions[*] +permissions[*].level +permissions[*].user_name +permissions[*].service_principal_name +permissions[*].group_name +scripts +scripts.* +scripts.*.content +scripts.*.env +scripts.*.env.* +python +python.resources +python.resources[*] +python.mutators +python.mutators[*] +python.venv_path +definitions +telemetry.PythonWheelWrapperIsSet +telemetry.PythonWheelWrapperIsSet=true +telemetry.PythonWheelWrapperIsSet=false +telemetry.ArtifactDynamicVersionIsSet +telemetry.ArtifactDynamicVersionIsSet=true +telemetry.ArtifactDynamicVersionIsSet=false +telemetry.ArtifactBuildCommandIsSet +telemetry.ArtifactBuildCommandIsSet=true +telemetry.ArtifactBuildCommandIsSet=false +telemetry.ArtifactFilesIsSet +telemetry.ArtifactFilesIsSet=true +telemetry.ArtifactFilesIsSet=false +telemetry.PresetsNamePrefixIsSet +telemetry.PresetsNamePrefixIsSet=true +telemetry.PresetsNamePrefixIsSet=false +telemetry.AppLifecycleStarted +telemetry.AppLifecycleStarted=true +telemetry.AppLifecycleStarted=false +telemetry.ClusterLifecycleStarted +telemetry.ClusterLifecycleStarted=true +telemetry.ClusterLifecycleStarted=false +telemetry.DeploymentHistoryEnabled +telemetry.DeploymentHistoryEnabled=true +telemetry.DeploymentHistoryEnabled=false +telemetry.SqlWarehouseLifecycleStarted +telemetry.SqlWarehouseLifecycleStarted=true +telemetry.SqlWarehouseLifecycleStarted=false +telemetry.SelectUsed +telemetry.SelectUsed=true +telemetry.SelectUsed=false +telemetry.ImmutableSnapshotUsed +telemetry.ImmutableSnapshotUsed=true +telemetry.ImmutableSnapshotUsed=false +telemetry.DirectMigrateError +telemetry.DirectMigrateError=true +telemetry.DirectMigrateError=false +telemetry.DirectMigrateWarnings +telemetry.DirectMigrateWarnings=true +telemetry.DirectMigrateWarnings=false +telemetry.DirectMigratePlanError +telemetry.DirectMigratePlanError=true +telemetry.DirectMigratePlanError=false +telemetry.DirectMigrateRecreatePlanned +telemetry.DirectMigrateRecreatePlanned=true +telemetry.DirectMigrateRecreatePlanned=false +telemetry.DirectAutoMigrateViaConfig +telemetry.DirectAutoMigrateViaConfig=true +telemetry.DirectAutoMigrateViaConfig=false +telemetry.DirectAutoMigrateViaEnv +telemetry.DirectAutoMigrateViaEnv=true +telemetry.DirectAutoMigrateViaEnv=false +telemetry.DirectAutoMigrateViaDefault +telemetry.DirectAutoMigrateViaDefault=true +telemetry.DirectAutoMigrateViaDefault=false +telemetry.EngineTerraformConfig +telemetry.EngineTerraformConfig=true +telemetry.EngineTerraformConfig=false +telemetry.EngineTerraformEnv +telemetry.EngineTerraformEnv=true +telemetry.EngineTerraformEnv=false +telemetry.StatePathIsShared +telemetry.StatePathIsShared=true +telemetry.StatePathIsShared=false +telemetry.DMSCompatAuto +telemetry.DMSCompatAuto=true +telemetry.DMSCompatAuto=false +telemetry.DMSCompatOnlySelfUndeclared +telemetry.DMSCompatOnlySelfUndeclared=true +telemetry.DMSCompatOnlySelfUndeclared=false +telemetry.DMSCompatNot +telemetry.DMSCompatNot=true +telemetry.DMSCompatNot=false +telemetry.PermissionsSectionSet +telemetry.PermissionsSectionSet=true +telemetry.PermissionsSectionSet=false +telemetry.StatePathInDeployerHome +telemetry.StatePathInDeployerHome=true +telemetry.StatePathInDeployerHome=false +telemetry.StatePathInOtherUserHome +telemetry.StatePathInOtherUserHome=true +telemetry.StatePathInOtherUserHome=false +telemetry.StatePathOther +telemetry.StatePathOther=true +telemetry.StatePathOther=false +telemetry.DMSUndeclaredDeployingUser +telemetry.DMSUndeclaredDeployingUser=true +telemetry.DMSUndeclaredDeployingUser=false +telemetry.DMSUndeclaredOtherUser +telemetry.DMSUndeclaredOtherUser=true +telemetry.DMSUndeclaredOtherUser=false +telemetry.DMSUndeclaredServicePrincipal +telemetry.DMSUndeclaredServicePrincipal=true +telemetry.DMSUndeclaredServicePrincipal=false +telemetry.DMSUndeclaredGroup +telemetry.DMSUndeclaredGroup=true +telemetry.DMSUndeclaredGroup=false +telemetry.AiRuntimeTaskScheduled +telemetry.AiRuntimeTaskScheduled=true +telemetry.AiRuntimeTaskScheduled=false +telemetry.AiRuntimeTaskMultitask +telemetry.AiRuntimeTaskMultitask=true +telemetry.AiRuntimeTaskMultitask=false +telemetry.SkipArtifactCleanup +telemetry.SkipArtifactCleanup=true +telemetry.SkipArtifactCleanup=false +telemetry.SourceLinkedSetForNonDevelopment +telemetry.SourceLinkedSetForNonDevelopment=true +telemetry.SourceLinkedSetForNonDevelopment=false +telemetry.ConfigHasDoubleDollarBrace +telemetry.ConfigHasDoubleDollarBrace=true +telemetry.ConfigHasDoubleDollarBrace=false +telemetry.ConfigHasDoubleDollar +telemetry.ConfigHasDoubleDollar=true +telemetry.ConfigHasDoubleDollar=false +telemetry.ConfigHasBackslashDollarBrace +telemetry.ConfigHasBackslashDollarBrace=true +telemetry.ConfigHasBackslashDollarBrace=false +telemetry.ConfigHasBackslashDollar +telemetry.ConfigHasBackslashDollar=true +telemetry.ConfigHasBackslashDollar=false +telemetry.ArtifactsReferenceUsed +telemetry.ArtifactsReferenceUsed=true +telemetry.ArtifactsReferenceUsed=false +telemetry.UseLegacyRunAs +telemetry.UseLegacyRunAs=true +telemetry.UseLegacyRunAs=false +telemetry.RunAsSet +telemetry.RunAsSet=true +telemetry.RunAsSet=false +telemetry.HasTfOnlyReferences +telemetry.HasTfOnlyReferences=true +telemetry.HasTfOnlyReferences=false +telemetry.HasServerlessCompute +telemetry.HasServerlessCompute=true +telemetry.HasServerlessCompute=false +telemetry.HasClassicJobCompute +telemetry.HasClassicJobCompute=true +telemetry.HasClassicJobCompute=false +telemetry.HasClassicInteractiveCompute +telemetry.HasClassicInteractiveCompute=true +telemetry.HasClassicInteractiveCompute=false diff --git a/bundle/bundle.go b/bundle/bundle.go index 08586813a14..fff9012401b 100644 --- a/bundle/bundle.go +++ b/bundle/bundle.go @@ -15,6 +15,7 @@ import ( "time" "uuid" + "github.com/databricks/cli/bundle/bitmap" "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/engine" "github.com/databricks/cli/bundle/direct" @@ -67,9 +68,11 @@ const terraformStateFilename = "terraform.tfstate" // This struct is used as a communication channel to collect metrics // from all over the bundle codebase to finally be emitted as telemetry. type Metrics struct { - ConfigurationFileCount int64 - TargetCount int64 - DeploymentId uuid.UUID + ConfigurationFileCount int64 + TargetCount int64 + DeploymentId uuid.UUID + // BoolValues holds bool keys that are not fields of Telemetry: the dynamic + // has_ keys and the local.cache.* keys written by libs/cache. BoolValues []protos.BoolMapEntry ExecutionTimes []protos.IntMapEntry LocalCacheMeasurementsMs []protos.IntMapEntry // Local cache measurements stored as milliseconds @@ -109,10 +112,6 @@ func (m *Metrics) SetBoolValue(key string, value bool) { m.BoolValues = append(m.BoolValues, protos.BoolMapEntry{Key: key, Value: value}) } -func (m *Metrics) AddBoolValue(key string, value bool) { - m.BoolValues = append(m.BoolValues, protos.BoolMapEntry{Key: key, Value: value}) -} - // AddDurationValue sets the value of a duration metric in milliseconds. // The value is added to the list of measurements. func (m *Metrics) AddDurationValue(key string, value time.Duration) { @@ -226,6 +225,17 @@ type Bundle struct { Cache *cache.Cache Metrics Metrics + + // Telemetry holds the boolean deploy telemetry flags; they feed both the + // deploy event's bool_values and the bundle bitmap. + Telemetry Telemetry + + // Bitmap holds the config bits of the bundle bitmap: what users configure, + // not what the CLI derives. Initialize creates it from the loaded files with + // the selected target merged in, before it fills in defaults; the Python + // mutator adds the resources Python defines, and the end of Initialize adds + // the values of fields set through ${var.*} references. + Bitmap *bitmap.Builder } func Load(ctx context.Context, path string) (*Bundle, error) { diff --git a/bundle/config/mutator/apply_sync_mode.go b/bundle/config/mutator/apply_sync_mode.go index 57b564920cd..ad13ecc820e 100644 --- a/bundle/config/mutator/apply_sync_mode.go +++ b/bundle/config/mutator/apply_sync_mode.go @@ -75,7 +75,7 @@ func (m *applySyncMode) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagno return diags } - b.Metrics.AddBoolValue("source_linked_set_for_non_development", b.Config.Bundle.Mode != config.Development) + b.Telemetry.SourceLinkedSetForNonDevelopment = new(b.Config.Bundle.Mode != config.Development) if b.Config.Bundle.Mode != config.Development { diags = diags.Append( diff --git a/bundle/config/mutator/collect_escape_telemetry.go b/bundle/config/mutator/collect_escape_telemetry.go index b24922bb5b3..f8d49e60329 100644 --- a/bundle/config/mutator/collect_escape_telemetry.go +++ b/bundle/config/mutator/collect_escape_telemetry.go @@ -50,16 +50,16 @@ func (*collectEscapeTelemetry) Apply(ctx context.Context, b *bundle.Bundle) diag } if hasDoubleDollarBrace { - b.Metrics.SetBoolValue("config_has_double_dollar_brace", true) + b.Telemetry.ConfigHasDoubleDollarBrace = true } if hasDoubleDollar { - b.Metrics.SetBoolValue("config_has_double_dollar", true) + b.Telemetry.ConfigHasDoubleDollar = true } if hasBackslashDollarBrace { - b.Metrics.SetBoolValue("config_has_backslash_dollar_brace", true) + b.Telemetry.ConfigHasBackslashDollarBrace = true } if hasBackslashDollar { - b.Metrics.SetBoolValue("config_has_backslash_dollar", true) + b.Telemetry.ConfigHasBackslashDollar = true } return nil diff --git a/bundle/config/mutator/collect_escape_telemetry_test.go b/bundle/config/mutator/collect_escape_telemetry_test.go index 90bc259704e..533ac39940a 100644 --- a/bundle/config/mutator/collect_escape_telemetry_test.go +++ b/bundle/config/mutator/collect_escape_telemetry_test.go @@ -93,7 +93,7 @@ func TestCollectEscapeTelemetry(t *testing.T) { diags := bundle.Apply(t.Context(), b, mutator.CollectEscapeTelemetry()) require.Empty(t, diags) - assert.Equal(t, tt.expected, b.Metrics.BoolValues) + assert.Equal(t, tt.expected, b.Telemetry.BoolValues()) }) } } diff --git a/bundle/config/mutator/mark_select_used.go b/bundle/config/mutator/mark_select_used.go index 168eb59f396..cc1cf0fe353 100644 --- a/bundle/config/mutator/mark_select_used.go +++ b/bundle/config/mutator/mark_select_used.go @@ -4,7 +4,6 @@ import ( "context" "github.com/databricks/cli/bundle" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/libs/diag" ) @@ -26,7 +25,7 @@ func (m *markSelectUsed) Name() string { func (m *markSelectUsed) Apply(_ context.Context, b *bundle.Bundle) diag.Diagnostics { if len(b.Select) > 0 { - b.Metrics.SetBoolValue(metrics.SelectUsed, true) + b.Telemetry.SelectUsed = true } return nil } diff --git a/bundle/config/mutator/mark_select_used_test.go b/bundle/config/mutator/mark_select_used_test.go index b2da87c681d..361a7450a5d 100644 --- a/bundle/config/mutator/mark_select_used_test.go +++ b/bundle/config/mutator/mark_select_used_test.go @@ -7,8 +7,6 @@ import ( "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/mutator" "github.com/databricks/cli/bundle/config/resources" - "github.com/databricks/cli/bundle/metrics" - "github.com/databricks/cli/libs/telemetry/protos" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -27,7 +25,7 @@ func TestMarkSelectUsed_Set(t *testing.T) { b.Select = []string{"my_job"} diags := bundle.Apply(t.Context(), b, mutator.MarkSelectUsed()) require.NoError(t, diags.Error()) - assert.Contains(t, b.Metrics.BoolValues, protos.BoolMapEntry{Key: metrics.SelectUsed, Value: true}) + assert.True(t, b.Telemetry.SelectUsed) } // TestMarkSelectUsed_Unset checks that the flag is left unset when --select is not @@ -36,5 +34,5 @@ func TestMarkSelectUsed_Unset(t *testing.T) { b := &bundle.Bundle{} diags := bundle.Apply(t.Context(), b, mutator.MarkSelectUsed()) require.NoError(t, diags.Error()) - assert.Empty(t, b.Metrics.BoolValues) + assert.False(t, b.Telemetry.SelectUsed) } diff --git a/bundle/config/mutator/python/python_mutator.go b/bundle/config/mutator/python/python_mutator.go index 757ab50e0fb..6b4a116076e 100644 --- a/bundle/config/mutator/python/python_mutator.go +++ b/bundle/config/mutator/python/python_mutator.go @@ -351,6 +351,11 @@ func (m *pythonMutator) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagno return mutateDiags } + // Record the Python resources as written, before their defaults are filled in. + if err := markUserResources(b, result.AddedResources); err != nil { + return mutateDiags.Extend(diag.FromErr(err)) + } + resourcemutator.NormalizeAndInitializeResources(ctx, b, result.AddedResources) if logdiag.HasError(ctx) { return mutateDiags @@ -360,6 +365,23 @@ func (m *pythonMutator) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagno return mutateDiags } +// markUserResources records the resources added by Python in the bundle +// bitmap, as Python wrote them. +func markUserResources(b *bundle.Bundle, added resourcemutator.ResourceKeySet) error { + for _, key := range added.ToArray() { + v, err := dyn.GetByPath(b.Config.Value(), dyn.NewPath(dyn.Key("resources"), dyn.Key(key.Type), dyn.Key(key.Name))) + if err != nil { + return err + } + b.Bitmap.Mark(dyn.V(map[string]dyn.Value{ + "resources": dyn.V(map[string]dyn.Value{ + key.Type: dyn.V(map[string]dyn.Value{key.Name: v}), + }), + })) + } + return nil +} + // createCacheDir returns the directory for input/output files of the Python subprocess, and a cleanup function. func createCacheDir(ctx context.Context) (string, func(), error) { // b.LocalStateDir doesn't work because target isn't yet selected diff --git a/bundle/config/mutator/python/python_mutator_test.go b/bundle/config/mutator/python/python_mutator_test.go index 8e1b3369897..5f2d3fa6b83 100644 --- a/bundle/config/mutator/python/python_mutator_test.go +++ b/bundle/config/mutator/python/python_mutator_test.go @@ -20,6 +20,7 @@ import ( "github.com/databricks/cli/libs/dyn" "github.com/databricks/cli/bundle" + "github.com/databricks/cli/bundle/bitmap" "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/internal/testutil" "github.com/databricks/cli/libs/cmdio" @@ -121,8 +122,15 @@ workspace: { current_user: { userName: test }}`) assert.Equal(t, "pipeline_0", pipeline0.Name) } + // The added resources are recorded in the bitmap; pipelines exist only in Python. + bits, err := b.Bitmap.Bits(struct{}{}) + require.NoError(t, err) + text := bitmap.Text(bitmap.EmbeddedSchema(), bits, bitmap.ContextFullBundle) + assert.Contains(t, text, "1 resources.pipelines") + assert.Contains(t, text, "1 resources.pipelines.*.name") + // output of locations.json should be applied to underlying dyn.Value - err := b.Config.Mutate(func(v dyn.Value) (dyn.Value, error) { + err = b.Config.Mutate(func(v dyn.Value) (dyn.Value, error) { // location is databricks.yml, because output contains resource as-is jobName0, err := dyn.GetByPath(v, dyn.MustPathFromString("resources.jobs.job0.name")) require.NoError(t, err) @@ -601,9 +609,13 @@ func loadYaml(name, content string) *bundle.Bundle { panic(diag.Error()) } - return &bundle.Bundle{ + // Initialize records the loaded config in the bitmap before the Python mutator runs. + b := &bundle.Bundle{ Config: *v, + Bitmap: bitmap.NewBuilder(bitmap.EmbeddedSchema()), } + b.Bitmap.Mark(v.Value()) + return b } func withFakeVEnv(t *testing.T, venvPath string) { diff --git a/bundle/config/mutator/resolve_variable_references.go b/bundle/config/mutator/resolve_variable_references.go index a5e0d3bf086..ccfce59ef69 100644 --- a/bundle/config/mutator/resolve_variable_references.go +++ b/bundle/config/mutator/resolve_variable_references.go @@ -205,7 +205,7 @@ func (m *resolveVariableReferences) Apply(ctx context.Context, b *bundle.Bundle) } if m.artifactsReferenceUsed { - b.Metrics.SetBoolValue("artifacts_reference_used", true) + b.Telemetry.ArtifactsReferenceUsed = true } return diags diff --git a/bundle/config/mutator/resourcemutator/apply_presets.go b/bundle/config/mutator/resourcemutator/apply_presets.go index 2c20366f5fc..c35a4edb98f 100644 --- a/bundle/config/mutator/resourcemutator/apply_presets.go +++ b/bundle/config/mutator/resourcemutator/apply_presets.go @@ -9,7 +9,6 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/config" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/libs/diag" "github.com/databricks/cli/libs/textutil" "github.com/databricks/databricks-sdk-go/service/catalog" @@ -47,7 +46,7 @@ func (m *applyPresets) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnos t := b.Config.Presets prefix := t.NamePrefix - b.Metrics.AddBoolValue(metrics.PresetsNamePrefixIsSet, prefix != "") + b.Telemetry.PresetsNamePrefixIsSet = new(prefix != "") tags := toTagArray(t.Tags) diff --git a/bundle/config/mutator/resourcemutator/run_as.go b/bundle/config/mutator/resourcemutator/run_as.go index 0a6943cf3f1..e4d8dcb7587 100644 --- a/bundle/config/mutator/resourcemutator/run_as.go +++ b/bundle/config/mutator/resourcemutator/run_as.go @@ -227,10 +227,10 @@ func setPipelineOwnersToRunAsIdentity(b *bundle.Bundle) { func (m *setRunAs) Apply(_ context.Context, b *bundle.Bundle) diag.Diagnostics { // Track the use of the legacy run_as mode. - b.Metrics.AddBoolValue("experimental.use_legacy_run_as", b.Config.Experimental != nil && config.IsExplicitlyEnabled(b.Config.Experimental.UseLegacyRunAs)) + b.Telemetry.UseLegacyRunAs = new(b.Config.Experimental != nil && config.IsExplicitlyEnabled(b.Config.Experimental.UseLegacyRunAs)) // Track whether top level run_as is set. - b.Metrics.AddBoolValue("run_as_set", b.Config.Value().Get("run_as").Kind() != dyn.KindInvalid) + b.Telemetry.RunAsSet = new(b.Config.Value().Get("run_as").Kind() != dyn.KindInvalid) // Mutator is a no-op if run_as is not specified in the bundle if b.Config.Value().Get("run_as").Kind() == dyn.KindInvalid { diff --git a/bundle/config/validate/tf_only_references.go b/bundle/config/validate/tf_only_references.go index 3603b6f4a7f..a9e27e1d69c 100644 --- a/bundle/config/validate/tf_only_references.go +++ b/bundle/config/validate/tf_only_references.go @@ -47,7 +47,7 @@ func (m *tfOnlyReferences) Apply(_ context.Context, b *bundle.Bundle) diag.Diagn }) if len(diags) > 0 { - b.Metrics.AddBoolValue("has_tf_only_references", true) + b.Telemetry.HasTfOnlyReferences = true } return diags diff --git a/bundle/metrics/metrics.go b/bundle/metrics/metrics.go index f5fcb82fb1e..efa62ffe820 100644 --- a/bundle/metrics/metrics.go +++ b/bundle/metrics/metrics.go @@ -1,127 +1,11 @@ package metrics -const ( - ExperimentalPythonWheelWrapperIsSet = "python_wheel_wrapper_is_set" - ArtifactDynamicVersionIsSet = "artifact_dynamic_version_is_set" - ArtifactBuildCommandIsSet = "artifact_build_command_is_set" - ArtifactFilesIsSet = "artifact_files_is_set" - PresetsNamePrefixIsSet = "presets_name_prefix_is_set" - AppLifecycleStarted = "app_lifecycle_started" - ClusterLifecycleStarted = "cluster_lifecycle_started" - DeploymentHistoryEnabled = "deployment_history_enabled" - SqlWarehouseLifecycleStarted = "sql_warehouse_lifecycle_started" - SelectUsed = "select_used" - - // Whether the deploy registered an immutable snapshot. Derived from the snapshot - // resource, not from experimental.immutable_folder: the flag may change, and the - // resource is what the deploy actually uploads. - ImmutableSnapshotUsed = "immutable_snapshot_used" - - // Key under which the snapshot upload duration is reported in - // bundle_mutator_execution_time_ms, next to files.(upload) so the two can be - // compared. Covers creating the snapshot resource (the upload plus recording it in - // state), not building the zip, which is snapshot.(snapshotUpload). Absent when no - // snapshot was uploaded. It lacks the parentheses of a mutator name because it is - // not a mutator. - SnapshotUploadDuration = "snapshot.upload" - - // Outcome of an automatic migration of terraform state to the direct engine. - // - migrate_error: state conversion itself errored. - // - migrate_commit_error: the state was converted, but committing it - // (renaming files / pushing to workspace) failed. - // - migrate_warnings: the conversion emitted warnings (e.g. resources the direct engine can't represent). - DirectMigrateError = "direct_migrate_error" - DirectMigrateCommitError = "direct_migrate_commit_error" - DirectMigrateWarnings = "direct_migrate_warnings" - // True when the post-convert plan check failed; the migration was not committed. - DirectMigratePlanError = "direct_migrate_plan_error" - // True when the migrated state's first plan would recreate (destroy + create) an - // existing resource. The migration still commits; the recreate is a genuine pending - // change gated by the deploy's --auto-approve, and this only records how often it happens. - DirectMigrateRecreatePlanned = "direct_migrate_recreate_planned" - - // Recorded when an automatic post-deploy migration to the direct engine - // actually ran (state was rewritten). Exactly one of the three keys is true; - // all are absent when auto-migration did not run. If both config and env - // set direct, bundle.engine wins per ValidateEngineSetting, so via_config - // covers the "durable opt-in" population and via_env covers the - // "env-var only" population. - // - via_config: bundle.engine = "direct" was set in the bundle config. - // - via_env: only DATABRICKS_BUNDLE_ENGINE=direct was set. - // - via_default: neither was set, so the migration came from the default. - // This is the population that did not ask for anything. - DirectAutoMigrateViaConfig = "direct_migrated_via_config" - DirectAutoMigrateViaEnv = "direct_migrated_via_env" - DirectAutoMigrateViaDefault = "direct_migrated_via_default" - - // Whether the (deprecated) terraform engine was explicitly opted into, and via - // which source. Independent: both can be present when config and env both - // request terraform. Emitted only when true; absence means "not opted in via - // this source", so the population still on terraform can be sliced by source. - // - engine_terraform_config: bundle.engine = "terraform" in the bundle config. - // - engine_terraform_env: DATABRICKS_BUNDLE_ENGINE=terraform in the environment. - EngineTerraformConfig = "engine_terraform_config" - EngineTerraformEnv = "engine_terraform_env" - - // Whether workspace.state_path is under /Workspace/Shared. - StatePathIsShared = "state_path_is_shared" - - // Whether this deploy is compatible with an automatic migration of the deployment - // state to a dedicated state storage service (DMS). Deploying a bundle requires - // write access (CAN_EDIT or higher) to the state folder; after migration that is - // governed by the permissions on the deployment object instead. - // - // When the bundle has no permissions section, the migration can mirror the state - // folder's ACLs onto the deployment (CAN_EDIT -> CAN_EDIT, CAN_MANAGE -> - // CAN_MANAGE), preserving everyone's access wherever the state lives. When a - // permissions section is set, the migration applies exactly those permissions, so - // anyone with write access to the state folder who is not declared with - // CAN_MANAGE would lose the ability to deploy. - // - // Exactly one of the three keys below is recorded per deploy: - // - auto: no permissions section (folder ACLs are mirrored), or every principal - // with write access to the state folder is declared. - // - only_self_undeclared: a permissions section is set and the only principal - // with undeclared write access is the deploying user. The migration - // grants the deploying user CAN_MANAGE on the deployment object, so this - // is auto-migratable if we choose to preserve that grant on future - // deploys. Recorded separately to measure how common this case is. - // - not: a permissions section is set and the state folder has undeclared write - // access from a principal other than the deploying user. - DMSCompatAuto = "dms_compat_auto" - DMSCompatOnlySelfUndeclared = "dms_compat_only_self_undeclared" - DMSCompatNot = "dms_compat_not" - - // Breakdown dimensions recorded on every deploy alongside the verdict above, so the - // DMS auto-migration population can be sliced without inferring it from the verdict. - // Each is an independent boolean. - - // Whether a top-level permissions section is set. The no-permissions case is always - // auto-migration compatible (folder ACLs are mirrored), so this separates the two - // populations that both land on dms_compat_auto. - PermissionsSectionSet = "permissions_section_set" - - // Where the deployment state folder lives. Exactly one of StatePathIsShared, - // StatePathInDeployerHome, StatePathInOtherUserHome, and StatePathOther is true per - // deploy. StatePathOther is any other /Workspace folder (not a user home or shared). - StatePathInDeployerHome = "state_path_in_deployer_home" - StatePathInOtherUserHome = "state_path_in_other_user_home" - StatePathOther = "state_path_other" - - // Which principal types have undeclared write access to the state folder — the - // access an auto-migration governed by the permissions section would drop. These can - // co-occur; all false when the deploy is auto-migration compatible. - DMSUndeclaredDeployingUser = "dms_undeclared_deploying_user" - DMSUndeclaredOtherUser = "dms_undeclared_other_user" - DMSUndeclaredServicePrincipal = "dms_undeclared_service_principal" - DMSUndeclaredGroup = "dms_undeclared_group" - - // Task-type usage is recorded generically at deploy as one "has_" key - // per task type present in the bundle (e.g. has_notebook_task, has_ai_runtime_task); - // see collectTaskTypes in bundle/phases. The two keys below are extra - // ai_runtime_task-specific dimensions, emitted only when the bundle declares an - // ai_runtime_task, so a false value means "has an ai_runtime_task, but it is not - // scheduled / not multi-task". GPU type and count are intentionally not recorded here. - AiRuntimeTaskScheduled = "ai_runtime_task_scheduled" - AiRuntimeTaskMultitask = "ai_runtime_task_multitask" -) +// Boolean telemetry keys are declared as `metric` tags on bundle.Telemetry. + +// Key under which the snapshot upload duration is reported in +// bundle_mutator_execution_time_ms, next to files.(upload) so the two can be +// compared. Covers creating the snapshot resource (the upload plus recording it in +// state), not building the zip, which is snapshot.(snapshotUpload). Absent when no +// snapshot was uploaded. It lacks the parentheses of a mutator name because it is +// not a mutator. +const SnapshotUploadDuration = "snapshot.upload" diff --git a/bundle/metrics/track_used_compute.go b/bundle/metrics/track_used_compute.go index 1f3bf051dc0..d62aa68e3db 100644 --- a/bundle/metrics/track_used_compute.go +++ b/bundle/metrics/track_used_compute.go @@ -47,9 +47,9 @@ func (c *trackUsedCompute) Apply(ctx context.Context, b *bundle.Bundle) diag.Dia } } - b.Metrics.AddBoolValue("has_serverless_compute", hasServerlessCompute) - b.Metrics.AddBoolValue("has_classic_job_compute", hasClassicJobCompute) - b.Metrics.AddBoolValue("has_classic_interactive_compute", hasClassicInteractiveCompute) + b.Telemetry.HasServerlessCompute = new(hasServerlessCompute) + b.Telemetry.HasClassicJobCompute = new(hasClassicJobCompute) + b.Telemetry.HasClassicInteractiveCompute = new(hasClassicInteractiveCompute) return nil } diff --git a/bundle/permissions/workspace_root.go b/bundle/permissions/workspace_root.go index d4f3ee173c7..c9a6b0b4146 100644 --- a/bundle/permissions/workspace_root.go +++ b/bundle/permissions/workspace_root.go @@ -11,7 +11,6 @@ import ( "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/resources" "github.com/databricks/cli/bundle/libraries" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/bundle/paths" "github.com/databricks/cli/libs/diag" "github.com/databricks/databricks-sdk-go/service/workspace" @@ -163,16 +162,16 @@ func recordPermissionMetrics(b *bundle.Bundle, stateFolderPerms *WorkspacePathPe isShared := libraries.IsWorkspaceSharedPath(statePath) owner, underUserHome := userHomeOwner(statePath) - b.Metrics.SetBoolValue(metrics.StatePathIsShared, isShared) - b.Metrics.SetBoolValue(metrics.PermissionsSectionSet, len(b.Config.Permissions) > 0) + b.Telemetry.StatePathIsShared = new(isShared) + b.Telemetry.PermissionsSectionSet = new(len(b.Config.Permissions) > 0) // userHomeOwner yields a non-empty owner whenever underUserHome is true, so the two // home flags are exact complements: an unresolved deployer ("") never equals the // owner and falls into the other-user bucket. StatePathOther covers any /Workspace // folder that is neither shared nor a user home. - b.Metrics.SetBoolValue(metrics.StatePathInDeployerHome, underUserHome && owner == deployer) - b.Metrics.SetBoolValue(metrics.StatePathInOtherUserHome, underUserHome && owner != deployer) - b.Metrics.SetBoolValue(metrics.StatePathOther, !isShared && !underUserHome) + b.Telemetry.StatePathInDeployerHome = new(underUserHome && owner == deployer) + b.Telemetry.StatePathInOtherUserHome = new(underUserHome && owner != deployer) + b.Telemetry.StatePathOther = new(!isShared && !underUserHome) // stateFolderPerms is nil when no permissions are declared, in which case there are // no undeclared writers (the migration mirrors the folder's ACLs). @@ -181,25 +180,25 @@ func recordPermissionMetrics(b *bundle.Bundle, stateFolderPerms *WorkspacePathPe undeclared = stateFolderPerms.UndeclaredWriters(b.Config.Permissions) } self, otherUser, servicePrincipal, group := undeclaredWriterTypes(undeclared, deployer) - b.Metrics.SetBoolValue(metrics.DMSUndeclaredDeployingUser, self) - b.Metrics.SetBoolValue(metrics.DMSUndeclaredOtherUser, otherUser) - b.Metrics.SetBoolValue(metrics.DMSUndeclaredServicePrincipal, servicePrincipal) - b.Metrics.SetBoolValue(metrics.DMSUndeclaredGroup, group) + b.Telemetry.DMSUndeclaredDeployingUser = new(self) + b.Telemetry.DMSUndeclaredOtherUser = new(otherUser) + b.Telemetry.DMSUndeclaredServicePrincipal = new(servicePrincipal) + b.Telemetry.DMSUndeclaredGroup = new(group) - // Emit exactly one of the auto-migration verdict keys. - b.Metrics.SetBoolValue(autoMigrationVerdict(b, stateFolderPerms, undeclared), true) + // Set exactly one of the auto-migration verdict flags. + *autoMigrationVerdict(b, stateFolderPerms, undeclared) = true } -// autoMigrationVerdict returns the metric key describing whether this deploy is +// autoMigrationVerdict returns the telemetry flag describing whether this deploy is // compatible with an automatic migration of the deployment state to a dedicated // state storage service. undeclared is the state folder's undeclared writers (empty -// when no permissions are declared). See metrics.DMSCompatAuto. -func autoMigrationVerdict(b *bundle.Bundle, stateFolderPerms *WorkspacePathPermissions, undeclared []resources.Permission) string { +// when no permissions are declared). See bundle.Telemetry.DMSCompatAuto. +func autoMigrationVerdict(b *bundle.Bundle, stateFolderPerms *WorkspacePathPermissions, undeclared []resources.Permission) *bool { // No permissions section: the migration mirrors the state folder's ACLs onto the // deployment (CAN_EDIT -> CAN_EDIT, CAN_MANAGE -> CAN_MANAGE), preserving // everyone's access wherever the state lives. if len(b.Config.Permissions) == 0 { - return metrics.DMSCompatAuto + return &b.Telemetry.DMSCompatAuto } // A permissions section is set. The state folder is always one of the synced bundle @@ -207,7 +206,7 @@ func autoMigrationVerdict(b *bundle.Bundle, stateFolderPerms *WorkspacePathPermi // stateFolderPerms is non-nil here. Guard against nil regardless so a telemetry // computation can never panic the deploy. if stateFolderPerms == nil { - return metrics.DMSCompatNot + return &b.Telemetry.DMSCompatNot } // The migration applies exactly the declared permissions to the deployment, so @@ -215,14 +214,14 @@ func autoMigrationVerdict(b *bundle.Bundle, stateFolderPerms *WorkspacePathPermi // ability to deploy. switch { case len(undeclared) == 0: - return metrics.DMSCompatAuto + return &b.Telemetry.DMSCompatAuto case len(undeclared) == 1 && isDeployingUser(b, undeclared[0]): // The deploying user is the only undeclared writer. The migration grants the // deploying user CAN_MANAGE on the deployment object, so this deploy is // auto-migratable if we choose to preserve that grant on future deploys. - return metrics.DMSCompatOnlySelfUndeclared + return &b.Telemetry.DMSCompatOnlySelfUndeclared default: - return metrics.DMSCompatNot + return &b.Telemetry.DMSCompatNot } } diff --git a/bundle/phases/initialize.go b/bundle/phases/initialize.go index 8c5a68d3130..ab5a837fb4f 100644 --- a/bundle/phases/initialize.go +++ b/bundle/phases/initialize.go @@ -8,6 +8,7 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/apps" "github.com/databricks/cli/bundle/artifacts" + "github.com/databricks/cli/bundle/bitmap" "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/mutator" pythonmutator "github.com/databricks/cli/bundle/config/mutator/python" @@ -25,6 +26,11 @@ import ( func Initialize(ctx context.Context, b *bundle.Bundle) { log.Info(ctx, "Phase: initialize") + // Record the config before any mutator below fills in defaults. The Python + // mutator adds the resources Python defines. + b.Bitmap = bitmap.NewBuilder(bitmap.EmbeddedSchema()) + b.Bitmap.Mark(b.Config.Value()) + bundle.ApplySeqContext(ctx, b, // Reads (dynamic): resources.internal_immutable_snapshots (and other internal keys) // Warns and removes any internal resource fields set by the user. @@ -279,4 +285,8 @@ func Initialize(ctx context.Context, b *bundle.Bundle) { // Executes the post_init script hook defined in the bundle configuration scripts.Execute(config.ScriptPostInit), ) + + // Variables have their final values now; record them for the fields that + // were set through a ${var.*} reference. + b.Bitmap.ResolveVariables(b.Config.Value()) } diff --git a/bundle/phases/telemetry.go b/bundle/phases/telemetry.go index 5442c5fc16a..b6f1e1a9602 100644 --- a/bundle/phases/telemetry.go +++ b/bundle/phases/telemetry.go @@ -257,8 +257,8 @@ func fromWorkspaceFolder(ctx context.Context, b *bundle.Bundle) bool { // LogDeployTelemetry logs a telemetry event for a bundle deploy command. func LogDeployTelemetry(ctx context.Context, b *bundle.Bundle, errMsg string) { errMsg = telemetry.ScrubErrorMessage(errMsg) - b.Metrics.SetBoolValue(metrics.DeploymentHistoryEnabled, b.DeploymentBundle.StateDB.RecordsHistory()) - b.Metrics.SetBoolValue(metrics.ImmutableSnapshotUsed, len(b.Config.Resources.Snapshots) > 0) + b.Telemetry.DeploymentHistoryEnabled = new(b.DeploymentBundle.StateDB.RecordsHistory()) + b.Telemetry.ImmutableSnapshotUsed = new(len(b.Config.Resources.Snapshots) > 0) if d, ok := b.DeploymentBundle.DeployDurations.Load(resources.SnapshotKey); ok { b.Metrics.ExecutionTimes = append(b.Metrics.ExecutionTimes, protos.IntMapEntry{ Key: metrics.SnapshotUploadDuration, @@ -337,33 +337,32 @@ func LogDeployTelemetry(ctx context.Context, b *bundle.Bundle, errMsg string) { for _, app := range b.Config.Resources.Apps { if app != nil && app.Lifecycle != nil && app.Lifecycle.Started != nil { - b.Metrics.SetBoolValue(metrics.AppLifecycleStarted, *app.Lifecycle.Started) - break + b.Telemetry.AppLifecycleStarted.SetBool(*app.Lifecycle.Started) } } for _, cluster := range b.Config.Resources.Clusters { if cluster != nil && cluster.Lifecycle != nil && cluster.Lifecycle.Started != nil { - b.Metrics.SetBoolValue(metrics.ClusterLifecycleStarted, *cluster.Lifecycle.Started) - break + b.Telemetry.ClusterLifecycleStarted.SetBool(*cluster.Lifecycle.Started) } } for _, warehouse := range b.Config.Resources.SqlWarehouses { if warehouse != nil && warehouse.Lifecycle != nil && warehouse.Lifecycle.Started != nil { - b.Metrics.SetBoolValue(metrics.SqlWarehouseLifecycleStarted, *warehouse.Lifecycle.Started) - break + b.Telemetry.SqlWarehouseLifecycleStarted.SetBool(*warehouse.Lifecycle.Started) } } // Record which task types the bundle uses (has_ per type present), // plus the ai_runtime_task-specific scheduling / multi-task dimensions. + // The has_ keys are dynamic, so they bypass b.Telemetry; the bitmap + // records each task type as a config field (resources.jobs.*.tasks[*]._task). for _, key := range collectTaskTypes(b.Config.Resources.Jobs) { b.Metrics.SetBoolValue(key, true) } if airPresent, airScheduled, airMultitask := aiRuntimeTaskMetrics(b.Config.Resources.Jobs); airPresent { - b.Metrics.SetBoolValue(metrics.AiRuntimeTaskScheduled, airScheduled) - b.Metrics.SetBoolValue(metrics.AiRuntimeTaskMultitask, airMultitask) + b.Telemetry.AiRuntimeTaskScheduled = new(airScheduled) + b.Telemetry.AiRuntimeTaskMultitask = new(airMultitask) } // Record whether the removed terraform engine was still requested (the command @@ -372,10 +371,10 @@ func LogDeployTelemetry(ctx context.Context, b *bundle.Bundle, errMsg string) { // already failed the command upstream via ValidateEngineSetting, so treating the // FromEnv error as "not terraform" here cannot mask a real terraform request. if b.Config.Bundle.Engine == engine.EngineTerraform { - b.Metrics.SetBoolValue(metrics.EngineTerraformConfig, true) + b.Telemetry.EngineTerraformConfig = true } if envEngine, _ := engine.FromEnv(ctx); envEngine == engine.EngineTerraform { - b.Metrics.SetBoolValue(metrics.EngineTerraformEnv, true) + b.Telemetry.EngineTerraformEnv = true } // If the bundle UUID is not set, we use a default 0 value. @@ -482,7 +481,7 @@ func LogDeployTelemetry(ctx context.Context, b *bundle.Bundle, errMsg string) { UploadFileSizes: uploadFileSizeHistogram(uploadFileSizers), TargetCount: b.Metrics.TargetCount, WorkspaceArtifactPathType: artifactPathType, - BoolValues: b.Metrics.BoolValues, + BoolValues: append(b.Telemetry.BoolValues(), b.Metrics.BoolValues...), LocalCacheMeasurementsMs: b.Metrics.LocalCacheMeasurementsMs, VariableCount: int64(variableCount), ComplexVariableCount: complexVariableCount, diff --git a/bundle/statemgmt/direct_migration.go b/bundle/statemgmt/direct_migration.go index 4fefd8504ac..de8a4207806 100644 --- a/bundle/statemgmt/direct_migration.go +++ b/bundle/statemgmt/direct_migration.go @@ -18,7 +18,6 @@ import ( "github.com/databricks/cli/bundle/direct" "github.com/databricks/cli/bundle/direct/dresources" "github.com/databricks/cli/bundle/direct/dstate" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/bundle/migrate" "github.com/databricks/cli/libs/cmdio" "github.com/databricks/cli/libs/dyn" @@ -54,7 +53,7 @@ func Migrate(ctx context.Context, b *bundle.Bundle) (bool, error) { _, localTerraformPath := b.StateFilenameTerraform(ctx) tfState, err := migrate.ParseTFStateFull(ctx, localTerraformPath) if err != nil { - b.Metrics.SetBoolValue(metrics.DirectMigrateError, true) + b.Telemetry.DirectMigrateError = true return false, fmt.Errorf("parsing terraform state: %w%s", err, migrationFailedHint) } if tfState == nil { @@ -73,10 +72,10 @@ func Migrate(ctx context.Context, b *bundle.Bundle) (bool, error) { }() } if hasWarnings { - b.Metrics.SetBoolValue(metrics.DirectMigrateWarnings, true) + b.Telemetry.DirectMigrateWarnings = true } if err != nil { - b.Metrics.SetBoolValue(metrics.DirectMigrateError, true) + b.Telemetry.DirectMigrateError = true return false, fmt.Errorf("converting terraform state to the direct engine: %w%s", err, migrationFailedHint) } @@ -84,7 +83,7 @@ func Migrate(ctx context.Context, b *bundle.Bundle) (bool, error) { // record the recreate metric. plan, err := checkPlanOnTempState(ctx, b, tempStatePath, cfg) if err != nil { - b.Metrics.SetBoolValue(metrics.DirectMigratePlanError, true) + b.Telemetry.DirectMigratePlanError = true return false, fmt.Errorf("the migrated state failed its plan check: %w%s", err, migrationFailedHint) } @@ -92,7 +91,7 @@ func Migrate(ctx context.Context, b *bundle.Bundle) (bool, error) { // such a recreate is a genuine pending config change (the same one terraform would apply), and // the command's approval flow gates it behind --auto-approve exactly like any other recreate. if recreated := recreatedResources(plan); len(recreated) > 0 { - b.Metrics.SetBoolValue(metrics.DirectMigrateRecreatePlanned, true) + b.Telemetry.DirectMigrateRecreatePlanned = true log.Infof(ctx, "migration to the direct engine will recreate %v; the command's approval gates this", recreated) } @@ -164,11 +163,11 @@ func CommitMigration(ctx context.Context, b *bundle.Bundle) { func recordAutoMigrateSource(ctx context.Context, b *bundle.Bundle) { switch { case b.Config.Bundle.Engine != engine.EngineNotSet: - b.Metrics.SetBoolValue(metrics.DirectAutoMigrateViaConfig, true) + b.Telemetry.DirectAutoMigrateViaConfig = true case env.Get(ctx, engine.EnvVar) != "": - b.Metrics.SetBoolValue(metrics.DirectAutoMigrateViaEnv, true) + b.Telemetry.DirectAutoMigrateViaEnv = true default: - b.Metrics.SetBoolValue(metrics.DirectAutoMigrateViaDefault, true) + b.Telemetry.DirectAutoMigrateViaDefault = true } } diff --git a/bundle/telemetry.go b/bundle/telemetry.go new file mode 100644 index 00000000000..fb5f30ffeed --- /dev/null +++ b/bundle/telemetry.go @@ -0,0 +1,207 @@ +package bundle + +import ( + "reflect" + + "github.com/databricks/cli/libs/telemetry/protos" +) + +// Telemetry holds the boolean flags reported with a deploy. It is the single +// source of the deploy event's bool_values (see BoolValues) and of the +// telemetry.* bits of the bundle bitmap (see bundle/bitmap). It lives on Bundle, +// not on the config, so users cannot set it. +// +// The field type says what was measured: +// - bool: a flag reported only when true; absence means "not seen". +// - *bool: a measured value; nil when the measurement did not run. +// - BoolSet: a measurement taken several times (e.g. once per artifact); +// each value it took is reported once. +// +// The `metric` tag is the key in bool_values. Fields have no json tags: the +// bitmap uses the Go field names (e.g. "telemetry.SelectUsed"). +// +// Not here: the has_ keys, which the bitmap already records as config +// fields (resources.jobs.*.tasks[*]._task), and the local.cache.* keys, +// which describe the local user cache rather than the bundle. Both are written +// to Metrics.BoolValues directly. +type Telemetry struct { + PythonWheelWrapperIsSet *bool `metric:"python_wheel_wrapper_is_set"` + ArtifactDynamicVersionIsSet BoolSet `metric:"artifact_dynamic_version_is_set"` + ArtifactBuildCommandIsSet BoolSet `metric:"artifact_build_command_is_set"` + ArtifactFilesIsSet BoolSet `metric:"artifact_files_is_set"` + PresetsNamePrefixIsSet *bool `metric:"presets_name_prefix_is_set"` + // The lifecycle.started values set across the resources of each type. + AppLifecycleStarted BoolSet `metric:"app_lifecycle_started"` + ClusterLifecycleStarted BoolSet `metric:"cluster_lifecycle_started"` + DeploymentHistoryEnabled *bool `metric:"deployment_history_enabled"` + SqlWarehouseLifecycleStarted BoolSet `metric:"sql_warehouse_lifecycle_started"` + SelectUsed bool `metric:"select_used"` + + // Whether the deploy registered an immutable snapshot. Derived from the snapshot + // resource, not from experimental.immutable_folder: the flag may change, and the + // resource is what the deploy actually uploads. + ImmutableSnapshotUsed *bool `metric:"immutable_snapshot_used"` + + // Outcome of an automatic migration of terraform state to the direct engine. + // - migrate_error: state conversion itself errored. + // - migrate_warnings: the conversion emitted warnings (e.g. resources the direct engine can't represent). + DirectMigrateError bool `metric:"direct_migrate_error"` + DirectMigrateWarnings bool `metric:"direct_migrate_warnings"` + // True when the post-convert plan check failed; the migration was not committed. + DirectMigratePlanError bool `metric:"direct_migrate_plan_error"` + // True when the migrated state's first plan would recreate (destroy + create) an + // existing resource. The migration still commits; the recreate is a genuine pending + // change gated by the deploy's --auto-approve, and this only records how often it happens. + DirectMigrateRecreatePlanned bool `metric:"direct_migrate_recreate_planned"` + + // Recorded when an automatic post-deploy migration to the direct engine + // actually ran (state was rewritten). Exactly one of the three keys is true; + // all are absent when auto-migration did not run. If both config and env + // set direct, bundle.engine wins per ValidateEngineSetting, so via_config + // covers the "durable opt-in" population and via_env covers the + // "env-var only" population. + // - via_config: bundle.engine = "direct" was set in the bundle config. + // - via_env: only DATABRICKS_BUNDLE_ENGINE=direct was set. + // - via_default: neither was set, so the migration came from the default. + // This is the population that did not ask for anything. + DirectAutoMigrateViaConfig bool `metric:"direct_migrated_via_config"` + DirectAutoMigrateViaEnv bool `metric:"direct_migrated_via_env"` + DirectAutoMigrateViaDefault bool `metric:"direct_migrated_via_default"` + + // Whether the (deprecated) terraform engine was explicitly opted into, and via + // which source. Independent: both can be present when config and env both + // request terraform. Emitted only when true; absence means "not opted in via + // this source", so the population still on terraform can be sliced by source. + // - engine_terraform_config: bundle.engine = "terraform" in the bundle config. + // - engine_terraform_env: DATABRICKS_BUNDLE_ENGINE=terraform in the environment. + EngineTerraformConfig bool `metric:"engine_terraform_config"` + EngineTerraformEnv bool `metric:"engine_terraform_env"` + + // Whether workspace.state_path is under /Workspace/Shared. + StatePathIsShared *bool `metric:"state_path_is_shared"` + + // Whether this deploy is compatible with an automatic migration of the deployment + // state to a dedicated state storage service (DMS). Deploying a bundle requires + // write access (CAN_EDIT or higher) to the state folder; after migration that is + // governed by the permissions on the deployment object instead. + // + // When the bundle has no permissions section, the migration can mirror the state + // folder's ACLs onto the deployment (CAN_EDIT -> CAN_EDIT, CAN_MANAGE -> + // CAN_MANAGE), preserving everyone's access wherever the state lives. When a + // permissions section is set, the migration applies exactly those permissions, so + // anyone with write access to the state folder who is not declared with + // CAN_MANAGE would lose the ability to deploy. + // + // Exactly one of the three keys below is recorded per deploy: + // - auto: no permissions section (folder ACLs are mirrored), or every principal + // with write access to the state folder is declared. + // - only_self_undeclared: a permissions section is set and the only principal + // with undeclared write access is the deploying user. The migration + // grants the deploying user CAN_MANAGE on the deployment object, so this + // is auto-migratable if we choose to preserve that grant on future + // deploys. Recorded separately to measure how common this case is. + // - not: a permissions section is set and the state folder has undeclared write + // access from a principal other than the deploying user. + DMSCompatAuto bool `metric:"dms_compat_auto"` + DMSCompatOnlySelfUndeclared bool `metric:"dms_compat_only_self_undeclared"` + DMSCompatNot bool `metric:"dms_compat_not"` + + // Breakdown dimensions recorded on every deploy alongside the verdict above, so the + // DMS auto-migration population can be sliced without inferring it from the verdict. + // Each is an independent boolean. + + // Whether a top-level permissions section is set. The no-permissions case is always + // auto-migration compatible (folder ACLs are mirrored), so this separates the two + // populations that both land on dms_compat_auto. + PermissionsSectionSet *bool `metric:"permissions_section_set"` + + // Where the deployment state folder lives. Exactly one of StatePathIsShared, + // StatePathInDeployerHome, StatePathInOtherUserHome, and StatePathOther is true per + // deploy. StatePathOther is any other /Workspace folder (not a user home or shared). + StatePathInDeployerHome *bool `metric:"state_path_in_deployer_home"` + StatePathInOtherUserHome *bool `metric:"state_path_in_other_user_home"` + StatePathOther *bool `metric:"state_path_other"` + + // Which principal types have undeclared write access to the state folder — the + // access an auto-migration governed by the permissions section would drop. These can + // co-occur; all false when the deploy is auto-migration compatible. + DMSUndeclaredDeployingUser *bool `metric:"dms_undeclared_deploying_user"` + DMSUndeclaredOtherUser *bool `metric:"dms_undeclared_other_user"` + DMSUndeclaredServicePrincipal *bool `metric:"dms_undeclared_service_principal"` + DMSUndeclaredGroup *bool `metric:"dms_undeclared_group"` + + // Task-type usage is recorded generically at deploy as one "has_" key + // per task type present in the bundle (e.g. has_notebook_task, has_ai_runtime_task); + // see collectTaskTypes in bundle/phases. The two keys below are extra + // ai_runtime_task-specific dimensions, emitted only when the bundle declares an + // ai_runtime_task, so a false value means "has an ai_runtime_task, but it is not + // scheduled / not multi-task". GPU type and count are intentionally not recorded here. + AiRuntimeTaskScheduled *bool `metric:"ai_runtime_task_scheduled"` + AiRuntimeTaskMultitask *bool `metric:"ai_runtime_task_multitask"` + + SkipArtifactCleanup *bool `metric:"skip_artifact_cleanup"` + SourceLinkedSetForNonDevelopment *bool `metric:"source_linked_set_for_non_development"` + ConfigHasDoubleDollarBrace bool `metric:"config_has_double_dollar_brace"` + ConfigHasDoubleDollar bool `metric:"config_has_double_dollar"` + ConfigHasBackslashDollarBrace bool `metric:"config_has_backslash_dollar_brace"` + ConfigHasBackslashDollar bool `metric:"config_has_backslash_dollar"` + ArtifactsReferenceUsed bool `metric:"artifacts_reference_used"` + UseLegacyRunAs *bool `metric:"experimental.use_legacy_run_as"` + RunAsSet *bool `metric:"run_as_set"` + HasTfOnlyReferences bool `metric:"has_tf_only_references"` + HasServerlessCompute *bool `metric:"has_serverless_compute"` + HasClassicJobCompute *bool `metric:"has_classic_job_compute"` + HasClassicInteractiveCompute *bool `metric:"has_classic_interactive_compute"` +} + +// BoolValues returns the flags as deploy-event entries, in field order: a true +// bool, the value of a non-nil *bool, and each value a BoolSet took. +func (t *Telemetry) BoolValues() []protos.BoolMapEntry { + var out []protos.BoolMapEntry + v := reflect.ValueOf(t).Elem() + for i := range v.NumField() { + key := v.Type().Field(i).Tag.Get("metric") + switch f := v.Field(i).Interface().(type) { + case bool: + if f { + out = append(out, protos.BoolMapEntry{Key: key, Value: true}) + } + case *bool: + if f != nil { + out = append(out, protos.BoolMapEntry{Key: key, Value: *f}) + } + case BoolSet: + for _, value := range f.Values() { + out = append(out, protos.BoolMapEntry{Key: key, Value: value}) + } + } + } + return out +} + +// BoolSet is a measurement that can be taken several times, e.g. once per +// artifact. It records which values it took: true, false, or both. +type BoolSet struct { //nolint:recvcheck // pointer receiver for SetBool, value for Values: reflection reads Telemetry by value + seenTrue, seenFalse bool +} + +// SetBool records that the measurement took value v. +func (s *BoolSet) SetBool(v bool) { + if v { + s.seenTrue = true + } else { + s.seenFalse = true + } +} + +// Values returns the values the measurement took, true before false. +func (s BoolSet) Values() []bool { + var values []bool + if s.seenTrue { + values = append(values, true) + } + if s.seenFalse { + values = append(values, false) + } + return values +} diff --git a/bundle/telemetry_test.go b/bundle/telemetry_test.go new file mode 100644 index 00000000000..a0b2105e904 --- /dev/null +++ b/bundle/telemetry_test.go @@ -0,0 +1,84 @@ +package bundle + +import ( + "reflect" + "testing" + + "github.com/databricks/cli/libs/telemetry/protos" + "github.com/stretchr/testify/assert" +) + +func TestTelemetryBoolValues(t *testing.T) { + for _, tc := range []struct { + name string + tm Telemetry + want []protos.BoolMapEntry + }{ + {"zero value reports nothing", Telemetry{}, nil}, + {"bool false is not reported", Telemetry{SelectUsed: false}, nil}, + {"bool true", Telemetry{SelectUsed: true}, []protos.BoolMapEntry{ + {Key: "select_used", Value: true}, + }}, + {"*bool nil is not reported", Telemetry{RunAsSet: nil}, nil}, + {"*bool false", Telemetry{RunAsSet: new(false)}, []protos.BoolMapEntry{ + {Key: "run_as_set", Value: false}, + }}, + {"*bool true", Telemetry{RunAsSet: new(true)}, []protos.BoolMapEntry{ + {Key: "run_as_set", Value: true}, + }}, + {"BoolSet unset is not reported", Telemetry{ArtifactFilesIsSet: boolSet()}, nil}, + {"BoolSet reports each value once, true first", Telemetry{ArtifactFilesIsSet: boolSet(false, true, false)}, []protos.BoolMapEntry{ + {Key: "artifact_files_is_set", Value: true}, + {Key: "artifact_files_is_set", Value: false}, + }}, + {"fields are reported in declaration order", Telemetry{RunAsSet: new(true), SelectUsed: true}, []protos.BoolMapEntry{ + {Key: "select_used", Value: true}, + {Key: "run_as_set", Value: true}, + }}, + } { + t.Run(tc.name, func(t *testing.T) { + assert.Equal(t, tc.want, tc.tm.BoolValues()) + }) + } +} + +// BoolValues and the bitmap skip fields of any other type, and an empty or +// duplicate key would be indistinguishable on the wire. +func TestTelemetryFields(t *testing.T) { + supported := []reflect.Type{reflect.TypeFor[bool](), reflect.TypeFor[*bool](), reflect.TypeFor[BoolSet]()} + keys := map[string]string{} + for _, f := range reflect.VisibleFields(reflect.TypeFor[Telemetry]()) { + assert.Contains(t, supported, f.Type, "field %s", f.Name) + key := f.Tag.Get("metric") + assert.NotEmpty(t, key, "field %s has no metric tag", f.Name) + if other, ok := keys[key]; ok { + assert.Fail(t, "duplicate metric key", "%q is used by %s and %s", key, other, f.Name) + } + keys[key] = f.Name + } +} + +func TestBoolSet(t *testing.T) { + for _, tc := range []struct { + name string + set []bool + want []bool + }{ + {"never set", nil, nil}, + {"true", []bool{true, true}, []bool{true}}, + {"false", []bool{false}, []bool{false}}, + {"both, true first", []bool{false, true}, []bool{true, false}}, + } { + t.Run(tc.name, func(t *testing.T) { + assert.Equal(t, tc.want, boolSet(tc.set...).Values()) + }) + } +} + +func boolSet(values ...bool) BoolSet { + var s BoolSet + for _, v := range values { + s.SetBool(v) + } + return s +} diff --git a/bundle/trampoline/python_wheel.go b/bundle/trampoline/python_wheel.go index e8138612dde..089771aeeda 100644 --- a/bundle/trampoline/python_wheel.go +++ b/bundle/trampoline/python_wheel.go @@ -10,7 +10,6 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/libraries" - "github.com/databricks/cli/bundle/metrics" "github.com/databricks/cli/libs/diag" "github.com/databricks/databricks-sdk-go/service/compute" "github.com/databricks/databricks-sdk-go/service/jobs" @@ -78,7 +77,7 @@ func TransformWheelTask() bundle.Mutator { func (transformWheelTask) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics { isEnabled := b.Config.Experimental != nil && config.IsExplicitlyEnabled(b.Config.Experimental.PythonWheelWrapper) - b.Metrics.AddBoolValue(metrics.ExperimentalPythonWheelWrapperIsSet, isEnabled) + b.Telemetry.PythonWheelWrapperIsSet = new(isEnabled) if !isEnabled { return nil } diff --git a/cmd/bundle/bitmap/bitmap.go b/cmd/bundle/bitmap/bitmap.go new file mode 100644 index 00000000000..bbeb4747c19 --- /dev/null +++ b/cmd/bundle/bitmap/bitmap.go @@ -0,0 +1,207 @@ +package bitmap + +import ( + "encoding/json" + "fmt" + "io" + "reflect" + "strings" + + "github.com/databricks/cli/bundle" + bundlebitmap "github.com/databricks/cli/bundle/bitmap" + "github.com/databricks/cli/cmd/bundle/utils" + "github.com/databricks/cli/cmd/root" + "github.com/spf13/cobra" +) + +// NewBitmapCommand returns the hidden "bitmap" command group. It exposes the +// bundle bitmap: a per-field presence map used for telemetry. See +// bundle/bitmap for the format and schema. +func NewBitmapCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "bitmap", + Short: "Inspect the bundle field bitmap used for telemetry", + Long: `The bundle bitmap encodes the presence of every bundle configuration field +as a single bit. Its schema is an ordered list of field paths derived from the +bundle configuration type and embedded into the CLI binary.`, + Hidden: true, + } + cmd.AddCommand(newSchemaCommand()) + cmd.AddCommand(newUpdateSchemaCommand()) + cmd.AddCommand(newBitmapCommand()) + cmd.AddCommand(newDecodeCommand()) + return cmd +} + +func newSchemaCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "schema", + Short: "Print the embedded bitmap schema, one field path per line", + Args: root.NoArgs, + } + cmd.RunE = func(cmd *cobra.Command, args []string) error { + return printLines(cmd.OutOrStdout(), bundlebitmap.EmbeddedSchema()) + } + return cmd +} + +func newUpdateSchemaCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "update-schema", + Short: "Append newly added fields to the embedded schema", + Long: `Walks the bundle configuration type and appends any fields not already in the +embedded schema, printing the merged schema. The schema is append-only: removed +fields are kept so that bit positions stay stable.`, + Args: root.NoArgs, + } + var validate bool + cmd.Flags().BoolVar(&validate, "validate", false, "Fail if the embedded schema is missing fields instead of printing the merged schema") + cmd.RunE = func(cmd *cobra.Command, args []string) error { + fresh, err := bundlebitmap.WalkSchema(reflect.TypeFor[bundle.Telemetry]()) + if err != nil { + return err + } + merged, added := bundlebitmap.Merge(bundlebitmap.EmbeddedSchema(), fresh) + if validate { + if len(added) > 0 { + return fmt.Errorf("embedded schema is out of date, %d field(s) missing:\n%s\nrun 'task generate-bitmap-schema' to update", len(added), strings.Join(added, "\n")) + } + return nil + } + return printLines(cmd.OutOrStdout(), merged) + } + return cmd +} + +// Values of the -o flag. +const ( + outputCompressed = "compressed" + outputText = "text" + outputJSON = "json" +) + +// outputFormat is the -o flag of the bitmap and decode commands. It shadows the +// global --output flag, which only accepts text and json. +type outputFormat string + +func (f *outputFormat) String() string { + return string(*f) +} + +func (f *outputFormat) Set(s string) error { + switch s { + case outputCompressed, outputText, outputJSON: + *f = outputFormat(s) + return nil + } + return fmt.Errorf("accepted values are %s, %s and %s", outputCompressed, outputText, outputJSON) +} + +func (f *outputFormat) Type() string { + return "format" +} + +const outputHelp = `output format: + compressed: base64 of the DEFLATE-compressed wire format + text: a "size=N context=C" header, then one " " line per + set field: "T" or "F" for a boolean field holding that value, "1" + for any other field; unset fields are omitted + json: size, context, and trees of the fields present ("presence") and of + the boolean fields seen holding "true" and "false"` + +func addOutputFlag(cmd *cobra.Command, output *outputFormat, def string) { + *output = outputFormat(def) + cmd.Flags().VarP(output, "output", "o", outputHelp) +} + +func newBitmapCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "bitmap", + Short: "Print the bitmap of the current bundle", + Args: root.NoArgs, + } + var output outputFormat + addOutputFlag(cmd, &output, outputCompressed) + cmd.RunE = func(cmd *cobra.Command, args []string) error { + bits, schema, err := loadBits(cmd) + if err != nil { + return err + } + return render(cmd.OutOrStdout(), output, schema, bits, bundlebitmap.ContextFullBundle) + } + return cmd +} + +func newDecodeCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "decode", + Short: "Decode a compressed bitmap read from stdin", + Long: "The input is the output of 'bundle bitmap bitmap'.", + Args: root.NoArgs, + } + var output outputFormat + addOutputFlag(cmd, &output, outputText) + cmd.RunE = func(cmd *cobra.Command, args []string) error { + encoded, err := io.ReadAll(cmd.InOrStdin()) + if err != nil { + return err + } + bits, context, err := bundlebitmap.Decode(strings.TrimSpace(string(encoded))) + if err != nil { + return err + } + if context != bundlebitmap.ContextFullBundle { + return fmt.Errorf("unsupported bitmap context %d", context) + } + // The schema is append-only, so an older bitmap decodes against a prefix of + // it; a newer one has bits this binary cannot name. + schema := bundlebitmap.EmbeddedSchema() + if len(bits) > len(schema) { + return fmt.Errorf("bitmap has %d bits but the schema has %d fields; decode it with a newer CLI", len(bits), len(schema)) + } + return render(cmd.OutOrStdout(), output, schema, bits, context) + } + return cmd +} + +func render(out io.Writer, output outputFormat, schema []string, bits []bool, context uint16) error { + switch output { + case outputCompressed: + encoded, err := bundlebitmap.Encode(bits, context) + if err != nil { + return err + } + return printLines(out, []string{encoded}) + case outputText: + return printLines(out, bundlebitmap.Text(schema, bits, context)) + case outputJSON: + data, err := json.MarshalIndent(bundlebitmap.ToJSON(schema, bits, context), "", " ") + if err != nil { + return err + } + return printLines(out, []string{string(data)}) + } + return fmt.Errorf("unknown output format %q", output) +} + +// loadBits loads the bundle and returns its bitmap against the embedded schema. +func loadBits(cmd *cobra.Command) ([]bool, []string, error) { + b, err := utils.ProcessBundle(cmd, utils.ProcessOptions{Validate: true}) + if err != nil { + return nil, nil, err + } + bits, err := b.Bitmap.Bits(b.Telemetry) + if err != nil { + return nil, nil, err + } + return bits, bundlebitmap.EmbeddedSchema(), nil +} + +func printLines(out io.Writer, lines []string) error { + for _, l := range lines { + if _, err := fmt.Fprintln(out, l); err != nil { + return err + } + } + return nil +} diff --git a/cmd/bundle/bundle.go b/cmd/bundle/bundle.go index d8334d38289..12702b10e22 100644 --- a/cmd/bundle/bundle.go +++ b/cmd/bundle/bundle.go @@ -1,6 +1,7 @@ package bundle import ( + "github.com/databricks/cli/cmd/bundle/bitmap" "github.com/databricks/cli/cmd/bundle/deployment" "github.com/spf13/cobra" ) @@ -40,6 +41,7 @@ Online documentation: https://docs.databricks.com/en/dev-tools/bundles/index.htm cmd.AddCommand(newOpenCommand()) cmd.AddCommand(newPlanCommand()) cmd.AddCommand(newConfigRemoteSyncCommand()) + cmd.AddCommand(bitmap.NewBitmapCommand()) return cmd } diff --git a/python/Taskfile.yml b/python/Taskfile.yml index 28595ae9cf5..45bf6027224 100644 --- a/python/Taskfile.yml +++ b/python/Taskfile.yml @@ -82,7 +82,10 @@ tasks: - | find databricks/bundles -type d -mindepth 1 -maxdepth 1 \ ! -path databricks/bundles/core \ + ! -path databricks/bundles/_bitmap \ -exec rm -rf {} \; + # _bitmap/ is the bundle bitmap decoder; its _schema.py comes from + # generate-bitmap-schema in the root Taskfile, not from this codegen. # core/ is hand-written except for the generated wiring under _generated/. - rm -rf databricks/bundles/core/_generated # test_resources.py is hand-written except for the generated TestCase data. diff --git a/python/codegen/codegen/generated_docs.py b/python/codegen/codegen/generated_docs.py index 3ae866a09d3..9c54a800759 100644 --- a/python/codegen/codegen/generated_docs.py +++ b/python/codegen/codegen/generated_docs.py @@ -35,11 +35,14 @@ def write_docs(output: str): docs = Path(output) / "docs" bundles = Path(output) / "databricks" / "bundles" - # core is hand-written; every other package dir gets a generated page. + # core is hand-written; every other public package dir gets a generated page. + # Private packages (e.g. _bitmap) are not part of the documented API. namespaces = sorted( p.name for p in bundles.iterdir() - if p.name != "core" and (p / "__init__.py").exists() + if p.name != "core" + and not p.name.startswith("_") + and (p / "__init__.py").exists() ) # Drop stale pages so a removed resource loses its page; keep core.rst. diff --git a/python/databricks/bundles/_bitmap/__init__.py b/python/databricks/bundles/_bitmap/__init__.py new file mode 100644 index 00000000000..77682daa109 --- /dev/null +++ b/python/databricks/bundles/_bitmap/__init__.py @@ -0,0 +1,93 @@ +"""Decoder for the bundle bitmap that ``databricks bundle bitmap bitmap`` prints. + +Self-contained: the schema is embedded (see ``_schema``), so decoding does not +need the CLI. :func:`decode` returns the same lines as +``databricks bundle bitmap decode``. + +Wire format (``bundle/bitmap/bitmap.go`` in the CLI): base64 of raw DEFLATE of +magic ``DBTB`` (4 bytes) | size (uint32, big-endian) | context (uint16, +big-endian) | ceil(size / 8) bitmap bytes, with bit ``i`` (MSB first within each +byte) standing for schema line ``i``. +""" + +import base64 +import struct +import zlib + +from databricks.bundles._bitmap._schema import SCHEMA + +__all__ = ["CONTEXT_FULL_BUNDLE", "SCHEMA", "decode", "decode_bits", "text"] + +CONTEXT_FULL_BUNDLE = 0 + +_MAGIC = b"DBTB" +_HEADER_SIZE = 10 +_TRUE_SUFFIX = "=true" +_FALSE_SUFFIX = "=false" + + +def decode(encoded: str) -> list[str]: + """Decode an encoded bitmap against the embedded schema into :func:`text` lines.""" + bits, context = decode_bits(encoded) + if context != CONTEXT_FULL_BUNDLE: + raise ValueError(f"unsupported bitmap context {context}") + # The schema is append-only, so an older bitmap decodes against a prefix of + # it; a newer one has bits this package cannot name. + if len(bits) > len(SCHEMA): + raise ValueError( + f"bitmap has {len(bits)} bits but the schema has {len(SCHEMA)} fields; " + "decode it with a newer databricks-bundles" + ) + return text(SCHEMA, bits, context) + + +def decode_bits(encoded: str) -> tuple[list[bool], int]: + """Decode an encoded bitmap into its bits and context. + + Raises ``ValueError`` (including ``binascii.Error``) or ``zlib.error`` on input + that is not an encoded bitmap. + """ + raw = zlib.decompress(base64.b64decode(encoded.strip(), validate=True), -15) + if len(raw) < _HEADER_SIZE: + raise ValueError(f"payload too short: {len(raw)} bytes") + if raw[:4] != _MAGIC: + raise ValueError(f"bad magic {raw[:4]!r}") + size, context = struct.unpack(">IH", raw[4:_HEADER_SIZE]) + if len(raw) - _HEADER_SIZE != (size + 7) // 8: + raise ValueError(f"payload size mismatch: {size} bits, {len(raw)} bytes") + bitmap = raw[_HEADER_SIZE:] + bits = [(bitmap[i // 8] >> (7 - i % 8)) & 1 == 1 for i in range(size)] + return bits, context + + +def text(schema: list[str], bits: list[bool], context: int) -> list[str]: + """Render a ``"size=N context=C"`` header and then the set bits as + ``" "`` lines in schema order. + + ``T`` or ``F`` is a bool field holding that value and ``1`` any other present + field. A bool shown as ``1`` holds an unresolved variable reference; one shown + as both ``T`` and ``F`` has both values under a wildcard. Unset fields are + omitted. ``bits`` may be shorter than ``schema`` but not longer. + """ + schema = schema[: len(bits)] + index = {path: i for i, path in enumerate(schema)} + lines = [f"size={len(bits)} context={context}"] + for i, path in enumerate(schema): + if not bits[i]: + continue + if path.endswith(_TRUE_SUFFIX): + lines.append("T " + path[: -len(_TRUE_SUFFIX)]) + elif path.endswith(_FALSE_SUFFIX): + lines.append("F " + path[: -len(_FALSE_SUFFIX)]) + elif not ( + _is_set(index, bits, path + _TRUE_SUFFIX) + or _is_set(index, bits, path + _FALSE_SUFFIX) + ): + # A bool with a value bit is shown by its value line instead. + lines.append("1 " + path) + return lines + + +def _is_set(index: dict[str, int], bits: list[bool], path: str) -> bool: + i = index.get(path) + return i is not None and bits[i] diff --git a/python/databricks/bundles/_bitmap/__main__.py b/python/databricks/bundles/_bitmap/__main__.py new file mode 100644 index 00000000000..89302cb02ff --- /dev/null +++ b/python/databricks/bundles/_bitmap/__main__.py @@ -0,0 +1,25 @@ +"""Decode a bundle bitmap read from stdin, like ``databricks bundle bitmap decode``. + +Usage: ``python -m databricks.bundles._bitmap < bitmap.b64`` +""" + +import sys +import zlib + +from databricks.bundles._bitmap import decode + + +def main() -> int: + try: + lines = decode(sys.stdin.read()) + except (ValueError, zlib.error) as e: + print(f"Error: {e}", file=sys.stderr) + return 1 + # Write bytes so Windows does not translate "\n" to "\r\n": the output must + # match the CLI's byte for byte. + sys.stdout.buffer.write("".join(line + "\n" for line in lines).encode()) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/python/databricks/bundles/_bitmap/_schema.py b/python/databricks/bundles/_bitmap/_schema.py new file mode 100644 index 00000000000..0f20e42070c --- /dev/null +++ b/python/databricks/bundles/_bitmap/_schema.py @@ -0,0 +1,386 @@ +# Code generated by bundle/bitmap/genpython from bundle/bitmap/schema.txt. DO NOT EDIT. +# Regenerate with './task generate-bitmap-schema'. + +import base64 +import zlib + +# Raw DEFLATE of the schema, one field path per line. +_COMPRESSED = ( + "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" + "zxbj1vPPXIOk4+5Bn74tzK3Xgp30//8DAA==" +) + +SCHEMA: list[str] = zlib.decompress(base64.b64decode(_COMPRESSED), -15).decode().split() diff --git a/python/databricks_tests/bundles/test_bitmap.py b/python/databricks_tests/bundles/test_bitmap.py new file mode 100644 index 00000000000..fda22e843f0 --- /dev/null +++ b/python/databricks_tests/bundles/test_bitmap.py @@ -0,0 +1,124 @@ +import base64 +import struct +import zlib + +import pytest + +from databricks.bundles._bitmap import ( + CONTEXT_FULL_BUNDLE, + SCHEMA, + decode, + decode_bits, + text, +) + + +def _encode(raw: bytes) -> str: + compressor = zlib.compressobj(wbits=-15) + return base64.b64encode(compressor.compress(raw) + compressor.flush()).decode() + + +def _payload(bits: list[bool], context: int = 0) -> bytes: + bitmap = bytearray((len(bits) + 7) // 8) + for i, bit in enumerate(bits): + if bit: + bitmap[i // 8] |= 1 << (7 - i % 8) + return b"DBTB" + struct.pack(">IH", len(bits), context) + bytes(bitmap) + + +def test_embedded_schema(): + assert "bundle.name" in SCHEMA + assert "telemetry.SelectUsed=true" in SCHEMA + assert len(SCHEMA) == len(set(SCHEMA)) + + +@pytest.mark.parametrize("n", [0, 1, 7, 8, 9, 16, 17]) +def test_decode_bits_round_trip(n: int): + bits = [i % 3 == 0 for i in range(n)] + assert decode_bits(_encode(_payload(bits, context=0xBEEF))) == (bits, 0xBEEF) + + +def test_decode_bits_reads_cli_payload(): + # The raw payload that TestEncodeBitOrder pins for the CLI's Encode of bits + # 1,0,0,0,0,0,0,1,1, so both implementations read the same bit order. + encoded = _encode( + bytes([0x44, 0x42, 0x54, 0x42, 0, 0, 0, 9, 0, 0, 0b1000_0001, 0b1000_0000]) + ) + assert decode_bits(encoded) == ( + [True, False, False, False, False, False, False, True, True], + 0, + ) + + +@pytest.mark.parametrize( + ("encoded", "error"), + [ + ("not-valid-base64!!!", "base64"), + (base64.b64encode(b"\xff\xff").decode(), "decompressing"), + (_encode(b"DBTB"), "payload too short"), + (_encode(b"XXXX" + struct.pack(">IH", 1, 0) + b"\x80"), "bad magic"), + (_encode(b"DBTB" + struct.pack(">IH", 9, 0)), "payload size mismatch"), + (_encode(b"DBTB" + struct.pack(">IH", 0xFFFFFFFF, 0)), "payload size mismatch"), + ], +) +def test_decode_bits_errors(encoded: str, error: str): + with pytest.raises((ValueError, zlib.error), match=error): + decode_bits(encoded) + + +SCHEMA_FOR_TEXT = [ + "bundle", + "bundle.name", + "flag", + "flag=true", + "flag=false", + "jobs.*.enabled", + "jobs.*.enabled=true", + "jobs.*.enabled=false", + "ref", + "ref=true", + "ref=false", +] + + +@pytest.mark.parametrize( + ("set_paths", "lines"), + [ + ([], []), + (["bundle", "bundle.name"], ["1 bundle", "1 bundle.name"]), + (["flag", "flag=true"], ["T flag"]), + (["flag", "flag=false"], ["F flag"]), + ( + ["jobs.*.enabled", "jobs.*.enabled=true", "jobs.*.enabled=false"], + ["T jobs.*.enabled", "F jobs.*.enabled"], + ), + (["ref"], ["1 ref"]), + ], +) +def test_text(set_paths: list[str], lines: list[str]): + bits = [path in set_paths for path in SCHEMA_FOR_TEXT] + header = f"size={len(SCHEMA_FOR_TEXT)} context=0" + assert text(SCHEMA_FOR_TEXT, bits, CONTEXT_FULL_BUNDLE) == [header, *lines] + + +def test_text_older_bitmap(): + assert text(SCHEMA_FOR_TEXT, [True], 7) == ["size=1 context=7", "1 bundle"] + + +def test_decode(): + bits = [path in ("bundle", "bundle.name") for path in SCHEMA] + assert decode(_encode(_payload(bits))) == [ + f"size={len(SCHEMA)} context=0", + "1 bundle", + "1 bundle.name", + ] + + +def test_decode_rejects_unknown_context(): + with pytest.raises(ValueError, match="unsupported bitmap context 1"): + decode(_encode(_payload([], context=1))) + + +def test_decode_rejects_newer_bitmap(): + with pytest.raises(ValueError, match="decode it with a newer databricks-bundles"): + decode(_encode(_payload([False] * (len(SCHEMA) + 1))))