pulumi-databricks 1.74.0a1753335781__py3-none-any.whl → 1.77.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_databricks/__init__.py +185 -12
- pulumi_databricks/_inputs.py +30467 -20225
- pulumi_databricks/access_control_rule_set.py +28 -29
- pulumi_databricks/account_federation_policy.py +473 -0
- pulumi_databricks/account_network_policy.py +74 -43
- pulumi_databricks/account_setting_v2.py +759 -0
- pulumi_databricks/aibi_dashboard_embedding_access_policy_setting.py +30 -31
- pulumi_databricks/aibi_dashboard_embedding_approved_domains_setting.py +30 -31
- pulumi_databricks/alert.py +185 -186
- pulumi_databricks/alert_v2.py +369 -211
- pulumi_databricks/app.py +315 -209
- pulumi_databricks/apps_settings_custom_template.py +531 -0
- pulumi_databricks/artifact_allowlist.py +72 -73
- pulumi_databricks/automatic_cluster_update_workspace_setting.py +30 -31
- pulumi_databricks/budget.py +84 -85
- pulumi_databricks/budget_policy.py +75 -53
- pulumi_databricks/catalog.py +544 -225
- pulumi_databricks/catalog_workspace_binding.py +82 -83
- pulumi_databricks/cluster.py +561 -683
- pulumi_databricks/cluster_policy.py +115 -116
- pulumi_databricks/compliance_security_profile_workspace_setting.py +30 -31
- pulumi_databricks/config/__init__.py +1 -1
- pulumi_databricks/config/__init__.pyi +3 -2
- pulumi_databricks/config/vars.py +40 -37
- pulumi_databricks/connection.py +346 -211
- pulumi_databricks/credential.py +262 -263
- pulumi_databricks/custom_app_integration.py +175 -176
- pulumi_databricks/dashboard.py +207 -208
- pulumi_databricks/data_quality_monitor.py +453 -0
- pulumi_databricks/data_quality_refresh.py +492 -0
- pulumi_databricks/database_database_catalog.py +437 -0
- pulumi_databricks/database_instance.py +938 -137
- pulumi_databricks/database_synced_database_table.py +589 -0
- pulumi_databricks/dbfs_file.py +87 -84
- pulumi_databricks/default_namespace_setting.py +30 -31
- pulumi_databricks/directory.py +61 -62
- pulumi_databricks/disable_legacy_access_setting.py +109 -33
- pulumi_databricks/disable_legacy_dbfs_setting.py +58 -39
- pulumi_databricks/disable_legacy_features_setting.py +62 -37
- pulumi_databricks/enhanced_security_monitoring_workspace_setting.py +30 -31
- pulumi_databricks/entitlements.py +148 -149
- pulumi_databricks/entity_tag_assignment.py +409 -0
- pulumi_databricks/external_location.py +276 -290
- pulumi_databricks/external_metadata.py +726 -0
- pulumi_databricks/feature_engineering_feature.py +480 -0
- pulumi_databricks/feature_engineering_materialized_feature.py +397 -0
- pulumi_databricks/file.py +96 -97
- pulumi_databricks/get_account_federation_policies.py +127 -0
- pulumi_databricks/get_account_federation_policy.py +214 -0
- pulumi_databricks/get_account_network_policies.py +36 -7
- pulumi_databricks/get_account_network_policy.py +33 -29
- pulumi_databricks/get_account_setting_v2.py +331 -0
- pulumi_databricks/get_alert_v2.py +100 -84
- pulumi_databricks/get_alerts_v2.py +35 -17
- pulumi_databricks/get_app.py +31 -20
- pulumi_databricks/get_apps.py +26 -15
- pulumi_databricks/get_apps_settings_custom_template.py +207 -0
- pulumi_databricks/get_apps_settings_custom_templates.py +133 -0
- pulumi_databricks/get_aws_assume_role_policy.py +27 -28
- pulumi_databricks/get_aws_bucket_policy.py +39 -40
- pulumi_databricks/get_aws_cross_account_policy.py +47 -48
- pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +35 -36
- pulumi_databricks/get_aws_unity_catalog_policy.py +35 -36
- pulumi_databricks/get_budget_policies.py +74 -11
- pulumi_databricks/get_budget_policy.py +43 -39
- pulumi_databricks/get_catalog.py +35 -19
- pulumi_databricks/get_catalogs.py +32 -14
- pulumi_databricks/get_cluster.py +41 -25
- pulumi_databricks/get_cluster_policy.py +72 -54
- pulumi_databricks/get_clusters.py +41 -25
- pulumi_databricks/get_current_config.py +23 -24
- pulumi_databricks/get_current_metastore.py +29 -13
- pulumi_databricks/get_current_user.py +17 -18
- pulumi_databricks/get_dashboards.py +34 -15
- pulumi_databricks/get_data_quality_monitor.py +210 -0
- pulumi_databricks/get_data_quality_monitors.py +143 -0
- pulumi_databricks/get_data_quality_refresh.py +270 -0
- pulumi_databricks/get_data_quality_refreshes.py +207 -0
- pulumi_databricks/get_database_database_catalog.py +176 -0
- pulumi_databricks/get_database_database_catalogs.py +120 -0
- pulumi_databricks/get_database_instance.py +274 -50
- pulumi_databricks/get_database_instances.py +35 -11
- pulumi_databricks/get_database_synced_database_table.py +225 -0
- pulumi_databricks/get_database_synced_database_tables.py +120 -0
- pulumi_databricks/get_dbfs_file.py +19 -20
- pulumi_databricks/get_dbfs_file_paths.py +16 -17
- pulumi_databricks/get_directory.py +43 -25
- pulumi_databricks/get_entity_tag_assignment.py +202 -0
- pulumi_databricks/get_entity_tag_assignments.py +187 -0
- pulumi_databricks/get_external_location.py +35 -19
- pulumi_databricks/get_external_locations.py +32 -14
- pulumi_databricks/get_external_metadata.py +292 -0
- pulumi_databricks/get_external_metadatas.py +135 -0
- pulumi_databricks/get_feature_engineering_feature.py +179 -0
- pulumi_databricks/get_feature_engineering_features.py +103 -0
- pulumi_databricks/get_feature_engineering_materialized_feature.py +180 -0
- pulumi_databricks/get_feature_engineering_materialized_features.py +123 -0
- pulumi_databricks/get_functions.py +38 -24
- pulumi_databricks/get_group.py +85 -86
- pulumi_databricks/get_instance_pool.py +10 -11
- pulumi_databricks/get_instance_profiles.py +25 -9
- pulumi_databricks/get_job.py +22 -23
- pulumi_databricks/get_jobs.py +44 -26
- pulumi_databricks/get_materialized_features_feature_tag.py +102 -0
- pulumi_databricks/get_materialized_features_feature_tags.py +133 -0
- pulumi_databricks/get_metastore.py +28 -29
- pulumi_databricks/get_metastores.py +9 -10
- pulumi_databricks/get_mlflow_experiment.py +62 -46
- pulumi_databricks/get_mlflow_model.py +47 -31
- pulumi_databricks/get_mlflow_models.py +32 -14
- pulumi_databricks/get_mws_credentials.py +9 -10
- pulumi_databricks/get_mws_network_connectivity_config.py +40 -41
- pulumi_databricks/get_mws_network_connectivity_configs.py +15 -16
- pulumi_databricks/get_mws_workspaces.py +5 -6
- pulumi_databricks/get_node_type.py +123 -87
- pulumi_databricks/get_notebook.py +37 -38
- pulumi_databricks/get_notebook_paths.py +16 -17
- pulumi_databricks/get_notification_destinations.py +33 -18
- pulumi_databricks/get_online_store.py +36 -27
- pulumi_databricks/get_online_stores.py +33 -13
- pulumi_databricks/get_pipelines.py +49 -31
- pulumi_databricks/get_policy_info.py +338 -0
- pulumi_databricks/get_policy_infos.py +169 -0
- pulumi_databricks/get_quality_monitor_v2.py +21 -18
- pulumi_databricks/get_quality_monitors_v2.py +26 -8
- pulumi_databricks/get_registered_model.py +41 -27
- pulumi_databricks/get_registered_model_versions.py +29 -15
- pulumi_databricks/get_rfa_access_request_destinations.py +126 -0
- pulumi_databricks/get_schema.py +32 -16
- pulumi_databricks/get_schemas.py +38 -20
- pulumi_databricks/get_service_principal.py +80 -58
- pulumi_databricks/get_service_principal_federation_policies.py +151 -0
- pulumi_databricks/get_service_principal_federation_policy.py +220 -0
- pulumi_databricks/get_service_principals.py +16 -17
- pulumi_databricks/get_serving_endpoints.py +23 -9
- pulumi_databricks/get_share.py +130 -32
- pulumi_databricks/get_shares.py +29 -11
- pulumi_databricks/get_spark_version.py +87 -69
- pulumi_databricks/get_sql_warehouse.py +124 -110
- pulumi_databricks/get_sql_warehouses.py +37 -19
- pulumi_databricks/get_storage_credential.py +32 -16
- pulumi_databricks/get_storage_credentials.py +32 -14
- pulumi_databricks/get_table.py +30 -14
- pulumi_databricks/get_tables.py +41 -23
- pulumi_databricks/get_tag_policies.py +139 -0
- pulumi_databricks/get_tag_policy.py +175 -0
- pulumi_databricks/get_user.py +33 -34
- pulumi_databricks/get_views.py +41 -23
- pulumi_databricks/get_volume.py +32 -16
- pulumi_databricks/get_volumes.py +41 -23
- pulumi_databricks/get_workspace_network_option.py +45 -26
- pulumi_databricks/get_workspace_setting_v2.py +331 -0
- pulumi_databricks/get_zones.py +39 -21
- pulumi_databricks/git_credential.py +242 -76
- pulumi_databricks/global_init_script.py +99 -100
- pulumi_databricks/grant.py +215 -212
- pulumi_databricks/grants.py +200 -211
- pulumi_databricks/group.py +176 -177
- pulumi_databricks/group_instance_profile.py +37 -38
- pulumi_databricks/group_member.py +37 -38
- pulumi_databricks/group_role.py +37 -38
- pulumi_databricks/instance_pool.py +168 -169
- pulumi_databricks/instance_profile.py +69 -70
- pulumi_databricks/ip_access_list.py +71 -72
- pulumi_databricks/job.py +426 -346
- pulumi_databricks/lakehouse_monitor.py +199 -200
- pulumi_databricks/library.py +264 -99
- pulumi_databricks/materialized_features_feature_tag.py +213 -0
- pulumi_databricks/metastore.py +254 -255
- pulumi_databricks/metastore_assignment.py +52 -53
- pulumi_databricks/metastore_data_access.py +153 -154
- pulumi_databricks/metastore_provider.py +69 -70
- pulumi_databricks/mlflow_experiment.py +108 -109
- pulumi_databricks/mlflow_model.py +45 -46
- pulumi_databricks/mlflow_webhook.py +75 -76
- pulumi_databricks/model_serving.py +195 -74
- pulumi_databricks/model_serving_provisioned_throughput.py +100 -54
- pulumi_databricks/mount.py +103 -104
- pulumi_databricks/mws_credentials.py +99 -100
- pulumi_databricks/mws_customer_managed_keys.py +75 -76
- pulumi_databricks/mws_log_delivery.py +188 -189
- pulumi_databricks/mws_ncc_binding.py +35 -36
- pulumi_databricks/mws_ncc_private_endpoint_rule.py +312 -289
- pulumi_databricks/mws_network_connectivity_config.py +136 -98
- pulumi_databricks/mws_networks.py +159 -160
- pulumi_databricks/mws_permission_assignment.py +70 -71
- pulumi_databricks/mws_private_access_settings.py +116 -117
- pulumi_databricks/mws_storage_configurations.py +74 -75
- pulumi_databricks/mws_vpc_endpoint.py +149 -150
- pulumi_databricks/mws_workspaces.py +464 -418
- pulumi_databricks/notebook.py +143 -144
- pulumi_databricks/notification_destination.py +38 -39
- pulumi_databricks/obo_token.py +63 -64
- pulumi_databricks/online_store.py +121 -70
- pulumi_databricks/online_table.py +41 -42
- pulumi_databricks/outputs.py +47821 -30802
- pulumi_databricks/permission_assignment.py +298 -57
- pulumi_databricks/permissions.py +523 -362
- pulumi_databricks/pipeline.py +515 -480
- pulumi_databricks/policy_info.py +916 -0
- pulumi_databricks/provider.py +283 -269
- pulumi_databricks/pulumi-plugin.json +1 -1
- pulumi_databricks/quality_monitor.py +263 -217
- pulumi_databricks/quality_monitor_v2.py +49 -46
- pulumi_databricks/query.py +227 -228
- pulumi_databricks/recipient.py +208 -209
- pulumi_databricks/registered_model.py +393 -122
- pulumi_databricks/repo.py +117 -118
- pulumi_databricks/restrict_workspace_admins_setting.py +30 -31
- pulumi_databricks/rfa_access_request_destinations.py +286 -0
- pulumi_databricks/schema.py +159 -160
- pulumi_databricks/secret.py +72 -73
- pulumi_databricks/secret_acl.py +52 -53
- pulumi_databricks/secret_scope.py +55 -56
- pulumi_databricks/service_principal.py +279 -278
- pulumi_databricks/service_principal_federation_policy.py +469 -0
- pulumi_databricks/service_principal_role.py +35 -36
- pulumi_databricks/service_principal_secret.py +156 -157
- pulumi_databricks/share.py +186 -187
- pulumi_databricks/sql_alert.py +98 -99
- pulumi_databricks/sql_dashboard.py +94 -95
- pulumi_databricks/sql_endpoint.py +298 -266
- pulumi_databricks/sql_global_config.py +103 -104
- pulumi_databricks/sql_permissions.py +121 -122
- pulumi_databricks/sql_query.py +150 -151
- pulumi_databricks/sql_table.py +310 -283
- pulumi_databricks/sql_visualization.py +92 -93
- pulumi_databricks/sql_widget.py +91 -88
- pulumi_databricks/storage_credential.py +236 -184
- pulumi_databricks/system_schema.py +50 -51
- pulumi_databricks/table.py +147 -148
- pulumi_databricks/tag_policy.py +357 -0
- pulumi_databricks/token.py +83 -84
- pulumi_databricks/user.py +284 -285
- pulumi_databricks/user_instance_profile.py +35 -36
- pulumi_databricks/user_role.py +35 -36
- pulumi_databricks/vector_search_endpoint.py +117 -118
- pulumi_databricks/vector_search_index.py +86 -87
- pulumi_databricks/volume.py +129 -130
- pulumi_databricks/workspace_binding.py +82 -131
- pulumi_databricks/workspace_conf.py +18 -19
- pulumi_databricks/workspace_file.py +100 -101
- pulumi_databricks/workspace_network_option.py +89 -40
- pulumi_databricks/workspace_setting_v2.py +759 -0
- {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/METADATA +1 -1
- pulumi_databricks-1.77.0.dist-info/RECORD +250 -0
- pulumi_databricks/get_recipient_federation_policies.py +0 -83
- pulumi_databricks/get_recipient_federation_policy.py +0 -166
- pulumi_databricks/recipient_federation_policy.py +0 -347
- pulumi_databricks-1.74.0a1753335781.dist-info/RECORD +0 -205
- {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/WHEEL +0 -0
- {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,916 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from . import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = ['PolicyInfoArgs', 'PolicyInfo']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class PolicyInfoArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
for_securable_type: pulumi.Input[_builtins.str],
|
|
25
|
+
policy_type: pulumi.Input[_builtins.str],
|
|
26
|
+
to_principals: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
|
|
27
|
+
column_mask: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']] = None,
|
|
28
|
+
comment: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
|
+
except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
30
|
+
match_columns: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]] = None,
|
|
31
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
32
|
+
on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
33
|
+
on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
34
|
+
row_filter: Optional[pulumi.Input['PolicyInfoRowFilterArgs']] = None,
|
|
35
|
+
when_condition: Optional[pulumi.Input[_builtins.str]] = None):
|
|
36
|
+
"""
|
|
37
|
+
The set of arguments for constructing a PolicyInfo resource.
|
|
38
|
+
:param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
|
|
39
|
+
Only `TABLE` is supported at this moment.
|
|
40
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
41
|
+
:param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
42
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
|
|
43
|
+
Required on create and optional on update
|
|
44
|
+
:param pulumi.Input['PolicyInfoColumnMaskArgs'] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
45
|
+
Required on create and optional on update. When specified on update,
|
|
46
|
+
the new options will replace the existing options as a whole
|
|
47
|
+
:param pulumi.Input[_builtins.str] comment: Optional description of the policy
|
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
|
|
49
|
+
:param pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]] match_columns: Optional list of condition expressions used to match table columns.
|
|
50
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
51
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
52
|
+
:param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
|
|
53
|
+
To rename the policy, set `name` to a different value on update
|
|
54
|
+
:param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
|
|
55
|
+
Required on create and ignored on update
|
|
56
|
+
:param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
|
|
57
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
58
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
59
|
+
:param pulumi.Input['PolicyInfoRowFilterArgs'] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
60
|
+
Required on create and optional on update. When specified on update,
|
|
61
|
+
the new options will replace the existing options as a whole
|
|
62
|
+
:param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
|
|
63
|
+
"""
|
|
64
|
+
pulumi.set(__self__, "for_securable_type", for_securable_type)
|
|
65
|
+
pulumi.set(__self__, "policy_type", policy_type)
|
|
66
|
+
pulumi.set(__self__, "to_principals", to_principals)
|
|
67
|
+
if column_mask is not None:
|
|
68
|
+
pulumi.set(__self__, "column_mask", column_mask)
|
|
69
|
+
if comment is not None:
|
|
70
|
+
pulumi.set(__self__, "comment", comment)
|
|
71
|
+
if except_principals is not None:
|
|
72
|
+
pulumi.set(__self__, "except_principals", except_principals)
|
|
73
|
+
if match_columns is not None:
|
|
74
|
+
pulumi.set(__self__, "match_columns", match_columns)
|
|
75
|
+
if name is not None:
|
|
76
|
+
pulumi.set(__self__, "name", name)
|
|
77
|
+
if on_securable_fullname is not None:
|
|
78
|
+
pulumi.set(__self__, "on_securable_fullname", on_securable_fullname)
|
|
79
|
+
if on_securable_type is not None:
|
|
80
|
+
pulumi.set(__self__, "on_securable_type", on_securable_type)
|
|
81
|
+
if row_filter is not None:
|
|
82
|
+
pulumi.set(__self__, "row_filter", row_filter)
|
|
83
|
+
if when_condition is not None:
|
|
84
|
+
pulumi.set(__self__, "when_condition", when_condition)
|
|
85
|
+
|
|
86
|
+
@_builtins.property
|
|
87
|
+
@pulumi.getter(name="forSecurableType")
|
|
88
|
+
def for_securable_type(self) -> pulumi.Input[_builtins.str]:
|
|
89
|
+
"""
|
|
90
|
+
Type of securables that the policy should take effect on.
|
|
91
|
+
Only `TABLE` is supported at this moment.
|
|
92
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
93
|
+
"""
|
|
94
|
+
return pulumi.get(self, "for_securable_type")
|
|
95
|
+
|
|
96
|
+
@for_securable_type.setter
|
|
97
|
+
def for_securable_type(self, value: pulumi.Input[_builtins.str]):
|
|
98
|
+
pulumi.set(self, "for_securable_type", value)
|
|
99
|
+
|
|
100
|
+
@_builtins.property
|
|
101
|
+
@pulumi.getter(name="policyType")
|
|
102
|
+
def policy_type(self) -> pulumi.Input[_builtins.str]:
|
|
103
|
+
"""
|
|
104
|
+
Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
105
|
+
"""
|
|
106
|
+
return pulumi.get(self, "policy_type")
|
|
107
|
+
|
|
108
|
+
@policy_type.setter
|
|
109
|
+
def policy_type(self, value: pulumi.Input[_builtins.str]):
|
|
110
|
+
pulumi.set(self, "policy_type", value)
|
|
111
|
+
|
|
112
|
+
@_builtins.property
|
|
113
|
+
@pulumi.getter(name="toPrincipals")
|
|
114
|
+
def to_principals(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
|
|
115
|
+
"""
|
|
116
|
+
List of user or group names that the policy applies to.
|
|
117
|
+
Required on create and optional on update
|
|
118
|
+
"""
|
|
119
|
+
return pulumi.get(self, "to_principals")
|
|
120
|
+
|
|
121
|
+
@to_principals.setter
|
|
122
|
+
def to_principals(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
|
|
123
|
+
pulumi.set(self, "to_principals", value)
|
|
124
|
+
|
|
125
|
+
@_builtins.property
|
|
126
|
+
@pulumi.getter(name="columnMask")
|
|
127
|
+
def column_mask(self) -> Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]:
|
|
128
|
+
"""
|
|
129
|
+
Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
130
|
+
Required on create and optional on update. When specified on update,
|
|
131
|
+
the new options will replace the existing options as a whole
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "column_mask")
|
|
134
|
+
|
|
135
|
+
@column_mask.setter
|
|
136
|
+
def column_mask(self, value: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]):
|
|
137
|
+
pulumi.set(self, "column_mask", value)
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter
|
|
141
|
+
def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
142
|
+
"""
|
|
143
|
+
Optional description of the policy
|
|
144
|
+
"""
|
|
145
|
+
return pulumi.get(self, "comment")
|
|
146
|
+
|
|
147
|
+
@comment.setter
|
|
148
|
+
def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
149
|
+
pulumi.set(self, "comment", value)
|
|
150
|
+
|
|
151
|
+
@_builtins.property
|
|
152
|
+
@pulumi.getter(name="exceptPrincipals")
|
|
153
|
+
def except_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
154
|
+
"""
|
|
155
|
+
Optional list of user or group names that should be excluded from the policy
|
|
156
|
+
"""
|
|
157
|
+
return pulumi.get(self, "except_principals")
|
|
158
|
+
|
|
159
|
+
@except_principals.setter
|
|
160
|
+
def except_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
161
|
+
pulumi.set(self, "except_principals", value)
|
|
162
|
+
|
|
163
|
+
@_builtins.property
|
|
164
|
+
@pulumi.getter(name="matchColumns")
|
|
165
|
+
def match_columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]:
|
|
166
|
+
"""
|
|
167
|
+
Optional list of condition expressions used to match table columns.
|
|
168
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
169
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
170
|
+
"""
|
|
171
|
+
return pulumi.get(self, "match_columns")
|
|
172
|
+
|
|
173
|
+
@match_columns.setter
|
|
174
|
+
def match_columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]):
|
|
175
|
+
pulumi.set(self, "match_columns", value)
|
|
176
|
+
|
|
177
|
+
@_builtins.property
|
|
178
|
+
@pulumi.getter
|
|
179
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
180
|
+
"""
|
|
181
|
+
Name of the policy. Required on create and optional on update.
|
|
182
|
+
To rename the policy, set `name` to a different value on update
|
|
183
|
+
"""
|
|
184
|
+
return pulumi.get(self, "name")
|
|
185
|
+
|
|
186
|
+
@name.setter
|
|
187
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
188
|
+
pulumi.set(self, "name", value)
|
|
189
|
+
|
|
190
|
+
@_builtins.property
|
|
191
|
+
@pulumi.getter(name="onSecurableFullname")
|
|
192
|
+
def on_securable_fullname(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
193
|
+
"""
|
|
194
|
+
Full name of the securable on which the policy is defined.
|
|
195
|
+
Required on create and ignored on update
|
|
196
|
+
"""
|
|
197
|
+
return pulumi.get(self, "on_securable_fullname")
|
|
198
|
+
|
|
199
|
+
@on_securable_fullname.setter
|
|
200
|
+
def on_securable_fullname(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
201
|
+
pulumi.set(self, "on_securable_fullname", value)
|
|
202
|
+
|
|
203
|
+
@_builtins.property
|
|
204
|
+
@pulumi.getter(name="onSecurableType")
|
|
205
|
+
def on_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
206
|
+
"""
|
|
207
|
+
Type of the securable on which the policy is defined.
|
|
208
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
209
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
210
|
+
"""
|
|
211
|
+
return pulumi.get(self, "on_securable_type")
|
|
212
|
+
|
|
213
|
+
@on_securable_type.setter
|
|
214
|
+
def on_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
215
|
+
pulumi.set(self, "on_securable_type", value)
|
|
216
|
+
|
|
217
|
+
@_builtins.property
|
|
218
|
+
@pulumi.getter(name="rowFilter")
|
|
219
|
+
def row_filter(self) -> Optional[pulumi.Input['PolicyInfoRowFilterArgs']]:
|
|
220
|
+
"""
|
|
221
|
+
Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
222
|
+
Required on create and optional on update. When specified on update,
|
|
223
|
+
the new options will replace the existing options as a whole
|
|
224
|
+
"""
|
|
225
|
+
return pulumi.get(self, "row_filter")
|
|
226
|
+
|
|
227
|
+
@row_filter.setter
|
|
228
|
+
def row_filter(self, value: Optional[pulumi.Input['PolicyInfoRowFilterArgs']]):
|
|
229
|
+
pulumi.set(self, "row_filter", value)
|
|
230
|
+
|
|
231
|
+
@_builtins.property
|
|
232
|
+
@pulumi.getter(name="whenCondition")
|
|
233
|
+
def when_condition(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
234
|
+
"""
|
|
235
|
+
Optional condition when the policy should take effect
|
|
236
|
+
"""
|
|
237
|
+
return pulumi.get(self, "when_condition")
|
|
238
|
+
|
|
239
|
+
@when_condition.setter
|
|
240
|
+
def when_condition(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
241
|
+
pulumi.set(self, "when_condition", value)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
@pulumi.input_type
|
|
245
|
+
class _PolicyInfoState:
|
|
246
|
+
def __init__(__self__, *,
|
|
247
|
+
column_mask: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']] = None,
|
|
248
|
+
comment: Optional[pulumi.Input[_builtins.str]] = None,
|
|
249
|
+
created_at: Optional[pulumi.Input[_builtins.int]] = None,
|
|
250
|
+
created_by: Optional[pulumi.Input[_builtins.str]] = None,
|
|
251
|
+
except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
252
|
+
for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
253
|
+
match_columns: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]] = None,
|
|
254
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
255
|
+
on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
256
|
+
on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
257
|
+
policy_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
258
|
+
row_filter: Optional[pulumi.Input['PolicyInfoRowFilterArgs']] = None,
|
|
259
|
+
to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
260
|
+
updated_at: Optional[pulumi.Input[_builtins.int]] = None,
|
|
261
|
+
updated_by: Optional[pulumi.Input[_builtins.str]] = None,
|
|
262
|
+
when_condition: Optional[pulumi.Input[_builtins.str]] = None):
|
|
263
|
+
"""
|
|
264
|
+
Input properties used for looking up and filtering PolicyInfo resources.
|
|
265
|
+
:param pulumi.Input['PolicyInfoColumnMaskArgs'] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
266
|
+
Required on create and optional on update. When specified on update,
|
|
267
|
+
the new options will replace the existing options as a whole
|
|
268
|
+
:param pulumi.Input[_builtins.str] comment: Optional description of the policy
|
|
269
|
+
:param pulumi.Input[_builtins.int] created_at: (integer) - Time at which the policy was created, in epoch milliseconds. Output only
|
|
270
|
+
:param pulumi.Input[_builtins.str] created_by: (string) - Username of the user who created the policy. Output only
|
|
271
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
|
|
272
|
+
:param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
|
|
273
|
+
Only `TABLE` is supported at this moment.
|
|
274
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
275
|
+
:param pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]] match_columns: Optional list of condition expressions used to match table columns.
|
|
276
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
277
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
278
|
+
:param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
|
|
279
|
+
To rename the policy, set `name` to a different value on update
|
|
280
|
+
:param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
|
|
281
|
+
Required on create and ignored on update
|
|
282
|
+
:param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
|
|
283
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
284
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
285
|
+
:param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
286
|
+
:param pulumi.Input['PolicyInfoRowFilterArgs'] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
287
|
+
Required on create and optional on update. When specified on update,
|
|
288
|
+
the new options will replace the existing options as a whole
|
|
289
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
|
|
290
|
+
Required on create and optional on update
|
|
291
|
+
:param pulumi.Input[_builtins.int] updated_at: (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
|
|
292
|
+
:param pulumi.Input[_builtins.str] updated_by: (string) - Username of the user who last modified the policy. Output only
|
|
293
|
+
:param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
|
|
294
|
+
"""
|
|
295
|
+
if column_mask is not None:
|
|
296
|
+
pulumi.set(__self__, "column_mask", column_mask)
|
|
297
|
+
if comment is not None:
|
|
298
|
+
pulumi.set(__self__, "comment", comment)
|
|
299
|
+
if created_at is not None:
|
|
300
|
+
pulumi.set(__self__, "created_at", created_at)
|
|
301
|
+
if created_by is not None:
|
|
302
|
+
pulumi.set(__self__, "created_by", created_by)
|
|
303
|
+
if except_principals is not None:
|
|
304
|
+
pulumi.set(__self__, "except_principals", except_principals)
|
|
305
|
+
if for_securable_type is not None:
|
|
306
|
+
pulumi.set(__self__, "for_securable_type", for_securable_type)
|
|
307
|
+
if match_columns is not None:
|
|
308
|
+
pulumi.set(__self__, "match_columns", match_columns)
|
|
309
|
+
if name is not None:
|
|
310
|
+
pulumi.set(__self__, "name", name)
|
|
311
|
+
if on_securable_fullname is not None:
|
|
312
|
+
pulumi.set(__self__, "on_securable_fullname", on_securable_fullname)
|
|
313
|
+
if on_securable_type is not None:
|
|
314
|
+
pulumi.set(__self__, "on_securable_type", on_securable_type)
|
|
315
|
+
if policy_type is not None:
|
|
316
|
+
pulumi.set(__self__, "policy_type", policy_type)
|
|
317
|
+
if row_filter is not None:
|
|
318
|
+
pulumi.set(__self__, "row_filter", row_filter)
|
|
319
|
+
if to_principals is not None:
|
|
320
|
+
pulumi.set(__self__, "to_principals", to_principals)
|
|
321
|
+
if updated_at is not None:
|
|
322
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
|
323
|
+
if updated_by is not None:
|
|
324
|
+
pulumi.set(__self__, "updated_by", updated_by)
|
|
325
|
+
if when_condition is not None:
|
|
326
|
+
pulumi.set(__self__, "when_condition", when_condition)
|
|
327
|
+
|
|
328
|
+
@_builtins.property
|
|
329
|
+
@pulumi.getter(name="columnMask")
|
|
330
|
+
def column_mask(self) -> Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]:
|
|
331
|
+
"""
|
|
332
|
+
Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
333
|
+
Required on create and optional on update. When specified on update,
|
|
334
|
+
the new options will replace the existing options as a whole
|
|
335
|
+
"""
|
|
336
|
+
return pulumi.get(self, "column_mask")
|
|
337
|
+
|
|
338
|
+
@column_mask.setter
|
|
339
|
+
def column_mask(self, value: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]):
|
|
340
|
+
pulumi.set(self, "column_mask", value)
|
|
341
|
+
|
|
342
|
+
@_builtins.property
|
|
343
|
+
@pulumi.getter
|
|
344
|
+
def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
345
|
+
"""
|
|
346
|
+
Optional description of the policy
|
|
347
|
+
"""
|
|
348
|
+
return pulumi.get(self, "comment")
|
|
349
|
+
|
|
350
|
+
@comment.setter
|
|
351
|
+
def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
352
|
+
pulumi.set(self, "comment", value)
|
|
353
|
+
|
|
354
|
+
@_builtins.property
|
|
355
|
+
@pulumi.getter(name="createdAt")
|
|
356
|
+
def created_at(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
357
|
+
"""
|
|
358
|
+
(integer) - Time at which the policy was created, in epoch milliseconds. Output only
|
|
359
|
+
"""
|
|
360
|
+
return pulumi.get(self, "created_at")
|
|
361
|
+
|
|
362
|
+
@created_at.setter
|
|
363
|
+
def created_at(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
364
|
+
pulumi.set(self, "created_at", value)
|
|
365
|
+
|
|
366
|
+
@_builtins.property
|
|
367
|
+
@pulumi.getter(name="createdBy")
|
|
368
|
+
def created_by(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
369
|
+
"""
|
|
370
|
+
(string) - Username of the user who created the policy. Output only
|
|
371
|
+
"""
|
|
372
|
+
return pulumi.get(self, "created_by")
|
|
373
|
+
|
|
374
|
+
@created_by.setter
|
|
375
|
+
def created_by(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
376
|
+
pulumi.set(self, "created_by", value)
|
|
377
|
+
|
|
378
|
+
@_builtins.property
|
|
379
|
+
@pulumi.getter(name="exceptPrincipals")
|
|
380
|
+
def except_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
381
|
+
"""
|
|
382
|
+
Optional list of user or group names that should be excluded from the policy
|
|
383
|
+
"""
|
|
384
|
+
return pulumi.get(self, "except_principals")
|
|
385
|
+
|
|
386
|
+
@except_principals.setter
|
|
387
|
+
def except_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
388
|
+
pulumi.set(self, "except_principals", value)
|
|
389
|
+
|
|
390
|
+
@_builtins.property
|
|
391
|
+
@pulumi.getter(name="forSecurableType")
|
|
392
|
+
def for_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
393
|
+
"""
|
|
394
|
+
Type of securables that the policy should take effect on.
|
|
395
|
+
Only `TABLE` is supported at this moment.
|
|
396
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
397
|
+
"""
|
|
398
|
+
return pulumi.get(self, "for_securable_type")
|
|
399
|
+
|
|
400
|
+
@for_securable_type.setter
|
|
401
|
+
def for_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
402
|
+
pulumi.set(self, "for_securable_type", value)
|
|
403
|
+
|
|
404
|
+
@_builtins.property
|
|
405
|
+
@pulumi.getter(name="matchColumns")
|
|
406
|
+
def match_columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]:
|
|
407
|
+
"""
|
|
408
|
+
Optional list of condition expressions used to match table columns.
|
|
409
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
410
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
411
|
+
"""
|
|
412
|
+
return pulumi.get(self, "match_columns")
|
|
413
|
+
|
|
414
|
+
@match_columns.setter
|
|
415
|
+
def match_columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]):
|
|
416
|
+
pulumi.set(self, "match_columns", value)
|
|
417
|
+
|
|
418
|
+
@_builtins.property
|
|
419
|
+
@pulumi.getter
|
|
420
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
421
|
+
"""
|
|
422
|
+
Name of the policy. Required on create and optional on update.
|
|
423
|
+
To rename the policy, set `name` to a different value on update
|
|
424
|
+
"""
|
|
425
|
+
return pulumi.get(self, "name")
|
|
426
|
+
|
|
427
|
+
@name.setter
|
|
428
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
429
|
+
pulumi.set(self, "name", value)
|
|
430
|
+
|
|
431
|
+
@_builtins.property
|
|
432
|
+
@pulumi.getter(name="onSecurableFullname")
|
|
433
|
+
def on_securable_fullname(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
434
|
+
"""
|
|
435
|
+
Full name of the securable on which the policy is defined.
|
|
436
|
+
Required on create and ignored on update
|
|
437
|
+
"""
|
|
438
|
+
return pulumi.get(self, "on_securable_fullname")
|
|
439
|
+
|
|
440
|
+
@on_securable_fullname.setter
|
|
441
|
+
def on_securable_fullname(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
442
|
+
pulumi.set(self, "on_securable_fullname", value)
|
|
443
|
+
|
|
444
|
+
@_builtins.property
|
|
445
|
+
@pulumi.getter(name="onSecurableType")
|
|
446
|
+
def on_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
447
|
+
"""
|
|
448
|
+
Type of the securable on which the policy is defined.
|
|
449
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
450
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
451
|
+
"""
|
|
452
|
+
return pulumi.get(self, "on_securable_type")
|
|
453
|
+
|
|
454
|
+
@on_securable_type.setter
|
|
455
|
+
def on_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
456
|
+
pulumi.set(self, "on_securable_type", value)
|
|
457
|
+
|
|
458
|
+
@_builtins.property
|
|
459
|
+
@pulumi.getter(name="policyType")
|
|
460
|
+
def policy_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
461
|
+
"""
|
|
462
|
+
Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
463
|
+
"""
|
|
464
|
+
return pulumi.get(self, "policy_type")
|
|
465
|
+
|
|
466
|
+
@policy_type.setter
|
|
467
|
+
def policy_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
468
|
+
pulumi.set(self, "policy_type", value)
|
|
469
|
+
|
|
470
|
+
@_builtins.property
|
|
471
|
+
@pulumi.getter(name="rowFilter")
|
|
472
|
+
def row_filter(self) -> Optional[pulumi.Input['PolicyInfoRowFilterArgs']]:
|
|
473
|
+
"""
|
|
474
|
+
Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
475
|
+
Required on create and optional on update. When specified on update,
|
|
476
|
+
the new options will replace the existing options as a whole
|
|
477
|
+
"""
|
|
478
|
+
return pulumi.get(self, "row_filter")
|
|
479
|
+
|
|
480
|
+
@row_filter.setter
|
|
481
|
+
def row_filter(self, value: Optional[pulumi.Input['PolicyInfoRowFilterArgs']]):
|
|
482
|
+
pulumi.set(self, "row_filter", value)
|
|
483
|
+
|
|
484
|
+
@_builtins.property
|
|
485
|
+
@pulumi.getter(name="toPrincipals")
|
|
486
|
+
def to_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
487
|
+
"""
|
|
488
|
+
List of user or group names that the policy applies to.
|
|
489
|
+
Required on create and optional on update
|
|
490
|
+
"""
|
|
491
|
+
return pulumi.get(self, "to_principals")
|
|
492
|
+
|
|
493
|
+
@to_principals.setter
|
|
494
|
+
def to_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
495
|
+
pulumi.set(self, "to_principals", value)
|
|
496
|
+
|
|
497
|
+
@_builtins.property
|
|
498
|
+
@pulumi.getter(name="updatedAt")
|
|
499
|
+
def updated_at(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
500
|
+
"""
|
|
501
|
+
(integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
|
|
502
|
+
"""
|
|
503
|
+
return pulumi.get(self, "updated_at")
|
|
504
|
+
|
|
505
|
+
@updated_at.setter
|
|
506
|
+
def updated_at(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
507
|
+
pulumi.set(self, "updated_at", value)
|
|
508
|
+
|
|
509
|
+
@_builtins.property
|
|
510
|
+
@pulumi.getter(name="updatedBy")
|
|
511
|
+
def updated_by(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
512
|
+
"""
|
|
513
|
+
(string) - Username of the user who last modified the policy. Output only
|
|
514
|
+
"""
|
|
515
|
+
return pulumi.get(self, "updated_by")
|
|
516
|
+
|
|
517
|
+
@updated_by.setter
|
|
518
|
+
def updated_by(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
519
|
+
pulumi.set(self, "updated_by", value)
|
|
520
|
+
|
|
521
|
+
@_builtins.property
|
|
522
|
+
@pulumi.getter(name="whenCondition")
|
|
523
|
+
def when_condition(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
524
|
+
"""
|
|
525
|
+
Optional condition when the policy should take effect
|
|
526
|
+
"""
|
|
527
|
+
return pulumi.get(self, "when_condition")
|
|
528
|
+
|
|
529
|
+
@when_condition.setter
|
|
530
|
+
def when_condition(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
531
|
+
pulumi.set(self, "when_condition", value)
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
@pulumi.type_token("databricks:index/policyInfo:PolicyInfo")
|
|
535
|
+
class PolicyInfo(pulumi.CustomResource):
|
|
536
|
+
@overload
|
|
537
|
+
def __init__(__self__,
|
|
538
|
+
resource_name: str,
|
|
539
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
540
|
+
column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
|
|
541
|
+
comment: Optional[pulumi.Input[_builtins.str]] = None,
|
|
542
|
+
except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
543
|
+
for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
544
|
+
match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
|
|
545
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
546
|
+
on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
547
|
+
on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
548
|
+
policy_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
549
|
+
row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
|
|
550
|
+
to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
551
|
+
when_condition: Optional[pulumi.Input[_builtins.str]] = None,
|
|
552
|
+
__props__=None):
|
|
553
|
+
"""
|
|
554
|
+
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
555
|
+
|
|
556
|
+
## Import
|
|
557
|
+
|
|
558
|
+
As of Pulumi v1.5, resources can be imported through configuration.
|
|
559
|
+
|
|
560
|
+
hcl
|
|
561
|
+
|
|
562
|
+
import {
|
|
563
|
+
|
|
564
|
+
id = "on_securable_type,on_securable_fullname,name"
|
|
565
|
+
|
|
566
|
+
to = databricks_policy_info.this
|
|
567
|
+
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
|
|
571
|
+
|
|
572
|
+
```sh
|
|
573
|
+
$ pulumi import databricks:index/policyInfo:PolicyInfo this "on_securable_type,on_securable_fullname,name"
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
:param str resource_name: The name of the resource.
|
|
577
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
578
|
+
:param pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
579
|
+
Required on create and optional on update. When specified on update,
|
|
580
|
+
the new options will replace the existing options as a whole
|
|
581
|
+
:param pulumi.Input[_builtins.str] comment: Optional description of the policy
|
|
582
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
|
|
583
|
+
:param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
|
|
584
|
+
Only `TABLE` is supported at this moment.
|
|
585
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
586
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]] match_columns: Optional list of condition expressions used to match table columns.
|
|
587
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
588
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
589
|
+
:param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
|
|
590
|
+
To rename the policy, set `name` to a different value on update
|
|
591
|
+
:param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
|
|
592
|
+
Required on create and ignored on update
|
|
593
|
+
:param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
|
|
594
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
595
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
596
|
+
:param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
597
|
+
:param pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
598
|
+
Required on create and optional on update. When specified on update,
|
|
599
|
+
the new options will replace the existing options as a whole
|
|
600
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
|
|
601
|
+
Required on create and optional on update
|
|
602
|
+
:param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
|
|
603
|
+
"""
|
|
604
|
+
...
|
|
605
|
+
@overload
|
|
606
|
+
def __init__(__self__,
|
|
607
|
+
resource_name: str,
|
|
608
|
+
args: PolicyInfoArgs,
|
|
609
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
610
|
+
"""
|
|
611
|
+
[](https://docs.databricks.com/aws/en/release-notes/release-types)
|
|
612
|
+
|
|
613
|
+
## Import
|
|
614
|
+
|
|
615
|
+
As of Pulumi v1.5, resources can be imported through configuration.
|
|
616
|
+
|
|
617
|
+
hcl
|
|
618
|
+
|
|
619
|
+
import {
|
|
620
|
+
|
|
621
|
+
id = "on_securable_type,on_securable_fullname,name"
|
|
622
|
+
|
|
623
|
+
to = databricks_policy_info.this
|
|
624
|
+
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
|
|
628
|
+
|
|
629
|
+
```sh
|
|
630
|
+
$ pulumi import databricks:index/policyInfo:PolicyInfo this "on_securable_type,on_securable_fullname,name"
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
:param str resource_name: The name of the resource.
|
|
634
|
+
:param PolicyInfoArgs args: The arguments to use to populate this resource's properties.
|
|
635
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
636
|
+
"""
|
|
637
|
+
...
|
|
638
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
639
|
+
resource_args, opts = _utilities.get_resource_args_opts(PolicyInfoArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
640
|
+
if resource_args is not None:
|
|
641
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
642
|
+
else:
|
|
643
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
644
|
+
|
|
645
|
+
def _internal_init(__self__,
|
|
646
|
+
resource_name: str,
|
|
647
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
648
|
+
column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
|
|
649
|
+
comment: Optional[pulumi.Input[_builtins.str]] = None,
|
|
650
|
+
except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
651
|
+
for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
652
|
+
match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
|
|
653
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
654
|
+
on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
655
|
+
on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
656
|
+
policy_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
657
|
+
row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
|
|
658
|
+
to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
659
|
+
when_condition: Optional[pulumi.Input[_builtins.str]] = None,
|
|
660
|
+
__props__=None):
|
|
661
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
662
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
663
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
664
|
+
if opts.id is None:
|
|
665
|
+
if __props__ is not None:
|
|
666
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
667
|
+
__props__ = PolicyInfoArgs.__new__(PolicyInfoArgs)
|
|
668
|
+
|
|
669
|
+
__props__.__dict__["column_mask"] = column_mask
|
|
670
|
+
__props__.__dict__["comment"] = comment
|
|
671
|
+
__props__.__dict__["except_principals"] = except_principals
|
|
672
|
+
if for_securable_type is None and not opts.urn:
|
|
673
|
+
raise TypeError("Missing required property 'for_securable_type'")
|
|
674
|
+
__props__.__dict__["for_securable_type"] = for_securable_type
|
|
675
|
+
__props__.__dict__["match_columns"] = match_columns
|
|
676
|
+
__props__.__dict__["name"] = name
|
|
677
|
+
__props__.__dict__["on_securable_fullname"] = on_securable_fullname
|
|
678
|
+
__props__.__dict__["on_securable_type"] = on_securable_type
|
|
679
|
+
if policy_type is None and not opts.urn:
|
|
680
|
+
raise TypeError("Missing required property 'policy_type'")
|
|
681
|
+
__props__.__dict__["policy_type"] = policy_type
|
|
682
|
+
__props__.__dict__["row_filter"] = row_filter
|
|
683
|
+
if to_principals is None and not opts.urn:
|
|
684
|
+
raise TypeError("Missing required property 'to_principals'")
|
|
685
|
+
__props__.__dict__["to_principals"] = to_principals
|
|
686
|
+
__props__.__dict__["when_condition"] = when_condition
|
|
687
|
+
__props__.__dict__["created_at"] = None
|
|
688
|
+
__props__.__dict__["created_by"] = None
|
|
689
|
+
__props__.__dict__["updated_at"] = None
|
|
690
|
+
__props__.__dict__["updated_by"] = None
|
|
691
|
+
super(PolicyInfo, __self__).__init__(
|
|
692
|
+
'databricks:index/policyInfo:PolicyInfo',
|
|
693
|
+
resource_name,
|
|
694
|
+
__props__,
|
|
695
|
+
opts)
|
|
696
|
+
|
|
697
|
+
@staticmethod
|
|
698
|
+
def get(resource_name: str,
|
|
699
|
+
id: pulumi.Input[str],
|
|
700
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
701
|
+
column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
|
|
702
|
+
comment: Optional[pulumi.Input[_builtins.str]] = None,
|
|
703
|
+
created_at: Optional[pulumi.Input[_builtins.int]] = None,
|
|
704
|
+
created_by: Optional[pulumi.Input[_builtins.str]] = None,
|
|
705
|
+
except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
706
|
+
for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
707
|
+
match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
|
|
708
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
709
|
+
on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
710
|
+
on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
711
|
+
policy_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
712
|
+
row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
|
|
713
|
+
to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
714
|
+
updated_at: Optional[pulumi.Input[_builtins.int]] = None,
|
|
715
|
+
updated_by: Optional[pulumi.Input[_builtins.str]] = None,
|
|
716
|
+
when_condition: Optional[pulumi.Input[_builtins.str]] = None) -> 'PolicyInfo':
|
|
717
|
+
"""
|
|
718
|
+
Get an existing PolicyInfo resource's state with the given name, id, and optional extra
|
|
719
|
+
properties used to qualify the lookup.
|
|
720
|
+
|
|
721
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
722
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
723
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
724
|
+
:param pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
725
|
+
Required on create and optional on update. When specified on update,
|
|
726
|
+
the new options will replace the existing options as a whole
|
|
727
|
+
:param pulumi.Input[_builtins.str] comment: Optional description of the policy
|
|
728
|
+
:param pulumi.Input[_builtins.int] created_at: (integer) - Time at which the policy was created, in epoch milliseconds. Output only
|
|
729
|
+
:param pulumi.Input[_builtins.str] created_by: (string) - Username of the user who created the policy. Output only
|
|
730
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
|
|
731
|
+
:param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
|
|
732
|
+
Only `TABLE` is supported at this moment.
|
|
733
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
734
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]] match_columns: Optional list of condition expressions used to match table columns.
|
|
735
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
736
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
737
|
+
:param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
|
|
738
|
+
To rename the policy, set `name` to a different value on update
|
|
739
|
+
:param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
|
|
740
|
+
Required on create and ignored on update
|
|
741
|
+
:param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
|
|
742
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
743
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
744
|
+
:param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
745
|
+
:param pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
746
|
+
Required on create and optional on update. When specified on update,
|
|
747
|
+
the new options will replace the existing options as a whole
|
|
748
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
|
|
749
|
+
Required on create and optional on update
|
|
750
|
+
:param pulumi.Input[_builtins.int] updated_at: (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
|
|
751
|
+
:param pulumi.Input[_builtins.str] updated_by: (string) - Username of the user who last modified the policy. Output only
|
|
752
|
+
:param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
|
|
753
|
+
"""
|
|
754
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
755
|
+
|
|
756
|
+
__props__ = _PolicyInfoState.__new__(_PolicyInfoState)
|
|
757
|
+
|
|
758
|
+
__props__.__dict__["column_mask"] = column_mask
|
|
759
|
+
__props__.__dict__["comment"] = comment
|
|
760
|
+
__props__.__dict__["created_at"] = created_at
|
|
761
|
+
__props__.__dict__["created_by"] = created_by
|
|
762
|
+
__props__.__dict__["except_principals"] = except_principals
|
|
763
|
+
__props__.__dict__["for_securable_type"] = for_securable_type
|
|
764
|
+
__props__.__dict__["match_columns"] = match_columns
|
|
765
|
+
__props__.__dict__["name"] = name
|
|
766
|
+
__props__.__dict__["on_securable_fullname"] = on_securable_fullname
|
|
767
|
+
__props__.__dict__["on_securable_type"] = on_securable_type
|
|
768
|
+
__props__.__dict__["policy_type"] = policy_type
|
|
769
|
+
__props__.__dict__["row_filter"] = row_filter
|
|
770
|
+
__props__.__dict__["to_principals"] = to_principals
|
|
771
|
+
__props__.__dict__["updated_at"] = updated_at
|
|
772
|
+
__props__.__dict__["updated_by"] = updated_by
|
|
773
|
+
__props__.__dict__["when_condition"] = when_condition
|
|
774
|
+
return PolicyInfo(resource_name, opts=opts, __props__=__props__)
|
|
775
|
+
|
|
776
|
+
@_builtins.property
|
|
777
|
+
@pulumi.getter(name="columnMask")
|
|
778
|
+
def column_mask(self) -> pulumi.Output[Optional['outputs.PolicyInfoColumnMask']]:
|
|
779
|
+
"""
|
|
780
|
+
Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
|
|
781
|
+
Required on create and optional on update. When specified on update,
|
|
782
|
+
the new options will replace the existing options as a whole
|
|
783
|
+
"""
|
|
784
|
+
return pulumi.get(self, "column_mask")
|
|
785
|
+
|
|
786
|
+
@_builtins.property
|
|
787
|
+
@pulumi.getter
|
|
788
|
+
def comment(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
789
|
+
"""
|
|
790
|
+
Optional description of the policy
|
|
791
|
+
"""
|
|
792
|
+
return pulumi.get(self, "comment")
|
|
793
|
+
|
|
794
|
+
@_builtins.property
|
|
795
|
+
@pulumi.getter(name="createdAt")
|
|
796
|
+
def created_at(self) -> pulumi.Output[_builtins.int]:
|
|
797
|
+
"""
|
|
798
|
+
(integer) - Time at which the policy was created, in epoch milliseconds. Output only
|
|
799
|
+
"""
|
|
800
|
+
return pulumi.get(self, "created_at")
|
|
801
|
+
|
|
802
|
+
@_builtins.property
|
|
803
|
+
@pulumi.getter(name="createdBy")
|
|
804
|
+
def created_by(self) -> pulumi.Output[_builtins.str]:
|
|
805
|
+
"""
|
|
806
|
+
(string) - Username of the user who created the policy. Output only
|
|
807
|
+
"""
|
|
808
|
+
return pulumi.get(self, "created_by")
|
|
809
|
+
|
|
810
|
+
@_builtins.property
|
|
811
|
+
@pulumi.getter(name="exceptPrincipals")
|
|
812
|
+
def except_principals(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
813
|
+
"""
|
|
814
|
+
Optional list of user or group names that should be excluded from the policy
|
|
815
|
+
"""
|
|
816
|
+
return pulumi.get(self, "except_principals")
|
|
817
|
+
|
|
818
|
+
@_builtins.property
|
|
819
|
+
@pulumi.getter(name="forSecurableType")
|
|
820
|
+
def for_securable_type(self) -> pulumi.Output[_builtins.str]:
|
|
821
|
+
"""
|
|
822
|
+
Type of securables that the policy should take effect on.
|
|
823
|
+
Only `TABLE` is supported at this moment.
|
|
824
|
+
Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
825
|
+
"""
|
|
826
|
+
return pulumi.get(self, "for_securable_type")
|
|
827
|
+
|
|
828
|
+
@_builtins.property
|
|
829
|
+
@pulumi.getter(name="matchColumns")
|
|
830
|
+
def match_columns(self) -> pulumi.Output[Optional[Sequence['outputs.PolicyInfoMatchColumn']]]:
|
|
831
|
+
"""
|
|
832
|
+
Optional list of condition expressions used to match table columns.
|
|
833
|
+
Only valid when `for_securable_type` is `TABLE`.
|
|
834
|
+
When specified, the policy only applies to tables whose columns satisfy all match conditions
|
|
835
|
+
"""
|
|
836
|
+
return pulumi.get(self, "match_columns")
|
|
837
|
+
|
|
838
|
+
@_builtins.property
|
|
839
|
+
@pulumi.getter
|
|
840
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
841
|
+
"""
|
|
842
|
+
Name of the policy. Required on create and optional on update.
|
|
843
|
+
To rename the policy, set `name` to a different value on update
|
|
844
|
+
"""
|
|
845
|
+
return pulumi.get(self, "name")
|
|
846
|
+
|
|
847
|
+
@_builtins.property
|
|
848
|
+
@pulumi.getter(name="onSecurableFullname")
|
|
849
|
+
def on_securable_fullname(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
850
|
+
"""
|
|
851
|
+
Full name of the securable on which the policy is defined.
|
|
852
|
+
Required on create and ignored on update
|
|
853
|
+
"""
|
|
854
|
+
return pulumi.get(self, "on_securable_fullname")
|
|
855
|
+
|
|
856
|
+
@_builtins.property
|
|
857
|
+
@pulumi.getter(name="onSecurableType")
|
|
858
|
+
def on_securable_type(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
859
|
+
"""
|
|
860
|
+
Type of the securable on which the policy is defined.
|
|
861
|
+
Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
|
|
862
|
+
Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
|
|
863
|
+
"""
|
|
864
|
+
return pulumi.get(self, "on_securable_type")
|
|
865
|
+
|
|
866
|
+
@_builtins.property
|
|
867
|
+
@pulumi.getter(name="policyType")
|
|
868
|
+
def policy_type(self) -> pulumi.Output[_builtins.str]:
|
|
869
|
+
"""
|
|
870
|
+
Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
|
|
871
|
+
"""
|
|
872
|
+
return pulumi.get(self, "policy_type")
|
|
873
|
+
|
|
874
|
+
@_builtins.property
|
|
875
|
+
@pulumi.getter(name="rowFilter")
|
|
876
|
+
def row_filter(self) -> pulumi.Output[Optional['outputs.PolicyInfoRowFilter']]:
|
|
877
|
+
"""
|
|
878
|
+
Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
|
|
879
|
+
Required on create and optional on update. When specified on update,
|
|
880
|
+
the new options will replace the existing options as a whole
|
|
881
|
+
"""
|
|
882
|
+
return pulumi.get(self, "row_filter")
|
|
883
|
+
|
|
884
|
+
@_builtins.property
|
|
885
|
+
@pulumi.getter(name="toPrincipals")
|
|
886
|
+
def to_principals(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
887
|
+
"""
|
|
888
|
+
List of user or group names that the policy applies to.
|
|
889
|
+
Required on create and optional on update
|
|
890
|
+
"""
|
|
891
|
+
return pulumi.get(self, "to_principals")
|
|
892
|
+
|
|
893
|
+
@_builtins.property
|
|
894
|
+
@pulumi.getter(name="updatedAt")
|
|
895
|
+
def updated_at(self) -> pulumi.Output[_builtins.int]:
|
|
896
|
+
"""
|
|
897
|
+
(integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
|
|
898
|
+
"""
|
|
899
|
+
return pulumi.get(self, "updated_at")
|
|
900
|
+
|
|
901
|
+
@_builtins.property
|
|
902
|
+
@pulumi.getter(name="updatedBy")
|
|
903
|
+
def updated_by(self) -> pulumi.Output[_builtins.str]:
|
|
904
|
+
"""
|
|
905
|
+
(string) - Username of the user who last modified the policy. Output only
|
|
906
|
+
"""
|
|
907
|
+
return pulumi.get(self, "updated_by")
|
|
908
|
+
|
|
909
|
+
@_builtins.property
|
|
910
|
+
@pulumi.getter(name="whenCondition")
|
|
911
|
+
def when_condition(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
912
|
+
"""
|
|
913
|
+
Optional condition when the policy should take effect
|
|
914
|
+
"""
|
|
915
|
+
return pulumi.get(self, "when_condition")
|
|
916
|
+
|